ADK supports 3 orchestration topologies:
sub_agents=[...] (peer handoff): the parent transfers full control of the conversation turn to a specialist child (Gatekeeper → Registratore or Cameriere).
AgentTool(agent=...) (supervisor consultation): a coordinator invokes a specialist like a function call, gets structured JSON back, and keeps control (Suggeritore).
Workflow graph (deterministic DAG): explicit Python Edge routing + RequestInput human-in-the-loop pauses when LLM routing is too loose (github branch 02c).