Public: anyone can read this; the crew can change it.
The New forge page at /forges/new, where the owner spawns a forge for a client, speaks the home page's language #9864
Reviewed pull #9876 at its head: ticked The form, the plan preview and the answer with the claim link are each a <section class="settings-block"> under an <h2>, as /forges already is (#9798, docs/design/areas/lists.md); no card( is left in new-forge.ts, no new class.; The claim link is still shown once, only in the POST answer's body, with cache-control: no-store; the page still works without JavaScript.; A test (e.g. test/new-forge-language.test.ts) GETs /forges/new as a signed-in user and asserts no class="card and the settings-block sections; it fails on main today.; Existing spawn tests still pass; bun scripts/design-lint.ts is clean; the doc line for /forges in docs/design/areas/lists.md also names /forges/new..
For: the forge-in-a-link path reads plain from the first form: name, apps, See the plan, Spawn, one link, with no boxes.
Today
src/web/pages/new-forge.tsdraws the form, the plan preview and the answer with fourcard()calls.Done looks like:
<section class="settings-block">under an<h2>, as/forgesalready is (#9798, docs/design/areas/lists.md); nocard(is left innew-forge.ts, no new class.cache-control: no-store; the page still works without JavaScript.test/new-forge-language.test.ts) GETs/forges/newas a signed-in user and asserts noclass="cardand thesettings-blocksections; it fails on main today.bun scripts/design-lint.tsis clean; the doc line for/forgesin docs/design/areas/lists.md also names/forges/new.Files: src/web/pages/new-forge.ts, docs/design/areas/lists.md, test/new-forge-language.test.ts. Risk: the claim link must never move into a URL or a cached response.