Health Display Polish
Make `ana proof health` match the design language of every other proof command. The data is correct — `computeHealthReport` is solid. The terminal display is debug output next to the proof card's designed surface. This is pure craft: box header, section dividers, truncated paths, one-line summaries, trend-first hierarchy. The developer who runs `ana proof health` should see a dashboard, not a data dump.
verdict PASSscore 29 / 29findings 5 (0 risk · 2 debt · 3 obs)duration 50mrejection cycles 0shipped May 1, 2026surface cli
Pipeline timeline
Intent to proven code in 50m across Think, Plan, Build, and Verify.
Think12m
Plan12m
Build18m
Verify21m
Assertion ledger
29 claims, each independently verified. Showing 8 — show all →
| ID | Says | Matcher | |
|---|---|---|---|
| A001 | Health output starts with a box-drawn header showing the command name | verified | ok |
| A002 | Health header shows the run count | verified | ok |
| A003 | Health header shows today's date | verified | ok |
| A004 | Trajectory section shows trend before risks per run | verified | ok |
| A005 | Trajectory condenses risks per run into a single line | verified | ok |
| A006 | Unclassified count appears as inline parenthetical only when greater than zero | verified | ok |
| A007 | Unclassified line is absent when count is zero | verified | ok |
| A008 | Hot module paths show basename instead of full path | verified | ok |
Findings 5 total
debtpackages/cli/src/commands/proof.ts→ closed
Inline import type for HealthReport instead of adding to existing type import at line 26
obspackages/cli/tests/commands/proof.test.ts→ closed
A029 asserts on source code content — matches contract target but violates testing-standards skill rule
obs→ closed
Contract A011 value '[obs' is substring of '[observation' — literal not_contains would always fail when observation-severity promote candidates exist
debtpackages/cli/src/commands/proof.ts→ closed
MAX_SUMMARY constant (100) defined twice in adjacent loops — could be extracted to function-level const
obspackages/cli/tests/commands/proof.test.ts→ closed
A019 not.toContain('Promote') works by coincidence — test data has no promoted findings so 'Promotions' heading also absent; a more targeted regex or exact heading match would be more robust
Integrity seal
scopesha256:22d844b4acfdc...
contractsha256:7327fdcdcc3ae...
plansha256:20c3619ac0f3d...
specsha256:0d17e5c75819f...
build-reportsha256:738fb47086dc9...
build-datasha256:cdc130a8f9cba...
verify-reportsha256:02ff68cc0d2f7...
verify-datasha256:3bf49c5e10aaf...
audit cmd$ ana proof audit health-display-polish → all hashes match