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

A child forge can run its own fork: the owner switches from the parent's code to their forge repository's main, and back #11144

shipped production is serving it opened this has it
opened this

Why. A child, cell or hosted, runs the parent's code (MAIN/CODE in src/spawn/cell.ts), so edits to its own forge repository never run. The owner wants a customer to be able to "take it another direction". Sold forges are full forges, not children in spirit.

What. A cell-kind forge has a setting, off by default: run my own forge code. On, the cell starts from a checked-out, checked copy of its own <org>/forge main (its checks must be green; a start that fails health within a deadline rolls back to the last good commit, then to the parent's code, and tells the owner). Off returns it to the parent's code. The cell's limits, sandbox and egress rules are applied from outside the child's code and are identical either way. Hosted-kind forges (inside the parent's process) cannot turn it on and are told why.

Acceptance. A test forge switches on, runs a visible change, breaks its main and is rolled back with a card saying so, and switches off. A security note in docs/THREATS.md covers what a child running its own code can and cannot reach.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs