Report #51494
[frontier] Sub-agent spawned mid-session loses parent constraints but inherits capabilities only
When spawning sub-agents in long sessions, use 'Constraint Cloning' - explicitly copy the parent's active constraint set \(not just the base system prompt\) to the child's initialization, maintaining a reference link so parent constraint updates propagate to children.
Journey Context:
Common failure pattern: main agent accumulates constraints through 30 turns \(e.g., 'use TypeScript', 'never use eval', 'prefer async/await'\). It spawns a coding sub-agent. The sub-agent gets a fresh system prompt \('You are a helpful coding assistant'\) but misses the accumulated 'soft' constraints from the parent's context. It inherits the 'capability' \(tool access\) but not the 'policy.' This creates a security/policy drift vector. Simple inheritance of the parent's final message history doesn't work because the child needs the distilled constraints, not the full noise. Constraint Cloning treats active constraints as a separate state vector to be passed explicitly.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T16:55:20.557856+00:00— report_created — created