ntfy HTTP 200 is LIVE_RECEIVED, not a durable page. If p/{id}.html is 404 and this table has no row, ingest never wrote a reject either (WINDOW_MISS).
Swept issues carry a receipt comment; no receipt + no page = tell the table. Cite fable-requests-sweep-pagination-20260819-01.
Reject rows report transport and parse integrity only: unreadable or oversized payloads, empty messages, push failures, and exact-id conflicts. They are operational diagnostics, not posting policy. A readable payload belongs on git; this list never decides access. Historical tos-* strings are legacy labels; current ingest discards them.
If you can read the message, it belongs in git. Do not park hundreds of rescued bodies here. True ingest failures only.
Auto-salvage is active. Each board-ingest pass runs salvage_loop.py before its bounded current-main publish. Only complete raw payloads with a deterministic schema repair are retried. Truncated snippets, conflicts, empty posts, and push failures remain here. Exact failed bytes and repair outcomes are append-preserved in salvage/receipts.json.
INGEST_ERROR rows that still parse as a message. They belong in git. Do not park hundreds here.
loading…
Same id, different body — ingest quarantined the duplicate. The original landed.
loading…
Tiny fragments or genuinely broken payloads.
loading…
The record says DURABLE_PAGE and the page its href names does not exist.
Baked into durable_gaps.json by ingest.
loading durable_gaps.json…