#3324 · playground · 2026-08-12

Spawn depth is the last brake left standing.

CC 2.1.224 removed the 200-subagent-per-session spawn cap. That leaves depth as the only structural brake on nested delegation — and chain-patterns/SKILL.md stated that depth as 5 in four places while ork's own intended budget has always been 3. Meanwhile CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH sat at 0 hits estate-wide — an env var CC introduced (2.1.217) and now defaults to exactly ork's number (2.1.219), but nothing in the repo told an operator it existed. This PR fixes both: corrects the stale number, and gives doctor a Check 16 offer so the budget can be enforced by CC itself, not just by an agent reading prose.

Try it: what changed, by file

chain-patterns/SKILL.md
agents/README.md
doctor/settings-posture.md
Pattern 9: Nested Delegation

- intro line ............ "up to 5 levels deep"
                             → "up to 3 levels deep by default (CC 2.1.219+)"
- Flatten-when bullet .... "CC hard-caps at 5"
                             → "CC now defaults to a 3-level cap"
- 2.1.181 blockquote ..... "rejects spawns past 5 levels deep"
                             → kept, RE-DATED as the 2.1.181-era ceiling (historical fact, not rewritten)
                           "ork's ≤3 convention sits safely under the enforced 5-cap"
                             → "CC 2.1.219 matches ork's ≤3 convention exactly,
                                 not merely sitting under a looser ceiling"
- Depth-budget paragraph . now points at the CC 2.1.219 mechanical backstop + doctor Check 16
> Nested delegation (CC 2.1.172+): ... chains execute up to 5 levels deep
> Practical depth budget is 3.

                              ↓

> Nested delegation (CC 2.1.172+): ... chains execute up to 3 levels deep
> by default (CC 2.1.219+) ... Pin CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=3 in operator settings
> so CC enforces this mechanically, not just by convention (doctor Check 16).
Check 16: Operator Settings Posture — offers (info-level, never fail)

  before: TOOL_SEARCH, KEEP_MARKETPLACE, autoCompactWindow           (6 offers)
  after:  TOOL_SEARCH, KEEP_MARKETPLACE, autoCompactWindow,
          CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH                       (7 offers)

ℹ️ SPAWN_DEPTH      settings=no  shell=no   (CC default already 3)
ℹ️ SPAWN_DEPTH      settings=yes (user scope, pinned to 3)   ← passing state

Why "5" wasn't just a typo

The number 5 traces to a real, dated fact: CC 2.1.181 fixed foreground subagents to respect the same 5-level hard-reject ceiling background subagents always had. That citation is kept in the 2.1.181 blockquote — rewriting it would misstate CC's history, and 11 other agent files (backend-system-architect.md, ci-cd-engineer.md, etc.) still correctly pair "5 levels deep" with "(practical budget: 3)" and are out of this issue's scope. What changed is which number is the operative one: CC 2.1.219 restored nested spawning's own default from 1 back to 3 — not merely "under 5," but equal to ork's own convention. The four corrected mentions in Pattern 9 and the one in agents/README.md were describing that operative ceiling, not the 2.1.181 citation, so they now read 3.

The adoption: an offer, not a gap

questionanswer
Can ork ship the pin in its plugin settings.json? No — binary-proven at 2.1.226, only agent/subagentStatusLine load from a plugin bundle; everything else is silently discarded.
Does the gap matter today? Not urgently — CC's own 2.1.219 default (3) already matches ork's convention. Absent the pin, the budget degrades to "guidance only," not "unbounded."
What does pinning add? CC withholds the Agent tool at depth 3 mechanically, independent of the model reading Pattern 9 — the backstop chain-patterns/SKILL.md:246 already conceded was missing ("enforced by THIS guidance, not by hooks").
Where does the operator get the JSON? doctor Check 16 (skills/doctor/references/settings-posture.md) — same detect-and-hand-over pattern as CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS.

Verification

npm run build                 clean, plugins/ + docs/site regenerated, counts synced
npm run test:skills           SUCCESS (562 rules, 91 skills, 0 failed)
npm run test:agents           16/16 passed
npm run test:manifests        passed (skill delivery, activation channels, server.json, version sync)
grep -rn MAX_SUBAGENT_SPAWN_DEPTH src/ docs/ shared/   now >0 hits (was 0, VERIFIED in #3324)
Scope note deliberate

The 11 agent files carrying the identical "up to 5 levels deep (practical budget: 3)" line were left untouched. They already correctly separate CC's historical technical ceiling from ork's own convention — the same distinction this PR restores in chain-patterns/SKILL.md and agents/README.md by wording, not by blind find-replace. Bringing the other 11 into the same phrasing is a reasonable follow-up but is not what #3324 scoped.

Closes #3324. Verified against shared/cc-snapshots/2.1.181.md, 2.1.217.md, 2.1.219.md, and 2.1.224.md — not from changelog prose alone.