Delete backward-compatibility code
Delete all backward-compatibility and migration code from the codebase. Zero customers, zero installed base, zero reason to maintain migration paths. The only installation is our own dogfood, which is fully migrated. Every line of backward-compat code is solving a problem for nobody.
verdict PASSscore 20 / 21findings 4 (0 risk · 2 debt · 2 obs)duration 57mrejection cycles 0shipped Apr 30, 2026surface cli
Pipeline timeline
Intent to proven code in 57m across Think, Plan, Build, and Verify.
Think5m
Plan5m
Build26m
Verify27m
Assertion ledger
21 claims, each independently verified. Showing 8 — show all →
| ID | Says | Matcher | |
|---|---|---|---|
| A001 | Work complete no longer renames callouts to findings on existing entries | verified | ok |
| A002 | Work complete no longer backfills missing status on existing findings | verified | fail |
| A003 | Work complete no longer migrates severity values on existing findings | verified | ok |
| A004 | Work complete no longer backfills scope summary on existing entries | verified | ok |
| A005 | Work complete no longer removes seal_commit from existing entries | verified | ok |
| A006 | The reopen loop that reversed mechanical closures is deleted | verified | ok |
| A007 | No code checks closed_by to reopen findings | verified | ok |
| A008 | Finding parser only matches the Findings heading, not legacy Callouts | verified | ok |
Findings 4 total
debtpackages/cli/src/commands/work.ts→ closed
Stale comment references deleted reopen loop
obspackages/cli/tests/utils/proofSummary.test.ts→ closed
No negative test for Callouts heading rejection — parseFindings tests verify Findings works but don't assert Callouts is rejected
obs→ closed
11 of 21 contract assertions UNCOVERED — deletion specs with not_contains matchers lack natural test targets. Pre-check tag system doesn't model source-level absence checks.
debt→ closed
@ana tag ID collision across features — A001-A005, A014, A017-A021 flagged in unrelated test files (git-operations.test.ts, scanProject.test.ts, readme.test.ts). Per-feature namespacing would prevent false matches.
Integrity seal
scopesha256:5fbb8c6879675...
contractsha256:1dd1645bddd90...
plansha256:6aaf5d17f04ee...
specsha256:0bdcd115ce6af...
build-reportsha256:356a37b4d7a6c...
build-datasha256:cd16341ac7e17...
verify-reportsha256:aaee2e9d30372...
verify-datasha256:456689c7ae290...
audit cmd$ ana proof audit delete-backward-compat → all hashes match