Clean proofSummary.ts
`proofSummary.ts` is the hottest file in the system — 1865 lines, 8 active findings, touched by 7 pipeline runs. It carries a dead predecessor function (86 lines, zero production callers), a loose type that hides behind a cast, and a path-matching bug that produces false positives in monorepos. Three independent fixes, one file, the diff mostly red. Clean the file every pipeline run reads.
verdict PASSscore 15 / 15findings 5 (0 risk · 2 debt · 3 obs)duration 3h 44mrejection cycles 0shipped May 2, 2026surface cli
Pipeline timeline
Intent to proven code in 3h 44m across Think, Plan, Build, and Verify.
Think8m
Plan8m
Build208m
Verify8m
Assertion ledger
15 claims, each independently verified. Showing 8 — show all →
| ID | Says | Matcher | |
|---|---|---|---|
| A001 | The dead generateActiveIssuesMarkdown function is removed from the codebase | verified | ok |
| A002 | The dead ProofChainEntryForIndex interface is removed | verified | ok |
| A003 | The dead MAX_ACTIVE_ISSUES constant is removed | verified | ok |
| A004 | FindingWithFeature interface is preserved for generateDashboard | verified | ok |
| A005 | The dashboard function is unchanged except for a comment update | verified | ok |
| A006 | Proof result type only allows PASS, FAIL, or UNKNOWN — not any string | verified | ok |
| A007 | The parseResult function return type matches the tightened union | verified | ok |
| A008 | The type cast workaround in work.ts is no longer needed | verified | ok |
Findings 5 total
debtpackages/cli/src/utils/proofSummary.ts→ closed
Redundant `stored === queried` in both-directories guard — exact match already caught at line 1641
obspackages/cli/src/utils/proofSummary.ts→ closed
`as 'PASS' | 'FAIL'` cast in parseResult relies on regex constraint, not type-level proof — safe but brittle if regex changes
debtpackages/cli/tests/utils/proofSummary.test.ts→ closed
A010-A012 use toBeGreaterThan(0) instead of toBe(1) — each test creates exactly one finding, so the specific count is known
obspackages/cli/src/utils/proofSummary.ts→ closed
fileMatches `includes('/')` treats `./census.ts` as directory-qualified — theoretical false negative for dot-slash prefixed paths
obs→ closed
Stale finding 'fileMatches overmatch on same-basename different-directory paths' likely resolved by this build
Integrity seal
scopesha256:a62947b834502...
contractsha256:4d40ab536982c...
plansha256:7dc8d2713815d...
specsha256:c84b0a26d8e9f...
build-reportsha256:0f071498ccbb9...
build-datasha256:0496c0947c517...
verify-reportsha256:bac2fcd4dc31c...
verify-datasha256:83e16e629825e...
audit cmd$ ana proof audit clean-proofsummary → all hashes match