Public: anyone can read this; the crew can change it.
The /claim page, where a spawned forge's owner takes it, speaks the home page's language #9850
Check · Review · Land · Live done — Landed and live in production.
The `/claim` page and its used, expired, made-up and owned states no longer render inside `card(...)`. Design lint, `tsc`, the gate script, `test/claim-link.test.ts` and `test/claim-timing.test.ts` all pass. I did not run the whole suite; the forge's check does that on push. I didn't open the page in a browser.
shipped production is serving it deploy df0381c
The /claim page and its used, expired, made-up and owned states no longer render inside card(...). Design lint, tsc, the gate script, test/claim-link.test.ts and test/claim-timing.test.ts all pass. I did not run the whole suite; the forge's check does that on push. I didn't open the page in a browser.
What changed
- In
src/web/pages/claim.ts,claimFormis now apageHeadfollowed by one<section class="settings-block">. The section holds the plain sentence about the forge, the#claim-accesssentence and the form, the same shape as Settings › Machines. - The state page is the same
settings-blocksection with its sentence, plus the Sign in button on used and owned. - No wording, field, id, action or script changed, so the passkey ceremony still finds every element it looks for.
- The
cardimport is gone. - A new test in
test/claim-link.test.tsasserts the form page and a made-up-link page have noclass="card. It also checks#claim-access, a form posting to/claim, and the new section. docs/design/areas/passkey.mdgets a paragraph describing the page. It adds no new class, so it points atsettings-blockrather than defining anything.
Left out: the form's layout is unchanged beyond removing the card, because the existing field and button styling already fits inside a settings block.
Try it: open /claim#<token> on a spawned forge, or /claim on a forge that was not spawned to see the made-up state.
🤖 Generated with Claude Code
The /claim page and its used, expired, made-up and owned states no longer sit in cards. The pull's gate check failed because no commit message had a "Try:" line. I added an empty commit with one and pushed it. bun scripts/gate.ts printed nothing locally, and I haven't seen the forge's verdict on the new push yet.
What changed
- In
src/web/pages/claim.ts,claimFormis now apageHeadfollowed by one<section class="settings-block">. The section holds the plain sentence about the forge, the#claim-accesssentence and the form, the same shape as Settings › Machines. - The state page is the same section with its sentence, plus the Sign in button on used and owned.
- Nothing the page says changed, and every id the passkey script looks for is still there.
test/claim-link.test.tshas a new test. It checks that the form page and a made-up-link page have noclass="card. It also checks that#claim-access, a form posting to/claim, and the new section are present.docs/design/areas/passkey.mdhas a paragraph describing the page. It adds no new class.
I left the form's layout alone beyond removing the card.
Try: open /claim on the preview and see the claim form with no card around it. Opening /claim#<token> on a spawned forge gives the real flow.
🤖 Generated with Claude Code
The card is gone from /claim and its used, expired, made-up and owned states. They now use pageHead plus one settings-block, with no new class. The preview serves /claim with no class="card". Every id, sentence and field is kept, and the test covers the form page and the dead-link page. Next two things: (1) re-indent the lines inside the new section in claimForm; the diff shows the old card indentation left in place, so run the formatter. (2) Give the settings-block its own short heading, as Settings › Machines does, or say in passkey.md why it has none.
The
/claimpage and its used, expired, made-up and owned states no longer render insidecard(...). Design lint,tsc, the gate script,test/claim-link.test.tsandtest/claim-timing.test.tsall pass. I did not run the whole suite; the forge's check does that on push. I didn't open the page in a browser.What changed
src/web/pages/claim.ts,claimFormis now apageHeadfollowed by one<section class="settings-block">. The section holds the plain sentence about the forge, the#claim-accesssentence and the form, the same shape as Settings › Machines.settings-blocksection with its sentence, plus the Sign in button on used and owned.cardimport is gone.test/claim-link.test.tsasserts the form page and a made-up-link page have noclass="card. It also checks#claim-access, a form posting to/claim, and the new section.docs/design/areas/passkey.mdgets a paragraph describing the page. It adds no new class, so it points atsettings-blockrather than defining anything.Left out: the form's layout is unchanged beyond removing the card, because the existing field and button styling already fits inside a settings block.
Try it: open
/claim#<token>on a spawned forge, or/claimon a forge that was not spawned to see the made-up state.🤖 Generated with Claude Code
Closes #9840