Fix Type Lies
The code says one thing but reality is different. Tests hardcode 4-5 agents when 6 exist — every new agent requires finding and updating 7 locations. A template gives the wrong filename for multi-phase builds, causing save failures. A type says `skill: string` but Commander makes it optional at runtime. A comment references a function that was deleted. A test asserts inside an `if` guard so it passes without checking. Six fixes. Each corrects a lie.
verdict PASSscore 14 / 17findings 4 (0 risk · 1 debt · 3 obs)duration 4h 10mrejection cycles 1shipped May 2, 2026surface cli
Pipeline timeline
Intent to proven code in 4h 10m across Think, Plan, Build, and Verify.
Think9m
Plan9m
Build227m
Verify13m
Assertion ledger
17 claims, each independently verified. Showing 8 — show all →
| ID | Says | Matcher | |
|---|---|---|---|
| A001 | Dogfood sync test checks all six agents, not a hardcoded subset | verified | ok |
| A002 | Dogfood sync test no longer contains a hardcoded four-agent array | verified | ok |
| A003 | A guard test verifies template directory contents match AGENT_FILES | verified | ok |
| A004 | Guard test compares sorted filesystem listing to sorted AGENT_FILES | verified | ok |
| A005 | Init test agent count uses AGENT_FILES.length instead of hardcoded 5 | verified | ok |
| A006 | Init template inventory generates agent entries from AGENT_FILES | verified | ok |
| A007 | Init test frontmatter validation iterates AGENT_FILES | verified | ok |
| A008 | Verify template re-verify cleanup mentions numbered verify_data file | verified | ok |
Findings 4 total
obspackages/cli/tests/utils/proofSummary.test.ts→ closed
Contract A014/A015 prescribed wrong fix — if (change.changed) guard is correct for test data that produces improving→improving (no direction change)
debtpackages/cli/tests/templates/agent-proof-context.test.ts→ closed
Dogfood sync test loop short-circuits on first failure, skipping remaining files — now covers 6 files instead of 4, making masking worse
obs→ closed
Contract A017 baseline stale — says >1777 but real baseline is 1761, branch is 1762 (+1 guard test)
obspackages/cli/tests/commands/init.test.ts→ closed
Init frontmatter branch groups ana-build, ana-verify, ana-learn together — assumes identical frontmatter, masks divergence if any agent changes
Integrity seal
scopesha256:48aec5a52a42b...
contractsha256:ce28c8bc3f83f...
plansha256:488024e61e748...
specsha256:e83996afca818...
build-reportsha256:7f23d9e4248be...
build-datasha256:72e1d2450cb32...
verify-reportsha256:8e2ebded3ff4c...
verify-datasha256:9ea64bdfc566c...
audit cmd$ ana proof audit fix-type-lies → all hashes match