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

A hosted child forge has no crew runner: its issues are never picked up #4416

shipped production is serving it opened this has it
opened this

A hosted child (a second App in the parent's process, src/spawn/host.ts) has no crew runner: only src/main.ts calls startCrew, for the parent. Its issues, asks and planner briefs are written into the child's database, and nothing ever picks them up, so a claimed child that adds a model key still has no crew working (#3705's "running its own crew on its own model key" can't happen while it is hosted in-process).

Found while fixing the sibling gap, the hook relay (pull for "A hosted child takes a git push over HTTPS"). That one is contained to one listener; the crew is not:

  • startCrew takes the binary, concurrency, budget, run timeout, egress allow-list and config dir from the parent's environment; a child needs its own budget and key, and it must not draw on the parent's credential or concurrency;
  • runs need the child's own workdir root (crewRoot(child.config.dataDir)), its own run tokens and its own leftover-bridge reaping;
  • the drain on SIGTERM (crew.stop({ drain: true })) would have to cover every child.

Options:

  1. Wait for #2926 (a child runs as its own bun src/main.ts in a cell): it gets the crew, checks and timers that main.ts starts, for free. The hosted placement then stays crew-less and should say so on the child's home and /settings/crew.
  2. In-process: a startChildCrew(parent, child) beside startChildApps, concurrency 1, budget from the child's own sealed key only (never the parent env), stopped in closeHostedChildren.

Done when a hosted child either runs one crew run on its own key end to end in a test, or plainly says its crew can't run while it is hosted, with a test.

commented

Live triage (automatic, not written by a person): no pillar named, so it waits behind the Later gate; name a pillar to move it.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs