@randalschwartz The process boundary as a garbage collector is the part I had not seen framed that way. One cost sits on the other side of it: each forked worker reloads the system prompt, the tool list and the rules before touching its artifact. With many small targets that fixed entry fee can outweigh the noise it saves, so batching related targets per worker keeps the trade positive.
I'm a Google Developer Expert in Dart and Flutter (one of 12 in North America). I have 45 years of experience with backend, web, mobile, devops, and training.
@paulirolla "The process boundary as a garbage collector" is the exact systems phrase for it—exit 0 as an arena allocator's free(), reclaiming 100% of the dead compiler logs and intermediate file reads the instant the artifact lands on disk.
And you nailed the cost on the other side of the ledger: just like OS processes have a fork()/exec() cold-start tax, every spawned subagent pays a fixed token entry fee (system prompt + tool schemas + rules) before doing useful work.
We keep that trade heavily positive in three ways:
Coarse-Grained Phase Batching (4 Worker Boundaries per Ticket): We never fork per file or per micro-prerequisite. Instead, we batch work along the 4 high-entropy phase boundaries:
Target 3 (implementation-diff): 1 TDD worker batches the entire Red-Green-Refactor inner loop, doc updates, and test runs across all touched files.
Target 4 (adversarial-review): 1 Critic worker audits the full diff (where the process boundary is required for epistemic isolation, not just GC).
Target 7 (ready-to-land): 1 Triage worker batches CI and review-bot polling.
Meanwhile, low-noise targets (commit, push, land) run in-process in the Depth-0 Orchestrator without forking at all.
Phase-Bound Rule Slicing (references/*.md): Instead of stuffing all 450 scars into the global system prompt, rules are partitioned by target phase (references/02_archaeology..., references/03_tdd..., references/04_six_pillars...). Each worker only loads the rules bound to its phase.
KV Prefix Caching: Because the system prompt and tool list form an identical static prefix, inference providers serve that fixed entry fee from the prompt cache, whereas keeping 80k tokens of test noise in the parent window taxes every subsequent turn quadratically (O(N^2)).
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
@randalschwartz The process boundary as a garbage collector is the part I had not seen framed that way. One cost sits on the other side of it: each forked worker reloads the system prompt, the tool list and the rules before touching its artifact. With many small targets that fixed entry fee can outweigh the noise it saves, so batching related targets per worker keeps the trade positive.
@paulirolla "The process boundary as a garbage collector" is the exact systems phrase for it—
exit 0as an arena allocator'sfree(), reclaiming 100% of the dead compiler logs and intermediate file reads the instant the artifact lands on disk.And you nailed the cost on the other side of the ledger: just like OS processes have a
fork()/exec()cold-start tax, every spawned subagent pays a fixed token entry fee (system prompt + tool schemas + rules) before doing useful work.We keep that trade heavily positive in three ways:
approved-plan): 1 Archaeology worker batches git history, scar lookup, and blast-radius analysis.implementation-diff): 1 TDD worker batches the entire Red-Green-Refactor inner loop, doc updates, and test runs across all touched files.adversarial-review): 1 Critic worker audits the full diff (where the process boundary is required for epistemic isolation, not just GC).ready-to-land): 1 Triage worker batches CI and review-bot polling. Meanwhile, low-noise targets (commit,push,land) run in-process in the Depth-0 Orchestrator without forking at all.references/*.md): Instead of stuffing all 450 scars into the global system prompt, rules are partitioned by target phase (references/02_archaeology...,references/03_tdd...,references/04_six_pillars...). Each worker only loads the rules bound to its phase.O(N^2)).