The Loop Map

June 17, 2026 · View on GitHub

One index for the loop. AgentOps describes its operating loop six ways, at different altitudes and for different audiences. They are not six competing models; they are six views of one control system. This doc names each view, says what it is for, and links its canonical source. It does not restate or replace those sources.

Why this exists

Readers hit "the loop" in six places and reasonably wonder which is the real one. The honest answer: all of them, at different zoom levels. A reader landing on the operating-loop spine without the CDLC frame thinks the loop is about git moves; a reader landing on CDLC without the operating loop thinks it is about context phases. Each is half the picture. This map fixes the altitude so the views stop reading as contradictions.

The external world is now naming this too. Satya Nadella calls it "loopcraft"; the broader 2026 discourse calls it "loop engineering." The claim under all of it is the one this map encodes: the model commoditizes, and the loop around it is the part that compounds.

The six views

ViewAltitudeAnswersCanonical source
CDLC (7 phases)What context engineering isGenerate, Compile, Test, Distribute, Deliver, Observe, Adaptdocs/cdlc.md
Operating loop (7 moves)How an agent executes one turn through those phasesBDD intent → bead → slice → TDD → wave → acceptance → ratchetdocs/architecture/operating-loop.md
RPI (4 steps)The tactical inner loop inside a moveResearch → Plan → Implement → Validatethe /rpi skill; framed in docs/3.0.md
Control-loop model (2 timescales + governor)Why the loop converges and self-improvesWhy route-back terminates (fast loop) + how the map improves without oscillating (slow loop + SPC governor)docs/architecture/control-loop-model.md
Operator model (6 primitives)The operational discipline the loop runs onStateful environment, replaceable actors, durable traces, selection gates, promotion loops, governance12-factor-agentops: docs/explanation/operator-model.md
Three developer loopsThe timescale the loop runs atInner (seconds–minutes), Middle (hours–days), Outer (weeks–months)12-factor-agentops: docs/explanation/three-developer-loops.md

How they nest

The views are not parallel; they telescope. One outer-loop turn contains many operating-loop turns; one operating-loop move contains an RPI cycle; every RPI cycle moves the work through CDLC phases; the operator-model primitives are the substrate all of it runs on.

Three developer loops        the timescale (outer → middle → inner)
  └─ Operating loop          one turn: intent → … → ratchet
       └─ RPI                one move's executor: research → plan → implement → validate
            └─ CDLC phases   what each step does to context: generate … adapt
                 on top of
            Operator model   stateful env · actors · traces · gates · promotion · governance

A concrete trace of one operating-loop turn against the CDLC phases (the composition already stated in docs/cdlc.md):

BDD-shaped intent issue          ← Generate
  → vertical slices              ← Compile
  → TDD per slice                ← Test
  → conflict-free parallel wave  ← Distribute + Deliver
  → integrated bead completion   ← Observe
  → evidence + learning capture  ← Adapt

Vocabulary reconciliation

The same mechanism wears different names across the sources. They are the same thing:

ConceptNames in useWhere
The compounding feedback engineKnowledge Flywheel · Compound Knowledge (12-factor) · Adapt (CDLC phase 7)cdlc.md, operator-model.md, knowledge-flywheel (personal-site essay)
The one-way progress lockpromotion ratchet · Brownian ratchetoperating-loop.md move 7, 12-factor "Lock Progress Forward"
Independent verdict before progressselection gate · validation gate · bead-acceptance pawloperator-model.md, operating-loop.md, docs/contracts/pawls.md

12-factor references are by name, not roman numeral, on purpose: the factor numbering diverges between the doctrine repo and older citations (see Open items).

The system, not the DAG

The reason there is a loop and not a pipeline is the one principle that ties the five views together, and it currently lives only inside the navigator section of docs/3.0.md. Stated as doctrine here:

Orchestration determinism runs inverse to worker determinism. A deterministic worker takes rails: a script or DAG is correct because the route is the track. A stochastic agent told one step has real probability of confidently doing the wrong thing. So you do not script the route; you fix the map (the role topology: the loop's stages, legal transitions, and gates) and let the route through it be chosen and re-chosen at each node. The map is deterministic and trusted; the route is dynamic and re-routed on failure. The gates are the windshield. The agent's signature failure is not a wrong turn on a real map; it is hallucinating a road that does not exist, and only ground-truth gates catch that.

This is a control system (reconciliation loop + error budgets + ratchet), not a workflow engine. Every view above is a slice of that system at a chosen altitude.

Two docs describe that control system on an axis orthogonal to the six loop views — not a seventh view of the loop, but the loop's structure and behavior: the-agent-factory.md names the citizens (the control-plane primitives + the adapter taxonomy: which named surface is the controller, the actuator, the instrument, or a guard), and control-loop-model.md (also the control-loop view above) names how those citizens behave over the two timescales. The six views are where you are in the loop; these two are what the loop is made of and why it converges.

What this doc is not

  • Not a rewrite or rename of the five sources. Each remains canonical for its own altitude; this only indexes and relates them.
  • Not new doctrine beyond elevating "system, not DAG" from an implicit 3.0.md passage to a named principle.
  • Not a code change.

Open items (flagged, not fixed here)

  • 12-factor numbering drift. The doctrine repo orders factors in four phases (Prepare/Bound/Select/Govern) with the loop tier at Validate Externally / Lock Progress Forward / Extract Learnings / Compound Knowledge / Measure Outcomes; older citations (including the personal-site CDLC essay's external factor links) use a V–IX numbering. The external 12factoragentops.com/factors/0N-* links in cdlc.mdx should be checked against the current numbering. File a bead if the live links resolve to renumbered factors.