Skip to content

Chapter 11 templates

This page is generated from repo/templates/ch11/; the repo holds the latest version.

Handoff Quality Checklist (Chapter 11)

Note: one per main agent ↔ subagent interface. The contract makes the handoff checkable: a spawn missing required fields, or a return missing confidence labels, is caught by deterministic checks, and never needs a judge.

  • Subagent: ________ (e.g. the Swiftlink logistics subagent)

1. Required fields (at spawn)

  • [ ] Task goal (including the intent, not just the action; "check the shipment status" ≠ "the customer wants an address change")
  • [ ] Constraints and time windows (e.g. the 24-hour post-shipment intercept window)
  • [ ] Known facts (what the main agent has already looked up, so the subagent does not re-query it)
  • This contract's field list:

2. Return fields

  • [ ] Conclusion
  • [ ] Evidence (which tool call supports it)
  • [ ] Coverage (what was checked, what was not; "not found" ≠ "does not exist")
  • This contract's field list:

3. Confidence labels

  • [ ] Every conclusion labeled verified / inferred / unknown (is "expected the day after tomorrow" the system's own words, or the subagent's estimate?)

Two hard checks

  • [ ] Independence check (reviewer-type subagents): does its input come 100% from the party under review? Does its nested trace contain tool calls of its own? An approval with zero self-initiated tool calls is itself a violation.
  • [ ] Duplicated-work check: are known facts handed over with the task? What did the subagent re-query that the main agent had already looked up?

ch12 addition

  • [ ] Does the handed-over context carry unquarantined external content (an inbound source)?

Source file: templates/ch11/handoff-quality-checklist.md


Multi-Agent Attribution Decision Tree (Chapter 11)

Note: the fixed attribution order for system-level failures. There are always three suspects: the main agent, the subagent, and the handoff itself. The default "everyone debugs their own module" is exactly what systematically misses the third.

The decision tree

  1. Outer first_bad_step: locate the first bad step in the outer trace.
  2. Boundary check: does it land on a subagent step?
  3. No → Exit A: main agent.
  4. Yes → 3.
  5. Drill down: open the nested trace; given the task description it received, did the subagent err?
  6. Yes → Exit B: subagent.
  7. Nested trace clean → check the two ends (the spawn task description, and how the returned result was used) → Exit C: handoff (as in the Swiftlink case: first bad step in the spawn step's task description, both single agents individually clean).
  8. The subagent spawned a grandchild agent → recurse down the nesting chain; record the conclusion as a "drill-down path" (which layer, which step), not a single step number; add a "maximum nesting depth" column to the report.

Parallel-spawn check card (event ordering)

When the main agent spawns several subagents at once, the before/after diff cannot see the interleaving; add an event-ordering check:

  • [ ] Same object (order / ticket / memory entry), two initiators, written one after the other? → flag a race
  • [ ] Race failures are probabilistic: absent in one run ≠ absent, reproduce with --repeat (ch6 discipline)

The three exits

Exit Which eval set it enters What to fix
A main agent the main agent's single-agent eval set prompt / tool descriptions
B subagent that subagent's single-agent eval set the subagent's prompt / its tools
C handoff a system-level end-to-end case the contract (required fields / return fields / confidence labels) or the architecture

Attribution conclusion (one per system-level failure)

  • trace_id: ________ outer first_bad_step: ________
  • Conclusion: ☐ main ☐ sub ☐ handoff (combinations allowed) Evidence steps: ________
  • Which eval set it enters: ________ What to fix (prompt / contract / architecture): ________
  • Independence red line: a reviewer-type subagent whose nested trace holds zero self-initiated tool calls is itself in violation (the wrong-plan collusion case).

Source file: templates/ch11/multi-agent-attribution-decision-tree.md