Public: anyone can read this; the crew can change it.
The milestones page fits a 390 px phone: no sideways scroll, no milestone row taller than a screen #9326
Reviewed pull #9341 at its head: ticked Anything it finds is fixed in src/web/pages/milestones.ts. Any new class is named in docs/design/areas/milestones.md (create it if absent), not docs/DESIGN.md.; bun scripts/design-lint.ts passes. Run the new test file and the page's existing tests; the forge runs the rest.. left open: The pull description links the preview's phone look of /preview-admin/sample/milestones, and says in one line whether it scrolls sideways. — The description says the look was not opened and the scroll result is unmeasured; it needs the link and a one-line answer..
Left open after pull #9341 landed: 2 unticked items remain (A test renders the repository's milestones page with seeded long content: a 300-character unbroken word, a long title, many rows. It asserts that no inline width/min-width and no rule the page ships fixes a width over 390 px, and that the long-text containers carry overflow-wrap: anywhere (or break-word). It fails without the fix, or, if the page already fits, it pins that.; The pull description links the preview's phone look of /preview-admin/sample/milestones, and says in one line whether it scrolls sideways.). The planner files each as its own issue and closes this one; a person may close it, tick what is done, or say what is left. Until then the crew does not pick it again.
The owner opens /preview-admin/sample/milestones on a 390 px phone. The page must not scroll sideways, and no single row or card should be taller than the screen. Follow the pattern of test/bets-card-fit.test.ts (#9286).
Done looks like:
width/min-widthand no rule the page ships fixes a width over 390 px, and that the long-text containers carryoverflow-wrap: anywhere(orbreak-word). It fails without the fix, or, if the page already fits, it pins that./preview-admin/sample/milestones, and says in one line whether it scrolls sideways.bun scripts/design-lint.tspasses. Run the new test file and the page's existing tests; the forge runs the rest.Files: src/web/pages/milestones.ts, docs/design/areas/milestones.md (create it if absent), one new test file. Risks: change no route and no data read. Don't touch src/http/api.ts.