brain/decisions/000002-transitional-multi-box-concurrency-honor-ap-worker-concurrency.md
A worker honors AP_WORKER_CONCURRENCY=N by running N poll loops over N in-process sandbox boxes in one container: createSandboxRuntime({ concurrency }) holds the array of boxes, and execute routes each job to its box by workerIndex. Default restored to 5 (main's historical value), so the default deployment preserves the old multi-box behavior exactly. Amends, does not supersede, "Worker is the Sandbox".
"Worker is the Sandbox" collapsed worker+sandbox at concurrency 1 and scaled by replicas, and that is still the destination. But shipping concurrency-1-only would silently drop existing AP_WORKER_CONCURRENCY=N deployments to 1/N of their per-container throughput overnight.
A backward-compat bridge toward the concurrency-1 destination. It restores exactly what "Worker is the Sandbox" deleted, so it must not become the architecture. Because the default (5) is this mode, a per-deployment startup warning would fire for everyone and tell us nothing, so the deprecation/cutover signal is deferred to the removal PR, which:
OOM blast radius inverts at N>1: the N engine children share one container cgroup, so a single runaway flow can OOM-kill the container and take down all N in-flight jobs. That is the shared-cap ratchet "Worker is the Sandbox" removed.
main ran with N boxes.