Show Finding Details in CLI Output
The CLI renders `f.title` for every critical/warn finding but never renders `f.detail`. Three of four finding rules write meaningful detail text — methodology disclaimers, file:line locations, actionable explanations — that the founder never sees. The detail for the validation finding ("Routes using wrapper-based or middleware-based validation may not be detected") is the only visible qualification of a heuristic count, and it's invisible. Show the detail.
verdict PASSscore 10 / 10findings 4 (0 risk · 1 debt · 3 obs)duration 59mrejection cycles 0shipped May 26, 2026surface cli
Pipeline timeline
Intent to proven code in 59m across Think, Plan, Build, and Verify.
Think31m
Plan6m
Build6m
Verify6m
Assertion ledger
10 claims, each independently verified. Showing 8 — show all →
| ID | Says | Matcher | |
|---|---|---|---|
| A001 | Scan output shows detail text below each warning or critical finding | verified | ok |
| A002 | Detail text appears dimmed to distinguish it from the finding title | verified | ok |
| A003 | Findings without detail text show only the title line | verified | ok |
| A004 | Multi-line detail text renders each line separately | verified | ok |
| A005 | Validation finding explains its detection methodology in one line | verified | ok |
| A006 | Validation detail no longer contains a newline character | verified | ok |
| A007 | Validation detail still mentions wrapper-based detection limitation | verified | ok |
| A008 | Secret findings show their redacted match and file location as detail | verified | ok |
Findings 4 total
debtpackages/cli/src/engine/findings/rules/validation.ts→ closed
Validation detail text contains redundant repetition — 'checks imports in first 30 lines' appears twice in the same sentence
obspackages/cli/src/commands/scan.ts→ closed
formatHumanReadable exported solely for test access — increases public API surface
obspackages/cli/tests/commands/scan-finding-details.test.ts→ closed
A002 test verifies indentation but not chalk.gray ANSI styling — source inspection confirms gray is applied but test doesn't enforce it
obspackages/cli/tests/commands/scan-finding-details.test.ts→ closed
A003 test checks next line isn't detail-indented rather than counting output lines — functionally equivalent but diverges from contract's 'outputLines.length equals 1' framing
Integrity seal
scopesha256:20f5660cee79f...
contractsha256:df547c88834ae...
plansha256:e386463c95e52...
specsha256:f8d71d41cce33...
build-reportsha256:73bfc646db8d1...
build-datasha256:94bdbdc3b2226...
verify-reportsha256:628242bdc0309...
verify-datasha256:f60ca3a5144c7...
audit cmd$ ana proof audit show-finding-details → all hashes match