The design procedure for the agent runner under backend/services/runner, which maps the data flow, finds the framework's own primitive before building one, carries identity rather than copies, and tests LLM-dependent behaviour deterministically. Use when changing how the runner executes turns, handles approvals and interrupts, talks to MCP servers or Temporal, or adds a harness.