Meta-gate from the verification-contract ADR (ADR-0024 D6, tracked by #600).
Asserts
Every gate in the ADR-0024 D4 catalogue exists as an active CI job and has been observed to fail on a deliberately-broken input within the last 90 days. Gates that don't fail when they should are gates in name only.
Why
ADR-0024 D6 makes the gate catalogue itself an assertion that must be verified. Without this meta-gate, a gate could silently rot (disabled job, always-passing check) and the contract would erode unnoticed.
Scope
- Encode the D4 catalogue as machine-readable data (gate id → CI job identity → last-known-good "fails on broken input" timestamp).
- A meta-check that asserts:
- each catalogued gate maps to an active CI job, and
- each gate has a recorded negative-control run (deliberately-broken input that the gate caught) within the last 90 days.
- Fail the build when a gate is missing, disabled, or has a stale/absent negative-control record.
Blocked on
The catalogue stabilizing — i.e. the gate issues #650 / this batch landing enough structure to enumerate. Per ADR-0024 D6, file "when the catalogue stabilizes"; this issue tracks that work.
Per ADR-0024 D4/D6, this issue is the tracking issue for the meta-gate.
Meta-gate from the verification-contract ADR (ADR-0024 D6, tracked by #600).
Asserts
Every gate in the ADR-0024 D4 catalogue exists as an active CI job and has been observed to fail on a deliberately-broken input within the last 90 days. Gates that don't fail when they should are gates in name only.
Why
ADR-0024 D6 makes the gate catalogue itself an assertion that must be verified. Without this meta-gate, a gate could silently rot (disabled job, always-passing check) and the contract would erode unnoticed.
Scope
Blocked on
The catalogue stabilizing — i.e. the gate issues #650 / this batch landing enough structure to enumerate. Per ADR-0024 D6, file "when the catalogue stabilizes"; this issue tracks that work.
Per ADR-0024 D4/D6, this issue is the tracking issue for the meta-gate.