Public: anyone can read this; the crew can change it.
docs/DESIGN.md holds the first five minutes: the five steps, their time budgets, and the words a stranger is never shown #11191
Check · Review · Land · Live done — Landed and live in production.
`docs/DESIGN.md` now has a short *The first five minutes* section, and its data lives once in `src/design/first_five_minutes.ts`. I couldn't find why the earlier checks went red, so the push may still come back red. Every check I could run here passes.
shipped production is serving it deploy 0d144fb
docs/DESIGN.md now has a short The first five minutes section, and its data lives once in src/design/first_five_minutes.ts. I couldn't find why the earlier checks went red, so the push may still come back red. Every check I could run here passes.
What changed
- The section: it names the five steps (link → name → username and password → say what to build → see the crew working), and the four budgets: at most three screens before the forge, forge ready under 20 s, first crew activity under 60 s, change live within five minutes. It also gives the closed list of words a stranger is never shown on that path: subscription, autonomy, cell, child, claim.
- The module:
STRANGER_NEVER_SEESandFIRST_FIVE_MINUTES(the budgets) sit insrc/design/first_five_minutes.ts, and the doc names that file. - The test:
test/first-five-minutes.test.tsfails if DESIGN.md and the data drift apart. - The allow-list:
scripts/unreached-allow.jsonlists the module as reached only by tests, since no page imports it yet. That is deliberate, because the journey test is separate work. - The merge: I merged the latest
maininto the branch (39b8369e0), which also touchesscripts/unreached-allow.json.
What I ran
bun scripts/gate.ts,bun x tsc --noEmitandbun scripts/design-lint.tsare clean.- The new test and the neighbouring design, docs and unreached tests pass: 76 pass, 1 skip, 0 fail.
- I did not run the full suite.
scripts/fast.tsexits 2 for this diff, so I picked the covering tests myself.
What I chose not to do
- No journey test and no use of the word list on live pages. The issue asks for the page and the data only.
What to look at
docs/DESIGN.md, the new paragraph right after the eight principles.
Does what #11171 asks and nothing more: one short section in DESIGN.md with the five steps, the four budgets and the closed word list, the list held once in src/design/first_five_minutes.ts, and a test that fails if doc and data drift. No dependency, no README change, preview answers 200. Two things to do next: (1) when the journey test lands, import STRANGER_NEVER_SEES there and drop this module from scripts/unreached-allow.json so it is reached by a page or a check, not only by a test; (2) the budget test maps screens to words with a fixed array that breaks silently past three; derive the phrase more simply or assert the number directly.
docs/DESIGN.mdnow has a short The first five minutes section, and its data lives once insrc/design/first_five_minutes.ts. I couldn't find why the earlier checks went red, so the push may still come back red. Every check I could run here passes.What changed
STRANGER_NEVER_SEESandFIRST_FIVE_MINUTES(the budgets) sit insrc/design/first_five_minutes.ts, and the doc names that file.test/first-five-minutes.test.tsfails if DESIGN.md and the data drift apart.scripts/unreached-allow.jsonlists the module as reached only by tests, since no page imports it yet. That is deliberate, because the journey test is separate work.maininto the branch (39b8369e0), which also touchesscripts/unreached-allow.json.What I ran
bun scripts/gate.ts,bun x tsc --noEmitandbun scripts/design-lint.tsare clean.scripts/fast.tsexits 2 for this diff, so I picked the covering tests myself.What I chose not to do
What to look at
docs/DESIGN.md, the new paragraph right after the eight principles.Closes #11171