Scan card redesign — shared render vocabulary + gated 'How your team writes' section

`ana scan` is the top-of-funnel surface — `npx anatomia-cli scan .`, no install, ten seconds, the first thing a newcomer ever sees and the asset the README GIF records. Two problems:

verdict PASSscore 19 / 19findings 4 (0 risk · 1 debt · 3 obs)duration 14h 15mrejection cycles 0shipped Jun 9, 2026surface cli

Pipeline timeline

Intent to proven code in 14h 15m across Think, Plan, Build, and Verify.

Think
76m
Plan
16m
Build
17m
Verify
8m

Assertion ledger

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

IDSaysMatcher
A001The scan card uses the same rounded header as the proof cardverifiedok
A002The old hand-rolled square box is gone from the scan cardverifiedok
A003Each section is introduced by a clean inset rule, not a bold label over dashesverifiedok
A004The card header aligns to a consistent widthverifiedok
A005The header's summary line aligns to the same widthverifiedok
A006A 'How your team writes' section appears, proving scan read the codeverifiedok
A007The card reports the team's naming styleverifiedok
A008The card reports the team's indentation styleverifiedok

Findings 4 total

debtpackages/cli/tests/commands/scan.test.tsscope
Stale @ana tags in scan.test.ts collide with this contract's assertion IDs
obsclosed
Contract A011 not_contains 'mixed' is a weak proxy — the fields that could render 'mixed' (imports.style, nullStyle.preference) are never rendered by the Conventions section regardless of the gate
obspackages/cli/src/utils/displayNames.tsclosed
Contract file_changes omitted packages/cli/src/utils/displayNames.ts, which the builder had to modify to satisfy A010 (getPatternLibrary returns lowercase 'zod'; A010 requires 'Zod')
obspackages/cli/src/utils/displayNames.tsacknowledge
Seven of eight new validation display-name entries (joi, yup, valibot, superstruct, ajv, pydantic, marshmallow) are unexercised — only 'zod' is reached. Consistent with the map's existing forward-coverage convention, low risk.

Provenance

Who ran what, and what it cost. Recomputable estimates from the shared price table — subordinate to the verdict, never gating.

model claude-opus-4-8
sessionturnstoolsinoutcachecost
ana1255114.7k88.1k6.1M$7.94
plan83386.4k38.3k3.6M$3.42
build148687.3k74.0k8.3M$7.10
verify77346.5k30.1k1.9M$2.28
TOTAL 4 sessions$20.74 (table 2026-06-14)
churn 5 files · +536/−86
completeness ✓ complete (plan 1/1 · build 1/1 · verify 1/1)

Integrity seal

scopesha256:ae525850360ff...
contractsha256:60ef1fe6e01b6...
plansha256:29a7a936e96f5...
specsha256:340fa8714b6b1...
build-reportsha256:bfd99fc381d42...
build-datasha256:5bdf43da71a24...
verify-reportsha256:fcf4f0f00fa5a...
verify-datasha256:ae4f48fbd688e...
audit cmd$ ana proof audit scan-card-redesign   → all hashes match