Remove Pre-Check Tag Coverage
Pre-check's tag coverage check is a broken trust layer that corrupts the proof chain. It greps test files for `@ana` tags to report COVERED/UNCOVERED per assertion — but after 33 builds, tag collision makes the signal unreliable (42% of entries have collision findings), and its COVERED/UNCOVERED output infiltrates the permanent record where Verify's independent judgment should be the authority. Two diseases, one root cause. The fix: remove the mechanism entirely, make Verify the sole source of assertion status, and let pre-check do the one job it does well — seal verification.
verdict PASSscore 16 / 21findings 4 (1 risk · 1 debt · 2 obs)duration 43mrejection cycles 0shipped Apr 30, 2026surface cli
Pipeline timeline
Intent to proven code in 43m across Think, Plan, Build, and Verify.
Think9m
Plan9m
Build26m
Verify8m
Assertion ledger
21 claims, each independently verified. Showing 8 — show all →
| ID | Says | Matcher | |
|---|---|---|---|
| A001 | Pre-check reports seal status only, with no per-assertion output | verified | ok |
| A002 | Pre-check with intact contract returns INTACT seal | verified | ok |
| A003 | Pre-check with modified contract returns TAMPERED seal | verified | ok |
| A004 | Pre-check result has no assertions array | verified | ok |
| A005 | Pre-check result has no summary object | verified | ok |
| A006 | The diff comment parser is no longer exported from verify | verified | ok |
| A007 | Tag coverage imports are removed from verify module | verified | ok |
| A008 | Saving a verify report stores only seal data in saves file | verified | ok |
Findings 4 total
debtpackages/cli/tests/commands/verify.test.ts→ closed
A006 @ana tag on wrong test — tagged on UNVERIFIABLE test (line 241) instead of parseDiffAddedCommentLines removal test
riskpackages/cli/src/commands/work.ts→ closed
No tests for UNVERIFIED fallback — A014-A018 verified by source inspection only; work.ts, pr.ts, proof.ts UNVERIFIED paths have zero test coverage
obspackages/cli/src/utils/proofSummary.ts→ closed
PreCheckData interface vestigial — retains assertions/covered/uncovered fields for reading old .saves.json but the code path that used them for assertion bootstrap is deleted
obspackages/cli/src/utils/proofSummary.ts→ closed
parseComplianceTable regex omits UNVERIFIED — regex at line 171 matches SATISFIED|UNSATISFIED|DEVIATED|UNCOVERED but not UNVERIFIED. Correct behavior since verify reports never contain UNVERIFIED rows, but the omission could confuse future maintainers who see UNVERIFIED in the type union
Integrity seal
scopesha256:249ea23ea5d12...
contractsha256:11c02b5dfd505...
plansha256:bf929f29463a8...
specsha256:60780beaaf907...
build-reportsha256:79a4e92a2c678...
build-datasha256:0c23fc33974bf...
verify-reportsha256:a581f24405de9...
verify-datasha256:ecaea87a4b8d9...
audit cmd$ ana proof audit remove-tag-coverage → all hashes match