ADK is the code-first way to build an agent: you write Python, it handles the orchestration. Most of what goes wrong is invisible in the code, a docstring that decides whether a tool is ever chosen, a state key renamed in one place that silently breaks three others, a callback that short-circuits everything downstream, model-written code running where it can do damage. Ten sections, each with the plain-English version first, and simulations for the parts that only make sense once you have seen them fail.