Agency emerges from a continuous loop over four pillars:
- Perception — taking in state from the environment (inputs, context, tool results).
- Selection — choosing what to do next given that perception (planning / decision).
- Execution — acting on the choice (tool calls, side effects on the world).
- Iteration — feeding the result back into perception and going again.
The load-bearing insight: agency is not any single pillar, it is the continuous loop over all four. A system that perceives, selects, and executes once is a pipeline. One that loops over its own output is an agent.
Why it matters / connections
- This is Ray's own operating loop. Perception (channel / calendar / vault reads) -> selection (which open item deserves action) -> execution (tool calls, writes, sends) -> iteration (verify-before-assert, re-run, compaction). The "continuous loop" framing is exactly why an always-on COO is an agent, not a cron pipeline.
- Maps onto the vault's harness/agent literature. The [[2026-06-04-agent-workflow-patterns-catalog]] patterns are just different shapes of selection + execution + iteration; harness-engineering is the discipline of making the loop reliable across iterations (the loop is where rot, fabrication, and drift creep in).
- Cert relevance: foundational framing for CCA-Foundations; pairs with [[2026-06-14-cca-harness-mechanics-cheatsheet]] and tracked in [[cert-progress]].