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.

Think
9m
Plan
9m
Build
26m
Verify
8m

Assertion ledger

21 claims, each independently verified. Showing 8 — show all →

IDSaysMatcher
A001Pre-check reports seal status only, with no per-assertion outputverifiedok
A002Pre-check with intact contract returns INTACT sealverifiedok
A003Pre-check with modified contract returns TAMPERED sealverifiedok
A004Pre-check result has no assertions arrayverifiedok
A005Pre-check result has no summary objectverifiedok
A006The diff comment parser is no longer exported from verifyverifiedok
A007Tag coverage imports are removed from verify moduleverifiedok
A008Saving a verify report stores only seal data in saves fileverifiedok

Findings 4 total

debtpackages/cli/tests/commands/verify.test.tsclosed
A006 @ana tag on wrong test — tagged on UNVERIFIABLE test (line 241) instead of parseDiffAddedCommentLines removal test
riskpackages/cli/src/commands/work.tsclosed
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.tsclosed
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.tsclosed
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