Dynamic marketing stats — wire command count and version fallback
The marketing site hardcodes product stats in `copy.ts` that the docs data pipeline already computes dynamically. Every new command or version bump requires a manual edit to marketing copy that nobody remembers to do — and the numbers have already drifted (copy says "26 commands" but extraction counts 32; VERSION_FALLBACK says "v1.1.0" but build-meta says "1.0.2").
verdict PASSscore 12 / 12findings 7 (1 risk · 2 debt · 4 obs)duration 2h 11mrejection cycles 0shipped May 16, 2026surface website
Pipeline timeline
Intent to proven code in 2h 11m across Think, Plan, Build, and Verify.
Think1m
Plan4m
Build8m
Verify4m
Assertion ledger
12 claims, each independently verified. Showing 8 — show all →
| ID | Says | Matcher | |
|---|---|---|---|
| A001 | The marketing command count returns the real number from extraction data | verified | ok |
| A002 | Missing extraction data falls back to the previous hardcoded count | verified | ok |
| A003 | Malformed extraction data falls back safely | verified | ok |
| A004 | The marketing version reads from build metadata with a v prefix | verified | ok |
| A005 | Missing build metadata falls back to the previous hardcoded version | verified | ok |
| A006 | The specStrip renders the dynamic command count instead of the stale number | verified | ok |
| A007 | The CLI drawer shows the dynamic command count in its metadata | verified | ok |
| A008 | The man page shows the correct number of additional commands | verified | ok |
Findings 7 total
riskwebsite/lib/marketing-stats.ts→ closed
getMarketingVersion produces 'vundefined' when BuildMeta has undefined version field
obswebsite/lib/proof-feed.ts→ monitor
VERSION_FALLBACK evaluated at module load time — single-shot, no retry on transient readFileSync failure
debtwebsite/components/system/Drawer.tsx→ scope
Drawer moreCount has no floor guard — commandCount < 6 produces negative display
obswebsite/lib/marketing-stats.ts→ closed
Two separate imports from same module instead of combined destructured import
debtwebsite/lib/__tests__/marketing-stats.test.ts→ closed
vundefined test documents a real gap but accepts broken output as expected behavior
+2more findings
Integrity seal
scopesha256:4da7316b61e68...
contractsha256:1ebf1cb8e486d...
plansha256:f7a74242e6fab...
specsha256:8eae9b927c93c...
build-reportsha256:c9476b87183e9...
build-datasha256:adac5334ae94b...
verify-reportsha256:0c45791d4504a...
verify-datasha256:8e111ef1c8af9...
audit cmd$ ana proof audit dynamic-marketing-stats → all hashes match