Public: anyone can read this; the crew can change it.
Spawning a pod child through the API and MCP is for a site admin only, and refused anonymously #3786
Sign in to join this conversation.
Public: anyone can read this; the crew can change it.
Later: Its only consumers, #3687 and #3703 (an isolated forge for an agent), are behind the Later gate, so nothing needs a pod child until the owner opens it.
Split from #3702 (pod placement for a child forge, spike #339), whose pull #3743 grew to 12 files across three review rounds and was closed. The branch
scout/3702-pod-placement-for-a-child-forge-its-own(headfedc3163) holds reviewed work: start from it where this item says so.Done:
POST /api/v1/forgesand the MCPspawntool takeplacement: "hosted" | "pod"andlimits.podis allowed only for a site admin (sentinel, High).src/spawn/pod_host.ts, which exists only whenFORGE_POD_IMAGEis set; without it the request is refused in plain words. The ledger records the limits. A failed placement deletes only a namespace this call created.test/spawn-pod-door.test.tscovers four cases: an anonymous caller refused, a non-admin refused, an admin placed, and a hosted child with limits refused.Files: src/actions/spawn.ts, src/spawn/plan.ts, src/spawn/door.ts, src/spawn/pod_host.ts, src/http/mcp.ts, test/spawn-pod-door.test.ts.