chore(governance): stamp nine merged ADRs Accepted + pin the invariant in smoke #114
Loading…
Reference in a new issue
No description provided.
Delete branch "chore/adr-status-governance"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes the governance gap surfaced three times during the Tier-S / assessment review.
The defect
Nine ADRs — 0254, 0256–0263 — were merged into
mainand left stampedProposed. Two carried an explicitratify-on-mergepredicate their own merge had already discharged, and ADR-0256 governsdeduction_serving_enabled, ratifiedTrueon 2026-07-24 and serving live traffic. The governance record asserted "not yet decided" about a decision already in force.Same asymmetry PR #113 found one file over in
workbench/api.py: the honest path degrades, the stale record lies. An unwritten ADR is a visible gap; aProposedone that is actually in force is a false statement.The stamps
Each records the actual ratifying act —
Accepted — ratified by Joshua Shay via <merge> (<sha>, <date>)— derived from the commit that added the file and verified an ancestor ofmain, not assumed. Merge authority is yours alone (AGENTS.md: no merge automation), so the merge is the ratifying act and naming it is traceable rather than decorative.da3447e91a6ccaf9; flag flipped separately at5dd618039405cf19/ #108dd2245a7/ #1095224b5e0/ #1112a82c8a3a8488e9c0ae54ebbNo ADR content changed. No flag changed. ADR-0262's stamp says so explicitly: accepting it does not enable
curriculum_serving_enabled, which staysFalsepending ratified volume — eleven bands re-measured today against the live loader, still 24×–73× short, identical to the S6 figures.The pin
tests/test_adr_status_governance.py, in thesmoke(pre-push) suite. Two independent invariants:ProposedADR. The flag → ADR mapping is derived by walkingcore/config.pyfor<name>: bool = Trueand reading ADR refs out of the preceding comment block — deliberately not a hand-written table, which would be the identical second-copy-of-a-closed-set defect ADR-0256's own arc just fixed.ratify-on-mergepredicate cannot coexist withProposed. Self-discharging — the file being onmainis the merge having happened.Plus
test_config_flag_parse_is_not_vacuous, because a derivation that silently parses zero flags would make every other assertion pass on an empty set.Binding scope today is exactly one flag/ADR pair (only 1 of 32 runtime bool flags is both default-True and ADR-citing). Narrow by construction, and it widens automatically the next time an earned path is ratified ON.
Two orphans registered in passing
tests/test_adr_index.py(5) andtests/test_ratification_ceremony.py(14) landed in #113 in no curated suite.fullis the directorytests/, so they ran there and nowhere that gates — 19 tests outside every gate, including the ceremony, the one mechanism that can move the curriculum-volume constraint. Registered intosmokeandteachingrespectively. Fifth instance of this shape (stale suite tuple, stale lane roster, masked lane pin, unregistered grounding label, now unregistered files).Deliberately not fixed
The 312-file ADR corpus has 27 unparseable status lines plus
draft/ratified/active/accepted.variants. A closed-vocabulary assertion would fail on ~35 pre-existing files and get muted orxfailed — and a muted gate reads as coverage. Scope is therefore exactly the load-bearing ADRs, failing loudly on any of those it cannot parse. The normalization sweep is recorded as an open item indocs/research/adr-status-governance-2026-07-25.md§6 and is a good delegation candidate: mechanical docs work with a test as its acceptance criterion.[Verification]: smoke 555 passed in 137.73s (236 baseline + 314 + 5, +1.2s runtime); governance pin 314 passed in 1.18s standalone and mutation-checked — reverting ADR-0256 to
Proposedfails both invariants independently (2 failed / 312 passed); orphans 19 passed;ruffclean. Pre-push gate green on the way out (deductive 285 passed / 50.29s). Canonical Python 3.12.13,uv sync --locked.Not merged, per standing policy.