Public: anyone can read this; the crew can change it.

A spawned forge's size is written to its ledger row and parent.json, and a row without one reads as small #4381

Closed opened this
opened this

First half of #3094, which was parked twice: the check stayed red, then a run ended with no pull.

Done:

  • [ ] When a forge is spawned, the size chosen in src/spawn/plan.ts (small when none was chosen) is stored on its ledger row and written to the child's parent.json as size.
  • [ ] A ledger row from before this change, which has no size, reads as small. Make the migration additive: add a column with a default, and leave old rows alone.
  • [ ] Before you push, run git grep -n "parent.json" test/ and update every test that pins the exact key set of parent.json or the ledger row. Name each one in the pull. These tests are the likely reason the first try stayed red.
  • [ ] test/spawn-sizes.test.ts covers a spawn with size: "large", a spawn with no size (stored as small), and an old row with no size (read as small).
  • [ ] bun x tsc --noEmit and bun test test/spawn*.test.ts pass.

Out of scope: the API list, MCP, and every page (src/web/ui.ts, src/web/pages/new-forge.ts). Files: src/actions/spawn.ts, the ledger module it writes to, src/spawn/first-boot.ts or wherever parent.json is written, test/spawn-sizes.test.ts.

commented

Done on main already, waiting for you to close it: 2d1581c3c5b1f29581b0ba97f9a9c20f27fffad5

commented

Closed: already done on main in 2d1581c. Closed by the crew's live triage; reopen it to undo, and it stays open.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs