Public-surface honesty touch-ups
Three honesty touch-ups on Anatomia's public surface — two corrections and one documentation gap. A product whose entire pitch is *"verified over trusted"* cannot ship a surface that overclaims. Each fix removes a statement the code doesn't honor; none touch legitimate marketing.
verdict PASSscore 4 / 4findings 5 (0 risk · 1 debt · 4 obs)duration 1h 32mrejection cycles 0shipped Jun 17, 2026surface website
Pipeline timeline
Intent to proven code in 1h 32m across Think, Plan, Build, and Verify.
Think43m
Plan9m
Build12m
Verify6m
Assertion ledger
4 claims, each independently verified.
| ID | Says | Matcher | |
|---|---|---|---|
| A001 | The verifier chip describes Verify as fault-finding, not as a machine that computes the verdict | verified | ok |
| A002 | The 'Mechanical, not vibes' section title is left unchanged | verified | ok |
| A003 | The 'No LLM grades its own code' line is left unchanged | verified | ok |
| A004 | The manifesto's 'you read the chain' line is left unchanged | verified | ok |
Findings 5 total
debt.ana/context/project-context.md→ closed
Fix 1 replaces a false CI claim but introduces another — 'coverage gates' is not honored by CI. test.yml:63 runs `pnpm vitest run` with no --coverage flag, and vitest.config.ts defines thresholds but never sets coverage.enabled:true, so coverage thresholds are dormant in CI. The phrase was prescribed verbatim by scope+spec (AC1), so the fix belongs upstream, not in Build.
obs→ closed
Contract A004 value 'You don' is a weak substring (matches 'You donate...' as readily as 'You don't'). The guard test wisely over-delivers — it also asserts 'have to trust the model. You read the chain.' — but the contract's pinned value itself is low-bar. Future contracts should pin a more distinctive substring.
obswebsite/lib/proof-feed.ts→ acknowledge
Pre-existing lint warnings in website (formatAge unused in components/hero or lib/proof-feed; 'latest' unused). 0 errors, gate passes. NOT introduced by this build — the four changed files contain neither symbol. Recorded so the next engineer doesn't attribute them to this change.
obswebsite/lib/copy.ts→ monitor
Proof context shows two still-present concerns on website/lib/copy.ts from prior cycles: manifesto outbound link points to /#pipeline (no longer exists), and proofFeed copy references clickable rows that are no longer clickable. This build does not touch either — still present, out of scope here.
obswebsite/content/docs/concepts/contract.mdx→ acknowledge
Fix 3 docs section summarizes the coverage-gate activation as 'on a scope whose criteria it can parse', folding in the underlying '>=1 recovered AC' condition rather than enumerating it. This is per explicit spec instruction (do not overstate the gate). Accurate and deliberately terse — noted, not a defect.
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
| session | turns | tools | in | out | cache | cost |
|---|---|---|---|---|---|---|
| ana | 44 | 22 | 7.2k | 15.8k | 896.6k | $1.15 |
| plan | 58 | 22 | 7.3k | 25.1k | 1.1M | $1.54 |
| build | 113 | 51 | 7.9k | 25.3k | 3.1M | $2.64 |
| verify | 59 | 28 | 7.4k | 21.5k | 1.1M | $1.54 |
| TOTAL 4 sessions | $6.87 (table 2026-06-14) | |||||
churn 3 files · +48/−1
completeness ✓ complete (plan 1/1 · build 1/1 · verify 1/1)
Session attestation
How each agent session behaved, coverage-aware. Evidence, not a gate — unverifiable is honest abstention, not a failure.
core v0.4.0 · framework anatomia
plan · 10 claims
1 satisfied · 0 violated · 9 unverifiable
coverage 1/10 checked · 9 unverifiable
⚠ ana-plan:skill:testing-standards unverifiable (absent-signal)
⚠ contract:file-scope:.ana/context/project-context.md unverifiable (channel-coverage-incomplete)
⚠ contract:file-scope:website/lib/copy.ts unverifiable (channel-coverage-incomplete)
mandate sha256:054914fa66… · transcript sha256:21e18802ab…
⚠ incomplete coverage
build · 10 claims
1 satisfied · 1 violated · 8 unverifiable
coverage 2/10 checked · 8 unverifiable
⚠ ana-build:verify-independence violated (predicate-not-matched)
⚠ contract:file-scope:.ana/context/project-context.md unverifiable (channel-coverage-incomplete)
⚠ contract:file-scope:website/lib/copy.ts unverifiable (channel-coverage-incomplete)
mandate sha256:76f18626e6… · transcript sha256:f88a7e2416…
⚠ incomplete coverage
verify · 13 claims
4 satisfied · 0 violated · 9 unverifiable
coverage 4/13 checked · 9 unverifiable
⚠ ana-verify:verify-independence unverifiable (channel-coverage-incomplete)
⚠ contract:file-scope:.ana/context/project-context.md unverifiable (channel-coverage-incomplete)
⚠ contract:file-scope:website/lib/copy.ts unverifiable (channel-coverage-incomplete)
mandate sha256:bf3e30d85d… · transcript sha256:708b9a5035…
⚠ incomplete coverage
verdict veto: not applied — verify did not read build_report.md
veto is forward-only; pre-veto verdicts were self-reported.
Integrity seal
scopesha256:44d42177896ff...
contractsha256:b7e14c7148b07...
plansha256:71ff92f086fae...
specsha256:019fab4d369ad...
build-reportsha256:ad4df1e6559b8...
build-datasha256:9b9cd416505de...
verify-reportsha256:fabd5e0396813...
verify-datasha256:101f703c98bee...
audit cmd$ ana proof audit public-surface-honesty → all hashes match