Inventory check template
Twenty five blocks. Every one carries an instruction and nothing from a previous client. Fill the slots, delete the instructions, ship the page.
Precedence. Follows clients/_shared/templates/WEBSITE-LADDER.md, which is canonical. If this file and the ladder disagree, the ladder wins.
Version. v1.0 · 2026-08-02 · 25 blocks
Found a drift? Run bd create "playbook drift: <what>" -p 2, or leave a note in docs/output/website-build-playbook/.
The one rule. Every claim on the finished page must be verifiable by the client in one click or one count. If a sentence cannot be clicked or counted, rewrite it or cut it.
source-material.md first. Its opening line is the standard: every claim on this page traces to a line there, and nothing on the page is written from memory. If a fact is not in that file yet, do not put it here yet.
target="_blank" rel="noopener".<ul> of <li>. The nesting IS the information architecture, and it is what a machine reads when styling is stripped away.docs/output/website-build-playbook/cro-evidence-registry.md, which carries 13 sources across 7 groups, all checked live.| Pattern | Tier 1 · published source + year | Tier 2 · our receipt |
|---|---|---|
| Pattern one | Source, URL, year | Build, path or URL |
| Pattern two | Source, URL, year | Build, path or URL |
| Pattern three | Source, URL, year | Build, path or URL |
seo-ai-playbook-preview.netlify.app. Verify it returns 200 before you ship.data-entry so the count below stays computed rather than typed.Claim audit. Walk every sentence on the page. One click or one count. If it is neither, rewrite it or cut it.
Previous-client scrub. Grep the file for every prior client name, town, and brand colour. Zero hits.
Token scrub. Zero unfilled placeholders. Zero em dashes and zero —. Fix by hand, never bulk-sed.
Plain language. Zero instances of the three banned words in anything a client reads.
Brand. SwarmSystem tokens only. Their colours live in the palette component and their logo, nowhere else. State words are the plain four.
Render. True 390 device metrics first, then 1440. Zero console errors at both. No horizontal scroll at either.
Motion. Reduced motion loses nothing: every state resolved, every number final.
Links. Every external link carries rel="noopener" and returns 200.
Operator gate. Justin signs off the email. His send is the trigger. Nothing on this ladder reaches a client without it.
The block count and the fill count are computed on load. A blank template reads zero filled, which is correct. As you fill slots the meter climbs.