Fleet Scoring Without Vanity Metrics
How fleet-score.mjs measures DNA, archetype fit, and lesson quality instead of page views.
Analytics on analytics.too.foo deliberately shows Cloudflare edge visits and explains why that number disagrees with RUM. The fleet scorecard applies the same honesty inward: node tools/fleet-score.mjs ranks apps on maintainability, not traffic.
Five dimensions
- DNA — tokens, header chrome, STATE.md, BaseLayout (with documented waivers).
- Archetype — learning apps need demos; reading apps need depth; sims need shareable state.
- Completeness —
lastTouched, glossary, OG tags. - Identity — featured apps carry higher expectations.
- Ops — live status, deploy path, recency.
Learning apps also get lesson DNA: Hook coverage, figure count, “What to try” on demos.
Why regress gates exist
A PR that bumps one app while silently lowering another is a fleet-wide loss. --write-baseline after intentional improvements; --regress on every merge.
The goal is not a vanity leaderboard — it is a queue (fleet-next.mjs) that tells the next agent exactly what mechanical work remains.