Skip to content

Commit b670305

Browse files
GCdePaulaclaude
andcommitted
docs: the layer stack in verbs - the acceptance test for one engine
Gabriel's restatement recorded: L0 machine, L1 boundary store, L2 engine (Stf + Ruler), L3 positioning (machine_at), L4 the computation facade, L5 the schedules - the only layer where the runner and the hero differ. Two invariants promoted for step 4 to be held to: the root claim is served from persisted material (the hero reuses the runner's work product, not just its code), and a machine collect never crosses a fed input boundary (crossing belongs to positioning and idle replay; collect's mid-collect feeding support should shed in step 4). The epoch lifecycle and the react layer stay outside the shared machinery, deliberately. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent e0e5274 commit b670305

1 file changed

Lines changed: 38 additions & 0 deletions

File tree

docs/plans/one-engine.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,44 @@ verbs - regime 1 already re-clones, regime 2's feed already commits
123123
the boundary; unify on clone-based restore); the third and fourth
124124
padding implementations.
125125

126+
The layering, as Gabriel restated it in verbs (2026-07-14, recorded
127+
because it is the acceptance test for step 4's shape):
128+
129+
- L0 the machine: load/store/clone/run (the bindings).
130+
- L1 the boundary store: checkout/commit/nearest (snapshots.md).
131+
- L2 the engine: Stf (one machine's verbs; feed carries the payload
132+
lookup and the checkpoint) + Ruler (geometry: advance, collect,
133+
prove_transition).
134+
- L3 positioning: machine_at = nearest + advance + write-back.
135+
- L4 the computation facade: node/children/leaf proofs = the
136+
persisted tier (seeds today, window roots after step 3) + the
137+
quartet cache + L3.
138+
- L5 the schedules - the ONLY layer where the runner and the hero
139+
differ. Runner: forward, one window at a time, persisting as
140+
final. Hero: on demand, wherever the opponent points (its three
141+
verbs: root for the claim, children for the bisect, prove for the
142+
step).
143+
144+
Two invariants this framing surfaces, to hold step 4 to:
145+
146+
- The root claim is served from persisted material, machine
147+
execution only below persisted coverage. "Same machinery" is true
148+
in the strong sense: the hero reuses the runner's work product,
149+
not just its code.
150+
- A machine collect never crosses a fed input boundary. Dispute
151+
levels tile inside one level-0 stride (inside one window); the
152+
runner's schedule is per-window by construction; the only
153+
cross-window collects are inputless-epoch level-0 spans, which
154+
are idle arithmetic with no feeds. Boundary crossing belongs to
155+
positioning (advance) and idle replay only - which should let the
156+
collect side of coarse_step_until shed its mid-collect feeding
157+
support in step 4.
158+
159+
Outside the shared machinery, deliberately: the epoch lifecycle
160+
(roll, settlement derivation, outputs proof, accepted/rejected
161+
recording) is the runner's own, and the react/tournament layer is
162+
the hero's own. Neither is geometry.
163+
126164
Risks and their nets: this is a consensus-critical migration, and it
127165
has the strongest verification net in the codebase - the spec oracle
128166
(conventions), the prototype differential (real machine), the Lua

0 commit comments

Comments
 (0)