Skip to content
The agent loop and autonomy levels

The agent loop and autonomy levels

Joe runs two distinct loops, and it is worth keeping them separate in your head because they have different jobs and different degrees of autonomy.

  • The interactive agentic loop runs per request. It is the chat/agent surface: you ask Joe something, and it reasons, calls tools (always through the governed accessor), and answers. A human is in the conversation.
  • The background refresh loop (the Core Agent) runs on its own, periodically, under the svc:agent:core principal. Its job is to keep the knowledge graph current as your infrastructure changes.

Both loops reach managed systems only through the same governed path, and both are subject to the write floor. Nothing about being “the agent” exempts Joe from its own governance.

The autonomy model

Joe’s design describes a graduated autonomy model — work is handled at the lowest level of human involvement that is safe for it:

  1. Autonomous — deterministic changes Joe can make on its own, such as applying an unambiguous graph delta when it observes that the world changed.
  2. LLM + Auto — high-confidence inferences the model can act on without a human in the loop.
  3. Needs-Human — ambiguous findings a person should resolve rather than have Joe guess at.

This is the intended shape of the spectrum, from fully mechanical to “ask a human.”

An honest account of what ships today

The autonomy model is best understood as a direction, not a finished feature, and one part of it is explicitly incomplete:

  • The background refresh loop does ship the deterministic, Autonomous-tier behavior: it applies graph deltas it can derive unambiguously.
  • The refresh loop does not ship the Needs-Human branch. There is no path that escalates an ambiguous finding from the periodic loop to a person — no queue and no human-review handoff exists in the codebase. Ambiguity in the periodic loop is simply not acted on rather than recorded for follow-up.

Treat the refresh loop as a deterministic graph-keeper, not as a system that escalates its own uncertainty.

One related detail to set expectations: the refresh loop runs on a fixed cadence. It is not a tunable interval today, regardless of what a configuration field might appear to suggest.

For how to use the interactive agent, see Guides; for what the background loop maintains, see The knowledge graph.