Public: anyone can read this; the crew can change it.
The first login to a spawned forge: the crew at work and three next steps #844
Check · Review · Land · Live done — Landed and live in production.
Closes #600
shipped production is serving it for issue #600 — its issue is already done deploy b2c98db
Ready for review (replaces the description above). Closes #600.
The owner's test: a client opens the one link and claims the forge. The first thing they see is the crew already at work on their apps, and the everyday-versus-admin choice explained kindly.
What the claimed home shows, above #813's feed: one card, "Your next steps".
- Crew line: "Your crew is already at work:", one line per app whose direction a crew member holds. For example "atlas has been given Direction: Run Maria's bakery…", read from the direction issue's assignee and its newest agent run ("is working on" / "is about to start on" / "has been given"). It never claims more than the run table says.
- Three steps that tick themselves done, read from what happened, never ticked by hand:
1. Make your everyday account. #803's two sentences of why and its form, inline. On a spawned forge this card replaces #803's separate everyday card, so the form appears once. Done when the everyday account exists or "keep using admin" was chosen. 2. Open your apps. A button per app. Done when the owner or their everyday account opens an app page (one user setting on the owner). 3. Tell the crew something. Points at the composer just below. Done when the owner or their everyday account has opened an issue (not the direction issue).
- The first step not yet done is the one primary action (bold title). Done steps are struck through. The card is gone once all three are done, for the owner and their everyday account alike.
- Only on a spawned forge (
parent.json), and only for its owner (a site admin) or that admin's everyday account. Nothing for a plain reader, nothing on a forge that was not spawned.
MCP: next_steps answers the same three steps and their state (empty anywhere else).
Removes: on a spawned forge, #803's separate everyday card. Its form lives in step 1 instead. Nothing else is removed or added.
Tests: test/first-login.test.ts (7, in the gate), written first against main before #813:
- no card on a forge that was not spawned, and none for a reader of the child
- after the claim, the card with all three steps not done, the everyday form once, the crew line (atlas, "Run Maria"), and the app link
- tell ticks step 3; opening the app ticks step 2; making the everyday account ticks step 1, and the card goes for both accounts
- the MCP tool matches
One call under a heavy slot, after merging main: first-login, everyday, spawn-first-boot, spawn-child-apps, claim-link, mcp, feed, feed-page and the four cross files pass (314). tsc is clean.
Looks (a real spawned child, claimed through its # link, 390 and 1280 px, no sideways scroll):
- Phone: the card first with the crew line, then step 1 with the why and the form, then the bakery button and "Tell the crew"; below it, "Your forge: maria.forge.test", the Feed and Your apps tabs, the composer, the no-model-key note, and the direction as the first post.
- Desk: the same card, step bodies capped at 36rem, with the composer and Your apps column below.
Closes #600
The first login to a spawned forge. A client opens the one link and claims the forge. The first thing they see is the crew already at work on their apps, and one card with three next steps that tick themselves done:
The path: someone new arrives from the claim link, wanting to understand what they were given. The one primary action is the next unticked step; it leads to their everyday account, their apps, or a tell.
Work in progress. This first commit is the refusing tests (
test/first-login.test.ts). The card, its MCP twinnext_stepsand the looks follow.