Scan Display Refresh

Three display surfaces show the scan output — the terminal, the README, and the website. All three have issues:

verdict PASSscore 15 / 15findings 4 (0 risk · 2 debt · 2 obs)duration 2h 18mrejection cycles 0shipped May 23, 2026

Pipeline timeline

Intent to proven code in 2h 18m across Think, Plan, Build, and Verify.

Think
30m
Plan
16m
Build
16m
Verify
7m

Assertion ledger

15 claims, each independently verified. Showing 8 — show all →

IDSaysMatcher
A001The terminal box right border aligns with the top border on projects with a shape badgeverifiedok
A002The terminal box right border aligns when the summary line is shorter than the box widthverifiedok
A003Long summary lines are truncated to fit inside the box instead of overflowingverifiedok
A004Package count is dropped from the summary when it would cause overflowverifiedok
A005The README scan example shows a monorepo project named inbox-zeroverifiedok
A006The README scan example includes a Surfaces sectionverifiedok
A007The README scan example shows database detection with model countsverifiedok
A008The README no longer uses the fictional my-saas-app projectverifiedok

Findings 4 total

debtpackages/cli/tests/commands/scan.test.tspromoted
A002 summary line assertion is vacuous when summaryLine is not found
debtpackages/cli/tests/commands/scan.test.tspromoted
A004 not_contains check gated by conditional — skipped if Prisma detection fails
obspackages/cli/tests/commands/scan.test.tsclosed
Stale @ana tags from previous contracts collide with current assertion IDs
obspackages/cli/src/commands/scan.tsclosed
Truncation uses Unicode ellipsis — single JS char but 3 UTF-8 bytes

Integrity seal

scopesha256:d19bdd8208b24...
contractsha256:daf0ce34a13dc...
plansha256:4399b9afaffca...
specsha256:c4a23ab354f21...
build-reportsha256:79dc5c9d58492...
build-datasha256:6b46dac774a82...
verify-reportsha256:e3e1c82ef6498...
verify-datasha256:c8a906ad6c832...
audit cmd$ ana proof audit scan-display-refresh   → all hashes match