ADR-0053: LLM integration is assisted, not autonomous
- Status: Accepted; amended by ADR-0084
- Date: 2026-08-23
- Deciders: jka
- Decision: D53
Context
The agent reads the project and proposes edits for approval. The roadmap included a command tool, test running and runtime use, which raised the question of whether rio was turning into an agent harness and where its limit should be.
Decision
The line is drawn at autonomy, not at capability.
- In scope: the agent may write files, write and run tests, run commands and use runtime environments, provided a human is present and in the loop. What governs a command is approval, not prohibition.
- Out of scope, as a matter of identity: rio acting on its own while no human is interacting: scheduled, unattended or self-directed operation.
- The restriction binds rio, not plugins. A plugin author may build unattended behaviour on the plugin surface; rio does not impose its own restraint on others.
The test for a proposed feature: does it need a human in the loop to act? Then it is in scope. Does it act unattended, on a schedule or on its own initiative? Then it is out.
Consequences
- The command tool (ADR-0083) and plan mode (ADR-0101) are in scope.
- Schedulers, background agents and similar features are not built into rio.
- ADR-0084 refined the wording: a human-authored allow-list is standing approval, not autonomy. The rule is that no trust decision is made silently by the machine.
- Removing the step cap (ADR-0104) is consistent with this: a human is watching and can stop the turn.