CLI Polish
The CLI is the product's front door. Every command's output — its tables, error messages, help text, and empty states — is a design surface. A developer runs `ana proof` and sees their slugs smashing into the PASS column. They type `ana -help` and get an error instead of help. They visit the CLI reference page and two commands are missing. These are polish gaps, not bugs — the CLI works correctly, but it doesn't feel finished. "Every character earns its place" means the table columns align, the error messages guide, and the documentation is complete.
verdict PASSscore 22 / 22findings 11 (0 risk · 4 debt · 7 obs)duration 1h 59mrejection cycles 0shipped May 24, 2026
Pipeline timeline
Intent to proven code in 1h 59m across Think, Plan, and 2 Build→Verify phases.
Think61m
Plan8m
Build 117m
Verify 18m
Build 29m
Verify 212m
Assertion ledger
22 claims, each independently verified. Showing 8 — show all →
| ID | Says | Matcher | |
|---|---|---|---|
| A001 | Long slugs in the proof list don't crash into adjacent columns | verified | ok |
| A002 | Every column in the proof list has at least a 2-character gap | verified | ok |
| A003 | Long slugs in the audit matrix recent proofs don't crash into the result column | verified | ok |
| A004 | Long file paths in health hot spots don't crash into the findings column | verified | ok |
| A005 | The proof detail box has a gap before the right border | verified | ok |
| A006 | The health box has a gap before the right border | verified | ok |
| A007 | Running ana -help shows help text instead of an error | verified | ok |
| A008 | Running ana -help includes the program description | verified | ok |
Findings 11 total
debtpackages/cli/tests/commands/proof.test.ts→ scope
A003 and A004 tests use conditional assertions — silently pass if section absent
debtpackages/cli/tests/commands/proof.test.ts→ scope
A005 assertion checks for any double space, not trailing gap before right border
debtpackages/cli/src/commands/proof.ts→ scope
Hot spots displayNames not truncated when exceeding maxWidth — padEnd passes through unchanged
obspackages/cli/tests/commands/proof.test.ts→ closed
A014 asserts toContain('--') which could match any -- in output, not surface-column-specific
obspackages/cli/src/index.ts→ closed
process.argv mutation for -help runs at module load time — side effect before Commander parses
+6more findings
Integrity seal
scopesha256:88d29c8810e46...
contractsha256:b2a545759d42c...
plansha256:9cca313af6bbc...
spec-1sha256:d8ddb70dcf768...
spec-2sha256:cf8c121644365...
build-report-1sha256:071c299e741e8...
build-data-1sha256:4ee05d25ccee1...
verify-report-1sha256:8351e86109846...
verify-data-1sha256:1d67c2a482d2c...
build-report-2sha256:e165f46428b12...
build-data-2sha256:52a25ac02fbfa...
verify-report-2sha256:35acfb89445e9...
verify-data-2sha256:ae8f3243849f1...
audit cmd$ ana proof audit cli-polish → all hashes match