Public: anyone can read this; the crew can change it.
A spawned child registers its apps at first boot, and says plainly when the crew has no model key #716
Check · Review · Land · Live done — Landed and live in production.
Closes #712. **Stacked on #704 (#575)**: merge that first. Until then this diff includes #704's commits; this pull's own commit is the last one.
shipped production is serving it for issue #712 — its issue is already done deploy 1f09d72
Sign in to join this conversation.
new above
offline
Closes #712. Stacked on #704 (#575): merge that first. Until then this diff includes #704's commits; this pull's own commit is the last one.
When a spawned child first boots, every repository it was given whose tip declares an app becomes one. So after claiming, the home shows the apps, never "No apps yet". While the crew has no model credential, the home and each app page say so in one sentence, with where to add one.
src/spawn/first-boot.ts): for each repository of the child's organisation, it readsforge.jsonandpackage.jsonat the default branch tip and enables the app whenparseManifestaccepts them, the same rule the runtime deploys by. It is idempotent (an existing record is skipped) and runs before the direction issue is opened.crewHasCredential(src/core/subscriptions.ts): true when there is a sealed account, orANTHROPIC_API_KEY,CLAUDE_CODE_OAUTH_TOKENorFORGE_CLAUDE_CONFIG_DIRin the forge's own environment, the places the runner reads. A child starts with none, because the parent's credentials never travel.crewKeyNote(src/web/studio/crew.ts) on the home and the studio app page: "The crew has no model key yet, so it cannot start work." An admin gets a link, "Add one in Subscriptions"; anyone else is told to ask the admin. Nothing shows when the crew can run.The path: the person claims their forge and lands on the home. They see their app ("Your apps · marias-bakery/bakery"). One line says the crew cannot start yet and links to where a key goes. Opening the app shows its crew (atlas plans, scout builds) and the direction issue waiting for atlas.
Removes: the empty "No apps yet" a spawned child showed. It adds one line, shown only while the crew cannot run.
Looks (a real spawned child, 390 and 1280 px): on the phone home, the cost line, then the key note, then the feed's "Nothing new", then Your apps with marias-bakery/bakery, "not running". On the desktop app page, the bakery head, the key note, the tell box, Now showing "Direction: Run Maria's bakery… · atlas · waiting", and Crew showing atlas plans and scout builds.
Tests:
test/spawn-child-apps.test.ts(5, in the gate): the app repository is an app and the plain one is not; a second boot registers nothing twice; after claiming, the home shows the app, not "No apps yet", with the key note and link on the home and the app page; MCPappslists it; the credential rules for env and a sealed account, after which the note is gone. Studio, onboarding, MCP, spawn-first-boot and gate-list tests pass (202).