Skip to content

Commit 6cf1dec

Browse files
authored
docs(architecture): frame control plane as effect interpreter (#2921)
1 parent 5fc6f5a commit 6cf1dec

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

docs/architecture.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,28 @@ The core repository intentionally avoids domain logic. A data experiment goal,
4343
a note-maintenance goal, and a harness self-improvement goal should share the
4444
same runtime and contract, but use different adapters.
4545

46+
## Control Plane As Effect Interpreter
47+
48+
The six layers are not only storage surfaces. Together they interpret one
49+
effect request per loop iteration:
50+
51+
```text
52+
model -> effect request -> harness interprets effect -> observation -> model
53+
```
54+
55+
The read model is the current state (`A`): registry, goal state, and run
56+
history. The projection is the observation (`F[B]`): status, attention queue,
57+
and compact run summaries. The decision is the effect interpreter
58+
(`A => F[QuotaDecision]`): quota, interaction contract, capability gates,
59+
work-lane routing, and scheduler hints decide whether and how the next effect
60+
may run. The data-encoded handler is the `next_effect` in the quota packet:
61+
CLI actions, scheduler ACK/failure hints, writeback, and spend.
62+
63+
This is the same lens as the
64+
[Agent Loop Effect Interpreter RFC](architecture/rfcs/agent-loop-effect-interpreter-v0.md)
65+
and
66+
[Harness Is the Effectful Program](development/control-plane-course/01-agent-loop-effectful-program.md).
67+
4668
## Turn Decision Vocabulary
4769

4870
Operator-facing docs and heartbeat prompts often summarize a turn as deliver,

0 commit comments

Comments
 (0)