SOP-04 — Source silence: did-not-answer and not-read

Owner: Owner-operator (Document Owner and Records Owner for every SOP; no delegate exists). Version 2026-10-09 · effective 2026-10-04 · reviewed every 90 days · last reviewed 2026-10-09 · next review due 2027-01-07.

Purpose

Make a source that could not be read visible on the receipt as a fact, never as an empty result.

Scope

Every check, every origin.

Procedure

  1. did_not_answer: the source exists and was attempted but returned an error, timeout, 429 or unparseable content. The check prints did_not_answer with the time; the receipt lists it in did_not_answer[]; a batch row is marked partial and retried after 24 h, up to the retry limit.
  2. not_read: the source is known but not read by policy or access (bot wall, registration, offline program). It is printed on every receipt and in Known Limits with the reason.
  3. Rate limits (SAM.gov quota, DOL 429) set a hold in db.*_api_state; while held, the check prints did_not_answer and does not retry into the limit.
  4. Sentinel raises source_silent_today when ≥5 receipts in a day have >50% did_not_answer; live_source_down_2h when a live endpoint fails 8 consecutive checks.
  5. No copy anywhere may describe a did_not_answer or not_read check as 'no results', 'clear' or 'none found'.
  6. Refused reads. A source whose robots.txt disallows automated reading, or that answers only behind a login, CAPTCHA or anti-automation control, is printed as 'not read — the source refuses automated reads' with the official link, dated. It is never bypassed, never read under a borrowed browser identity, and never written as 'no row'. Where the body publishes its own alerts or exports, the owner subscribes by hand and the subscription is recorded; a dated row is printed only from a published export.

Records this procedure produces — and who keeps them current

RecordWhereUpdated byUpdate triggerRetentionPublic
Per-receipt telemetryreceipt_registry.telemetrysystemevery receiptindefiniteTrue
API hold statedb.sam_api_state, db.dol_api_statesystemrate-limit responserollingTrue

Evidence

/unanswered · /api/public-record/known-limits · /audit

Change log

DateChange
2026-10-06Written as SOP.
2026-10-09Refused-read rule written down: costars.state.pa.us, emarketplace.state.pa.us, pennbid.bonfirehub.com and ohiobuys.ohio.gov all publish robots.txt Disallow: / (read 2026-10-09) → not read, official link printed, owner e-alerts. The legacy FedConnect read under a browser user-agent was retired the same day as a breach of this rule.

Quality Manual · All SOPs · Records Register