Module amnesty

Module amnesty 

Source
Expand description

2026-09-26: Content-pinned amnesty: a table of paths whose exact blob at the head excuses them from invalidating gate records.

check_paths::invalidating_paths drops a changed path only when excused says the path is listed in ONE_TIME_AMNESTY and its blob at the head is the pinned 40-hex OID; each drop is logged with tracing::warn!. Any later edit changes the OID, so the path invalidates again. The production table is empty, so today nothing is excused.

This file is in coverage::BOUNDARY_FILES: editing it re-opens every gate.

Owner: bench gate. Invariants:

  • excused_by returns true only when the path is listed and git reports exactly the pinned 40-hex OID for <head>:<path>; every git failure is false.

Structs§

AmnestyEntry
2026-09-26: One excused path: the file, the exact blob its grant covers, and why.

Constants§

AMNESTY_EPOCH
2026-09-26: 2026-08-30T00:00:00Z. A record counts as fresh for the expiry test only when its recorded_at is later than this.
ONE_TIME_AMNESTY
2026-09-26: The production amnesty table. It is empty.

Functions§

excused
2026-09-26: Whether ONE_TIME_AMNESTY excuses path at head.
excused_by
2026-09-26: excused against an explicit table, so tests can pin real OIDs.