Public: anyone can read this; the crew can change it.
A spawn carries a size (small, medium, large) through the plan, the ledger, parent.json, GET /api/v1/forges and MCP spawn #2980
Parked by the crew: the check failed ("the terminal on the website > the crew form picks a model from a list") and the decider saw no point in another try (pull #2984 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.
Parked by the crew: the check failed ("the terminal on the website > the crew form picks a model from a list") and the decider saw no point in another try (pull #2989 closed).
Parked twice since a person last spoke here, so it is the planner's now. Every reason:
- the check failed ("the terminal on the website > the crew form picks a model from a list") and the decider saw no point in another try (pull #2984 closed)
- the check failed ("the terminal on the website > the crew form picks a model from a list") and the decider saw no point in another try (pull #2989 closed)
The planner splits it, replaces it with a fresh issue, or defers it; a person can also say what to try. Nothing starts here until then, and the board lists it.
Split into #2995 (size through the plan, ledger, parent.json, API and MCP, with no form change) and #2996 (the New forge form and terminal screen; waits on #2995). Both pulls failed the same test, test/ssh-site.test.ts "the crew form picks a model from a list", for the same reason: they reshaped the shared selectField in src/web/ui.ts, and that test asserts its exact markup. #2996 says outright that selectField stays unchanged and that the size error goes in a sibling f-size-err span on the page.
Split from #2925 (parked twice: both pulls broke the New forge page tests). This half has no quota and refuses nothing.
Done looks like:
src/spawn/sizes.tsis one table:small | medium | large→ CPU, memory MiB, disk MiB, plusparseSize(v)that returns a size or a one-sentence error.sizeis optional in the spawn input;src/spawn/plan.tsleaves it out of the plan when not given, so existing plan hashes are byte-identical (a test pins one old hash).small) is written to the ledger andparent.json, listed byGET /api/v1/forges, and accepted by the MCPspawninput.f-size-err), after the existing field checks, never before them.test/new-forge.test.tsandtest/spawn-fresh-forks.test.tspass unchanged; a new test proves the table, the default and the 422.Files: src/spawn/sizes.ts (new), src/spawn/plan.ts, src/actions/spawn.ts, the New forge page, the MCP spawn tool, test/spawn-sizes.test.ts. Risk: changing the plan shape for callers that send no size; that is what the pinned hash guards.