audit: cycle 0006 tidy (clean) — glossary record-reality (sink is a role)
Architect drift review over 57310b8..HEAD: clean — no drift, no debt. The C1/C7 boundary is correctly drawn (recorded values escape only via a node-held mpsc::Sender with no out-edge; nothing recorded re-enters the graph; the engine surface shrank). C2 holds (Ctx::now() is the present cycle's ts). The C8/C22 cycle-0006 realization notes accurately describe what shipped — no overclaim. Test fixtures stayed in #[cfg(test)] (C9). Regression set is empty (profile) — architect is the sole gate; green. Record-reality: the glossary 'sink' entry defined a sink as 'a pure consumer node with no output', which the shipped TapForward node (records AND forwards an output) now contradicts. Updated to reality: a sink is a recording *role*, not a type — a node may be a pure consumer or record and produce in the same eval (C8 'both'). No invention; the entry now matches the substrate this cycle landed.
This commit is contained in:
+1
-1
@@ -157,7 +157,7 @@ The deterministic, frictionless, perfect-fill broker that emits synthetic equity
|
||||
|
||||
### sink
|
||||
**Avoid:** —
|
||||
A pure consumer node with no output that persists a stream (equity, position events, a node's output) into the run registry. The sole recording and observability mechanism: displayable = exactly what a sink recorded.
|
||||
A node in its **recording role**: in `eval` it reads its inputs (and `ctx.now()`) and pushes the record to an out-of-graph destination it holds as a field (a channel, a chart handle, the run registry) — a role, not a type, so a node may be a pure consumer (no output) or record *and* forward an output in the same `eval` (the C8 "both" case). The sole recording and observability mechanism: displayable = exactly what a sink recorded.
|
||||
|
||||
### SoA
|
||||
**Avoid:** Structure-of-Arrays
|
||||
|
||||
Reference in New Issue
Block a user