Every ticket as the root of its provenance graph — goal, patch, approval, runs and (as the ticket-class build lands) mandate, manifestations, guarantees, journey, artifacts and children. Rendered through the <<<TicketGraphList>>> tag.
RFC (DEEP): why pair_loop.py rotted and how to make 'lost by omission' impossible — a standing capability-parity/equivalence gate for retiring any monolith
goal
CONTEXT: pair_loop.py rotted by ACCRETION — each requirement pushed more into one file until it structurally could not represent what it needed (a language is a MODULE, not an if-branch). peer_system fixed THIS instance via data-driven decomposition (registry.json languages{} as data; 'an endpoint is a row, not code'). But the retirement had NO mechanical safety net: nothing PROVED the successor preserved the subject's behavior — ORACLES.md's own admitted, unfilled equivalence hole (the live loop refuses to call the 7th contract function).
INVARIANT: a monolith may not be retired for a successor until a mechanical CAPABILITY-PARITY / EQUIVALENCE gate proves the successor covers the subject — so 'lost by omission' becomes IMPOSSIBLE, not merely audited after the fact.
INVESTIGATE:
(a) POST-MORTEM — why accretion won; what early signals (file size, 'add a branch not a module' pressure) were missed; the general shape of the trap.
(b) THE STANDING GATE — a feasible mechanical equivalence/parity oracle: what it can check, why the live loop currently refuses the 7th contract (ORACLES.md), and what would make it callable as a REQUIRED gate before any successor replaces a subject. Ticket A's MISSING list is this gate's first regression test-set.
(c) THE RULE — the process for retiring ANY future monolith so this cannot recur.
OUT OF SCOPE: the concrete what-is-missing-now inventory — that is TICKET A (#489). This ticket CONSUMES A's findings; it does not reproduce them.
DELIVERABLE: the post-mortem + the standing parity-gate design, as peer_system/docs/RFC-MONOLITH-RETIREMENT-GATE.md (or next RFC number), and a spawned build ticket to implement the gate. REFERENCES: ticket A #489 (its MISSING list is the gate's test-set); peer_system/docs/ORACLES.md; tournament/ (existing oracles); the crank discipline (blessing/gate patterns, crankd under refactor).
patch
none
approval
unapproved
runs
no runs recorded
mandate (clauses)
not yet recorded — lands with the ticket-class build
manifestations
not yet recorded — lands with the ticket-class build
guarantees
not yet recorded — lands with the ticket-class build
journey (blunders & successes)
not yet recorded — lands with the ticket-class build
artifacts (forge)
not yet recorded — lands with the ticket-class build