Diff-Scoped Tag Search

Tag collision (INFRA-064) is the most recurring finding in the proof system — 7 instances across 7 runs. Every contract generates `A001`, `A002`, etc. After 25+ pipeline runs, test files accumulate `@ana A001` tags from dozens of different contracts. Pre-check matches any of them, producing false COVEREDs that degrade the signal.

verdict PASSscore 17 / 17findings 5 (0 risk · 2 debt · 3 obs)duration 21mrejection cycles 0shipped Apr 29, 2026surface cli

Pipeline timeline

Intent to proven code in 21m across Think, Plan, Build, and Verify.

Think
8m
Plan
8m
Build
6m
Verify
7m

Assertion ledger

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

IDSaysMatcher
A001Scoped search uses git diff output instead of reading file contentsverifiedok
A002Only added lines from the diff are searched for tagsverifiedok
A003Deleted lines in the diff are not searchedverifiedok
A004Only comment lines are searched for tagsverifiedok
A005String literals containing @ana tags do not produce false matchesverifiedok
A006Old tags from prior features do not produce false covered resultsverifiedok
A007New tags added on the feature branch are correctly detectedverifiedok
A008Tags in newly created test files are detectedverifiedok

Findings 5 total

obsclosed
Contract A016 value imprecise — says parsedMap.size equals 0 but implementation returns size 1 (entry with empty array) for deletion-only diffs
debtpackages/cli/tests/commands/verify.test.tsclosed
Four pre-existing @ana tags mislabeled for this contract's IDs — A005 on fallback test, A006 on UNVERIFIABLE test, A010 on formatted output test, A011 on UNVERIFIABLE message test
obspackages/cli/src/commands/verify.tsclosed
Comment filter only matches // and # — block comments (/* @ana A001 */) in added lines are silently ignored
obspackages/cli/src/commands/verify.tsclosed
No size guard on git diff output — very large diffs loaded entirely into memory before parsing
debtpackages/cli/tests/commands/verify.test.tsclosed
Substantial test setup duplication across 8 integration tests — each creates git repo, contract, hash, saves from scratch

Integrity seal

scopesha256:2b365e69f9ce2...
contractsha256:37cabad3bf6dc...
plansha256:94ecd908c8152...
specsha256:3c6c413f60418...
build-reportsha256:5382312bf69bf...
build-datasha256:fe0b6c289ea89...
verify-reportsha256:6a14b188f2ade...
verify-datasha256:f5530685ca069...
audit cmd$ ana proof audit diff-scoped-tag-search   → all hashes match