The archive.today provider surfaces a never-captured URL as a provider failure. GET https://archive.is/timemap/ answers 404 exactly when the URL has zero snapshots ever, and fetchMementos (src/providers/archive-today.ts) lets that 404 throw, so the listing result carries error=[GET] ".../timemap/...": 404 Not Found next to 0 snapshot(s).
Repro: provider=archiveToday listing for a URL archive.today has never captured (e.g. an onetimesecret secret URL) returns the error envelope; control: the same call for https://github.com/ returns 200 with memento links.
On archive.today a 404 timemap is the authoritative zero-captures answer, not an outage signal. Returning it in the error channel makes the result ambiguous with real failures (network, rate limit, auth) and forces a control probe before every empty can be trusted.
This is the same shape issue #38 fixed for Common Crawl (PR #41): recognize the specific no-capture response and return an empty success, keep every other 404 as an error. commoncrawl.ts already has isNoCapturesError for that pattern; archive-today.ts needs the same mapping, with tests extending test/providers/archive-today.test.ts.
Observed 2026-09-04 on 0.5.4: three never-captured URLs each required a github.com control probe before the empty result could be classified.
The archive.today provider surfaces a never-captured URL as a provider failure. GET https://archive.is/timemap/ answers 404 exactly when the URL has zero snapshots ever, and fetchMementos (src/providers/archive-today.ts) lets that 404 throw, so the listing result carries error=[GET] ".../timemap/...": 404 Not Found next to 0 snapshot(s).
Repro: provider=archiveToday listing for a URL archive.today has never captured (e.g. an onetimesecret secret URL) returns the error envelope; control: the same call for https://github.com/ returns 200 with memento links.
On archive.today a 404 timemap is the authoritative zero-captures answer, not an outage signal. Returning it in the error channel makes the result ambiguous with real failures (network, rate limit, auth) and forces a control probe before every empty can be trusted.
This is the same shape issue #38 fixed for Common Crawl (PR #41): recognize the specific no-capture response and return an empty success, keep every other 404 as an error. commoncrawl.ts already has isNoCapturesError for that pattern; archive-today.ts needs the same mapping, with tests extending test/providers/archive-today.test.ts.
Observed 2026-09-04 on 0.5.4: three never-captured URLs each required a github.com control probe before the empty result could be classified.