- Model and tool SDKs provide transport, streaming, and raw tool-calling primitives.
- The coding-agent runtime layer provides task lifecycle, turn execution, failure handling, completion semantics, state transitions, and delegation contracts.
- Policies, hooks, skills, and commands extend behavior without redefining runtime invariants.
- Product shells and domain-specific agents shape UX, branding, and context-specific rules.
- User creates or resumes a task.
- Runtime assembles execution context.
- Model produces tool calls, text, or a completion attempt.
- Runtime executes tools and emits journal events.
- Policy layer may intercept execution or stopping.
- Runtime updates state and either continues, blocks on required action, compacts, or completes.
The runtime layer should be narrow enough to embed inside a larger orchestrator, yet opinionated enough to prevent each coding agent from rediscovering the same semantics independently.