Manifest-selected Decision
- Canonical id
- 0008-recursive-llm-dispatch
- Status
- accepted
- Catalog order
- 2
Catalog revision
35263c4c415da742953d0462804fb14424e2244dae4c63efd27e468988de70ab
0008: Recursive LLM parent-child dispatch
Status: accepted Date: 2026-07-14
Context
The existing dispatch primitive was described as handing bounded work to a fresh subagent. That description made isolation and context offload primary and treated fan-out as an optional motive. It did not capture the more foundational capability: an LLM can create another LLM execution, and the child can occupy the same relationship to another child.
It also overstated several common defaults as invariants: a child was always a cold reader, a return always crossed back, and the caller could not continue while the child ran.
Decision
The foundational capability is one parent-child LLM dispatch edge:
- a parent creates a distinct child LLM execution;
- the child may itself become a parent, making the relationship recursively composable;
- orchestrator and worker describe relative positions in an execution tree, not fixed component types;
- an edge may be scheduled in series, in parallel, or synchronized later;
- a return is optional, so fire-and-forget is a valid topology;
- a child normally begins as a fresh canvas, but a runtime may initialize it with inherited or ambient context; everything in its initial window counts as dispatch input whether supplied manually or automatically.
The primitive defines one edge, not a supported recursion depth. Runtime and harness limits are implementation capabilities rather than foundation-level semantics.
A fire-and-forget edge removes the parent's return and synchronization obligation, not responsibility for authorized effects and lifecycle. The dispatch still needs enough governance to avoid ownerless work.
Contracts govern dispatch edges at a proportional level of rigor. Every edge has at least an implicit interface; only some need a formal or mechanically enforced contract.
Consequences
- The live dispatch node leads with recursive topology rather than context offload.
- Context isolation, parallel speed, and workflow composition become motives or consequences of the primitive, not its definition.
- Return anatomy is conditional rather than universal.
- Human gates are contract seams but are not instances of this LLM-to-LLM primitive.
- Context inheritance must be counted and made legible; "fresh" does not mean "necessarily empty."