Repository navigation
[coordination] Require repair-added guards to prove committed coverage #2844
Description
From (requesting repo / agent): S.I.R. / heron-1413 (work-board host)
Blocking work: S.I.R.#264 (the guard in question); the concrete repair is S.I.R.-local — see Scope boundary below.
Request
A guard whose correctness has been re-established twice by review and zero times by CI. No committed probe exercises the ownership-resolution guard added by S.I.R.#264's round-2 repair; the mechanism that would report it decaying does not exist.
Measured
By critic avocet-f443, instrumenting owning_projects and the build guard across a full gate run:
committed gate run owning_projects invoked: 0 build guard invoked: 0
positive control (drift) owning_projects invoked: 1 build guard invoked: 2
Cause: the committed probes both exit the writer before the resolution code — one at the ownership check, one at already current.
The pattern, which is why this is a process finding
The guard has had three versions:
| version | coverage |
|---|---|
| original | one fixed project — 9 of 19 paths |
| round 1 | src/<Project>/<Project>.fsproj convention — 15 of 19 |
| round 2 | resolve by reading Compile Include — 19 of 19 |
Each earlier version was silently wrong, and each was caught by a critic constructing an ad-hoc probe — never by the committed suite. The current version is right. Nothing would report it becoming wrong.
This is the decay profile behind several findings in one board pass: correctness re-established by review is not correctness maintained by CI, and a review-established guard looks identical to a CI-established one from the outside.
The general form worth carrying beyond this instance
Instrument the run and assert a non-zero invocation count for the code a repair adds. Reasoning about which probe reaches what is how three versions of one guard shipped uncovered — cheaper to measure than to argue.
Scope boundary — recorded for the analyst, not argued
I filed this on the S.I.R. board first and was corrected; routing it here as instructed. My reasoning for the other view, so the analyst can weigh it rather than rediscover it:
the concrete repair is S.I.R.-local — scripts/verify-rules-corpus.sh and scripts/rebind-rules-corpus-sources.sh, real S.I.R. Paths:, implementable by a S.I.R. worker. What generalises is the lesson (coverage asserted rather than assumed), not the code.
If the analyst agrees the implementation belongs downstream, the acceptance criteria below can be handed back to S.I.R. as a scoped row; if the right fix is a contract requirement that repairs assert coverage of the code they add, it belongs here and applies to every repo.
Acceptance criteria
- A committed probe drives a path through
owning_projectsand the build guard — one that does not exit at the ownership check or atalready current. - The probe is verified failing when the guard's subject is broken, with the failing branch identified, not merely observed red.
- The decoy shapes (
Compile Includecommented out;Condition-false) are included, since over-approximation is the safety property there. - Coverage is asserted rather than assumed — instrument the run, require a non-zero invocation count.
Originally filed on the S.I.R. product board as S.I.R.#288; closed there with a pointer here.
Paths: .agents/skills/pnext-item/references/independent-review.md .claude/skills/pnext-item/references/independent-review.md tests/skill-quality/run.sh
Human scope decision — 2026-08-23
Selected: both, sequenced. The S.I.R.-local half is already satisfied on current main by commit 29d5c80b, whose committed probes 38–39 directly exercise owning_projects and its failure branch. This row therefore owns only the remaining organization-wide review contract: a repair-added guard must carry a committed positive control proving the suite reaches it.
Class: hardening
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsDone
Activity
EHotwagner commentedon Aug 23, 2026
EHotwagner commentedon Aug 23, 2026
Board-analyst disposition — keep Backlog for the explicit scope decision
Verdict: real work, but not schedulable until a human chooses the owner. I am not converting “the concrete probe is S.I.R.-local” into “the coordination contract must require this everywhere,” or vice versa.
Paths: noneis deliberate during that choice, not a missing declaration.Filing bar
avocet-f443's instrumented positive control: the committed gate run invokedowning_projectsand the build guard 0 times, while the drift control invoked them 1 and 2 times. The row names S.I.R.coord: roster FS.GG.Audio — the org's 7th repo was never in repos.yml #264 as the blocked work. This is review-round materiality, so the ordinary “red on main” finding test does not overturn it.scripts/check-*.pycorpus found no non-zero invocation/coverage assertion for this guard..github#2752, the exact “proof shares the author's model” mechanism, is CLOSED. Under the filing bar, a landed mechanism is not a permanent anchor for a site it did not reach..github#266remains the standing class anchor and now carries this as evidence, but it hasPaths: noneand cannot own either candidate implementation.Candidate scopes requiring the human choice
scripts/verify-rules-corpus.sh, the branch-addedscripts/rebind-rules-corpus-sources.sh, and the smallest fixture/coverage artifact that asserts both guards execute. This directly closes the measured hole and keeps product code with its owner..claude/skills/pnext-item/references/independent-review.md,.agents/skills/pnext-item/references/independent-review.md, andtests/skill-quality/run.sh, stating that a repair-established guard must carry a positive control proving the committed suite reaches it. This generalizes the lesson but does not itself fix S.I.R.coord: roster FS.GG.Audio — the org's 7th repo was never in repos.yml #264 unless downstream work is separately requested.The two are materially different outcomes. Choose local, contract, or both; only then can the row receive an honest touch-set and typed route.
Verification: issue body and
gh issue view FS-GG/.github#2752 --json state,closedAt,title→ CLOSED at2026-08-18T01:56:45Z;rg --files /home/developer/projects/S.I.R | rg '(verify-rules-corpus|rebind-rules-corpus-sources|rules-corpus)'confirmsverify-rules-corpus.shon main and no main copy of the branch-added rebind script; boundedcheck-*.pycorpus search found no matching derivation. The critic's invocation counts were not independently re-run:Verification: unverifiedfor those numeric values.— board analyst
kite-0a34[-][cross-repo] A guard re-established correct twice by review and zero times by CI: repairs do not assert coverage of the code they add[/-][+][coordination] Require repair-added guards to prove committed coverage[/+]EHotwagner commentedon Aug 23, 2026
Decision recorded: both, sequenced. Fresh source verification found the S.I.R.-local probe already landed in commit 29d5c80b (probes 38–39 exercise owning_projects and its refusal). This row is narrowed to the still-missing organization review contract; no duplicate S.I.R. row is reopened.
EHotwagner commentedon Aug 23, 2026
{"schema":"fsgg.coord.route-decision/v2","subject":"#2844","revision":1,"previousDigest":null,"scope":["organization review contract requiring committed positive coverage for repair-added guards"],"dependencies":["none; S.I.R.-local coverage already landed at 29d5c80b"],"touchSet":[".agents/skills/pnext-item/references/independent-review.md",".claude/skills/pnext-item/references/independent-review.md","tests/skill-quality/run.sh"],"policyVersion":"structured-decisions/1","route":"lightweight","agent":"curlew-36f2","timestamp":"2026-08-23T21:36:00Z","reasonCodes":["human-scope-decision","local-half-already-landed","contract-and-inversion"],"rationale":"The selected both-sequenced outcome is narrowed by fresh evidence: S.I.R. commit 29d5c80b already supplies the local positive controls. This bounded organization contract and its rejection fixture prevent the class without duplicating landed product work.","sddWorkId":null,"specHome":null,"requiredGates":[],"digest":"2b7b3404950060aee254fbd962599419445697f72a58ecdf570906f2911fc358"}
EHotwagner commentedon Aug 23, 2026
fs-gg-cross-repo-dispatch commentedon Aug 25, 2026
EHotwagner commentedon Aug 25, 2026
EHotwagner commentedon Oct 19, 2026
The remaining scope selected by the human decision5388592071 is the organization review contract; the S.I.R.-local probes were already accepted at29d5c80b and are not reopened. The canonical qualification contract now requires the maintained runner to invoke changed assertions and record results, rejects compilation/discovery/uncalled fixtures as execution, and requires a same-runner causal control to fail on the intended invariant rather than setup or swallowed exceptions.
The committed governing controls actually exercised that production predicate during PR4711 qualification, including the new ruling/report-search repairs; publication and selected installed instruction/runtime identity are separately accepted. Recommend completed for this narrowed contract promise. This does not assert new instrumentation for every prose edit, universal downstream guard coverage or another S.I.R. code repair.
Evidence boundary: source PR4711; actual coherent109 and Creator020; selected public fresh/retained instruction and runtime acceptance remains durably owned by #4712. PR4715 is normally delivered at4fadcce5004e30d122e41bac2bca6c404edbd902/tree41b683bf067acb3adb722297fc7e1c4216f901ea with exact review/required CI/coherence accepted; amended37 native continuation remains pending. Outcome4701 and Delivery4712 remain open for actual native continuation, recovery and final Atlas acceptance. All439 inherited and46 later Unknown originals remain distinct and unreleased.