• stop_reason is the loop's only legitimate terminator — parsed text, iteration caps, and "a text block appeared" are all heuristics that fail in specific, namable ways.
  • Hub-and-spoke preserves observability; direct subagent-to-subagent communication destroys it. Duplication, gaps, and overly-narrow decomposition are three distinct failure shapes with three distinct fixes.
  • Subagents inherit nothing — context has to be placed explicitly in every prompt, every time, in a structured format that preserves attribution.
  • If a single violation is unacceptable, it cannot live in the prompt. Hooks and prerequisite gates give guarantees; prompt wording gives probabilities.
  • Decomposition strategy follows from whether the subtask set is knowable up front (pipeline) or only discoverable along the way (adaptive).
  • Staleness, not "how much context is available," decides between resuming and starting fresh.