Skip to content

docs: sync DESIGN.md and CLAUDE.md to what actually ships - #46

Merged
utsengar merged 1 commit into
mainfrom
design-doc-sync
Aug 23, 2026
Merged

docs: sync DESIGN.md and CLAUDE.md to what actually ships#46
utsengar merged 1 commit into
mainfrom
design-doc-sync

Conversation

@utsengar

Copy link
Copy Markdown
Owner

Docs only — no code changes, so nothing to test on the preview. Worth reading rather than skimming the diff, since the structure changed.

Why

The landing redesign (#44) left both docs describing a page that no longer exists: pure white, left-aligned 720px, memo-as-hero, traffic lights on the prompt block, an accent-coloured word in the headline.

That's the same drift that bit us before — during the slop audit I trusted DESIGN.md, concluded "the status-dot pulse is stale, no such animation exists," and shipped that wrong claim in a PR description. The doc had described a feature that hadn't landed yet.

What changed

The doc is now organised around the fact that there are two systems, not one:

  • New §0 states the split up front, with a table and the rule for telling them apart: .l* / body.landing is landing-only; every unprefixed rule still reaches /verify and the viewer.
  • §1 keeps "document, not a marketing site" for the app chrome, and explains why the landing stopped following it — including that fixing it by subtraction made it worse. Austerity is not professionalism.
  • §3 adds the radius scale, the syntax tokens, the landing tokens, and names the only two gradients that exist plus why each is load-bearing rather than decorative.
  • §5 documents what actually shipped: landing nav, action block, primary CTA, works-with strip, evidence frame, onboard block. §5.2 records why the memo left the landing.
  • §6 carries both page anatomies, the four questions a fold has to answer, the footer margin-collapse trap, and the headless-Chrome-clamps-to-500px gotcha.
  • §7 generalises "no fake mac chrome" into "no fake output of any kind", and adds the don'ts learned the hard way.
  • New §9 Copy. The doc had no copy section at all — which is how the fold shipped with no call to action on it. Records voice, word budgets measured off Vercel/Linear/Resend, and the rule that claims must be checkable.
  • New §13 Known drift, with every claim verified against code.

Two corrections I caught by checking instead of trusting my notes

1. I first wrote that the live-pulse was retired. It isn't. It still animates on /verify and the viewer via pageHead() — it only left the landing because the landing stopped using that component. §7 now carries a table of what actually animates where, and flags this as something that should go.

2. I first wrote that "open source" is claimed in the nav and footer. The redesign happened to remove it from both. It survives in /llms.txt (discoverability.ts:156), and there's still no LICENSE file, so the claim is still unbacked — just not where I'd said it was, twice.

§13 verified findings

Status
live-pulse still running on /verify + viewer should be retired
~14 dead CSS classes (.hero, .prompt*, .term-*, .copy-cta, …) safe to delete; wants its own PR
"Open source" in /llms.txt, no LICENSE anywhere needs a decision from you
SHOWCASE_SLUG hardcoded with no fallback frame goes blank if that drop is deleted

I checked each of the 14 CSS classes individually — no view emits any of them.

The rule I added at the end

When you change a component, change this doc in the same PR. The audit trail in git is not a substitute — nobody greps history before trusting a design doc.

🤖 Generated with Claude Code

The landing redesign (#44) left both docs describing a page that no
longer exists: pure white, left-aligned 720px, memo-as-hero, traffic
lights on the prompt block, an accent-coloured word in the headline. That
is the same drift that bit an earlier audit, where the doc was trusted
and produced a confidently wrong finding about the live site.

Restructured around the fact that there are now two systems, not one:

- New §0 states the split up front — landing vs app chrome — with a table
  and the rule for telling them apart (.l* / body.landing is landing
  only; every unprefixed rule still reaches /verify and the viewer).
- §1 keeps "document, not a marketing site" for the app chrome and
  explains why the landing stopped following it, including that fixing it
  by subtraction made it worse. Austerity is not professionalism.
- §3 adds the radius scale and syntax tokens, the landing tokens, and
  names the only two gradients that exist and why each is load-bearing
  rather than decorative.
- §5 documents what shipped: the landing nav, the action block, the
  primary CTA, the works-with strip, the evidence frame, the onboard
  block. §5.2 records why the memo left the landing — to:/from:/re: are
  RFC 5322 email headers, not HTTP, so the component built to signal
  protocol-seriousness was showing invented ones.
- §6 carries both page anatomies, the four questions a fold must answer,
  the footer margin-collapse trap, and the note that headless Chrome
  clamps to 500px so a 360px screenshot lies.
- §7 generalises "no fake mac chrome" to "no fake output of any kind",
  and adds the don'ts learned the hard way: no accent word in a headline,
  no empty imported slots, no status indicator without variance, no
  approximated third-party logos.
- New §9 Copy. The doc had no copy section at all, which is how the fold
  shipped with no call to action on it. Records the voice, the word
  budgets measured off Vercel/Linear/Resend, and the rule that claims
  have to be checkable.
- New §13 Known drift, with every claim verified against the code rather
  than remembered.

Two corrections found while writing it, both by checking instead of
trusting my own notes:

- I first wrote that the live-pulse was retired. It is not: it still
  animates on /verify and the viewer via pageHead(). It only left the
  landing because the landing stopped using that component. §7 now says
  so, with a table of what actually animates where.
- I first wrote that "open source" is claimed in the nav and footer. The
  redesign happened to remove it from both. It survives in /llms.txt, and
  there is still no LICENSE file, so the claim is still unbacked — just
  not where I said it was.

CLAUDE.md's design one-liner and landing-content notes are rewritten to
match, and hard rule #2 drops the stale example strings it quoted.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🚀 Cloudflare preview

URL: https://d783268b-htmlbin.utkarsh2012.workers.dev

Built from commit 36c4b4af2ac9ac67a9596eadc0f3cbadeecda84a.

Note: bindings (D1, KV, AI) are shared with production.
Avoid destructive PR tests on real data.

@utsengar
utsengar merged commit 599958c into main Aug 23, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant