a wave is settlingengine working on #41membrane waiting at #41

Wave 5 · The return · record #41domain.factnote.given

#41 · a note, from the Cell

note.gate opens its lane at last, keeps the note as if a person had typed it, and announces it as #42.

Came fromthe worldThe world answered — controller.represent — carrying the export into the slot. step 221

Read as

when the engine took #41

  1. 222The engine takes #41ENGINE.CURSOR · propagate

    a wave is settlingengine: working on #41membrane: waiting at #41

    The log
    1. #0a listener
    2. #1a doer
    3. #2listener: the charter
    4. #3doer: the author
    5. #4listener: charter seen
    6. #5listener: blueprint seen
    7. #6doer: the planner
    8. #7listener: assess · charter
    9. #8listener: assess · result
    10. #9doer: the evaluator
    11. #10the charter wanted
    12. #11the blueprint
    13. #12readiness
    14. #13readiness
    15. #14a request: a charter
    16. #15the charter proposed
    17. #16the charter defined
    18. #17readiness
    19. #18readiness
    20. #19a request: a Cell
    21. #20the seed
    22. #21the Cell is open
    23. #22inner listener
    24. #23inner doer
    25. #24the Cell's context
    26. #25return listener
    27. #26return doer
    28. #27the return address
    29. #28the person's words
    30. #29readiness
    31. #30the private result
    32. #31the result, marked
    33. #32readiness
    34. #33a request: assess
    35. #34assessment proposed
    36. #35the Cell assessed
    37. #36the decision
    38. #37the Cell sealed
    39. #38the export
    40. #39readiness
    41. #40a request: present again
    42. #41a note, from the Cellengine · workingmembrane
    43. end of the log
    The engine
    Whatbeforeafter
    pointer — the next record to take#41#42

    The engine moves on to #41 — a note, from the Cell.

    Where it happens takeNextTuple()Vol. 02 §4.1

    The engine's step: take the record under its pointer and move the pointer on — or stop, if the pointer has reached the end.

    Specification
    Vol. 02 §4.1
    Code
    takeNextTuple() in core/registers/take-next-tuple.ts, line 15: at the end of the log, the engine stops
    Journal
    #41 · ENGINE.CURSOR · propagate · offset: 41 · by engine
    Picture
    pointer — the next record to take: #41 → #42
    core/registers/take-next-tuple.ts · build 043cc8b
    1. // ENGINE.CURSOR advance (Vol. 02 §4.1) — the machine's instruction pointer:
    2. // returns the tuple at the cursor and moves it forward exactly once, or null
    3. // at quiescence. Advancing IS the context switch: the ambient wave context
    4. // moves to the propagated tuple in the same movement, so every transition
    5. // journalled during its propagation is attributed to it — the cube's spine.
    6. // The cursor never rewinds.
    7. import type { WaveTuple } from "../wave/gate";
    8. import type { RegisterFile } from "./register-file";
    9. import { recordTransition } from "./record-transition";
    10. import { setDriver, setWaveContext } from "./set-wave-context";
    11. export function takeNextTuple(file: RegisterFile): WaveTuple | null {
    12. const engine = file.registers.engine;
    13. if (engine.cursor >= engine.base + engine.window.length) return null;↑ at the end of the log, the engine stops
    14. const tuple = engine.window[engine.cursor - engine.base];
    15. engine.cursor += 1;↑ the engine's pointer moves on by one
    16. setWaveContext(file, { offset: tuple.offset, phase: "propagate" });
    17. setDriver(file, "engine");
    18. recordTransition(file, "engine", "ENGINE.CURSOR", "propagate", { offset: tuple.offset });↑ the change is written into the journal
    19. return tuple;
    20. }

    AGPL-3.0-onlyThe Lab's demonstration environment, as this fragment ran it (build 043cc8b). The code may change, and may differ from the code of a working machine.

    Nest VM core, incubated in the CoAgnes garden · build 043cc8b (2026-09-21) · this file last changed in 6730f58 (2026-09-13)

  2. 223The slot's listener opens a lane at lastCLEWS · open-clew

    a wave is settlingengine: working on #41membrane: waiting at #41

    The log
    1. #0a listener
    2. #1a doer
    3. #2listener: the charter
    4. #3doer: the author
    5. #4listener: charter seen
    6. #5listener: blueprint seen
    7. #6doer: the planner
    8. #7listener: assess · charter
    9. #8listener: assess · result
    10. #9doer: the evaluator
    11. #10the charter wanted
    12. #11the blueprint
    13. #12readiness
    14. #13readiness
    15. #14a request: a charter
    16. #15the charter proposed
    17. #16the charter defined
    18. #17readiness
    19. #18readiness
    20. #19a request: a Cell
    21. #20the seed
    22. #21the Cell is open
    23. #22inner listener
    24. #23inner doer
    25. #24the Cell's context
    26. #25return listener
    27. #26return doer
    28. #27the return address
    29. #28the person's words
    30. #29readiness
    31. #30the private result
    32. #31the result, marked
    33. #32readiness
    34. #33a request: assess
    35. #34assessment proposed
    36. #35the Cell assessed
    37. #36the decision
    38. #37the Cell sealed
    39. #38the export
    40. #39readiness
    41. #40a request: present again
    42. #41a note, from the Cellengine · workingmembrane
    43. end of the log
    The listener note.gate
    Whatbeforeafter
    lane · this session—open

    note.gate, the first fragment's listener, opens its lane for this session at last — forty-one records after it was described.

    Where it happens ensureClew()Vol. 02 §4.2 · Vol. 03 §5.1

    Opens a lane in a listener for a new key — the first time a fact with that key reaches it.

    Specification
    Vol. 02 §4.2 · Vol. 03 §5.1
    Code
    ensureClew() in core/registers/ensure-clew.ts, line 15: a new lane is opened for this key
    Journal
    #41 · CLEWS · open-clew · key: fragment-one-cell · by knot:note.gate
    Picture
    lane · this session: — → open
    core/registers/ensure-clew.ts · build 043cc8b
    1. // CLEWS lane creation (Vol. 02 §4.2): a clew is created lazily on the first
    2. // tuple of its key — parallel keys wind independent understanding (Vol. 05
    3. // §2, Vol. 03 §5.1). Creation is a transition (journalled); an existing lane
    4. // is a read and passes through silently.
    5. import type { ClewHandle, ClewRegisters } from "./topology-registers";
    6. import { recordTransition } from "./record-transition";
    7. export function ensureClew(clew: ClewHandle, init: () => ClewRegisters): ClewRegisters {
    8. const lanes = clew.region.clews.get(clew.knotId);
    9. if (!lanes) throw new Error(`Clew bank missing for knot '${clew.knotId}' — registration must precede facts (Vol. 02 §5.1).`);
    10. let registers = lanes.get(clew.key);
    11. if (!registers) {
    12. registers = init();
    13. lanes.set(clew.key, registers);↑ a new lane is opened for this key
    14. recordTransition(clew.file, `topology:${clew.region.regionId}/clew:${clew.knotId}`, "CLEWS", "open-clew", {↑ the change is written into the journal
    15. key: clew.key
    16. });
    17. }
    18. return registers;
    19. }

    AGPL-3.0-onlyThe Lab's demonstration environment, as this fragment ran it (build 043cc8b). The code may change, and may differ from the code of a working machine.

    Nest VM core, incubated in the CoAgnes garden · build 043cc8b (2026-09-21) · this file last changed in f36e70d (2026-08-18)

  3. 224The slot is filledCOLLECTED · collect

    a wave is settlingengine: working on #41membrane: waiting at #41

    The log
    1. #0a listener
    2. #1a doer
    3. #2listener: the charter
    4. #3doer: the author
    5. #4listener: charter seen
    6. #5listener: blueprint seen
    7. #6doer: the planner
    8. #7listener: assess · charter
    9. #8listener: assess · result
    10. #9doer: the evaluator
    11. #10the charter wanted
    12. #11the blueprint
    13. #12readiness
    14. #13readiness
    15. #14a request: a charter
    16. #15the charter proposed
    17. #16the charter defined
    18. #17readiness
    19. #18readiness
    20. #19a request: a Cell
    21. #20the seed
    22. #21the Cell is open
    23. #22inner listener
    24. #23inner doer
    25. #24the Cell's context
    26. #25return listener
    27. #26return doer
    28. #27the return address
    29. #28the person's words
    30. #29readiness
    31. #30the private result
    32. #31the result, marked
    33. #32readiness
    34. #33a request: assess
    35. #34assessment proposed
    36. #35the Cell assessed
    37. #36the decision
    38. #37the Cell sealed
    39. #38the export
    40. #39readiness
    41. #40a request: present again
    42. #41a note, from the Cellengine · workingmembrane
    43. end of the log
    The listener note.gate
    Whatbeforeafter
    lane · this session · slot noteemptytext = “A Cell is a bounded study the machine opens when a slot needs more th…”

    The note goes into note.gate's slot note. From the listener's side nothing tells it from a note a person typed: the rule matched, the slot filled.

    Where it happens collectDeterministicSlot()Vol. 02 §4.4 · Vol. 05 §3.3

    Fills a slot of a listener with a value it heard.

    Specification
    Vol. 02 §4.4 · Vol. 05 §3.3
    Code
    collectDeterministicSlot() in core/registers/collect-deterministic-slot.ts, line 20: the slot is filled
    Journal
    #41 · COLLECTED · collect · key: fragment-one-cell, slot: note, reduce: latest · by knot:note.gate
    Picture
    lane · this session · slot note: empty → text = “A Cell is a bounded study the machine opens when a slot needs more th…”
    core/registers/collect-deterministic-slot.ts · build 043cc8b
    1. // COLLECTED write (Vol. 02 §4.4, Vol. 05 §3.3): the deterministic knot's
    2. // slot fills — `append` accumulates an array, otherwise the newest value
    3. // stands. The condition never runs here; this op records the landing.
    4. import type { DeterministicClewRegisters, ClewHandle } from "./topology-registers";
    5. import { recordTransition } from "./record-transition";
    6. export function collectDeterministicSlot(
    7. clew: ClewHandle,
    8. registers: DeterministicClewRegisters,
    9. slot: string,
    10. reduce: string,
    11. value: unknown
    12. ): void {
    13. if (reduce === "append") {
    14. const existing = registers.collected.get(slot);
    15. if (Array.isArray(existing)) existing.push(value);
    16. else registers.collected.set(slot, [value]);
    17. } else {
    18. registers.collected.set(slot, value);↑ the slot is filled
    19. }
    20. recordTransition(clew.file, `topology:${clew.region.regionId}/clew:${clew.knotId}`, "COLLECTED", "collect", {↑ the change is written into the journal
    21. key: clew.key,
    22. slot,
    23. reduce
    24. });
    25. }

    AGPL-3.0-onlyThe Lab's demonstration environment, as this fragment ran it (build 043cc8b). The code may change, and may differ from the code of a working machine.

    Nest VM core, incubated in the CoAgnes garden · build 043cc8b (2026-09-21) · this file last changed in f36e70d (2026-08-18)

  4. 225The slot is emptied againCOLLECTED · reset

    a wave is settlingengine: working on #41membrane: waiting at #41

    The log
    1. #0a listener
    2. #1a doer
    3. #2listener: the charter
    4. #3doer: the author
    5. #4listener: charter seen
    6. #5listener: blueprint seen
    7. #6doer: the planner
    8. #7listener: assess · charter
    9. #8listener: assess · result
    10. #9doer: the evaluator
    11. #10the charter wanted
    12. #11the blueprint
    13. #12readiness
    14. #13readiness
    15. #14a request: a charter
    16. #15the charter proposed
    17. #16the charter defined
    18. #17readiness
    19. #18readiness
    20. #19a request: a Cell
    21. #20the seed
    22. #21the Cell is open
    23. #22inner listener
    24. #23inner doer
    25. #24the Cell's context
    26. #25return listener
    27. #26return doer
    28. #27the return address
    29. #28the person's words
    30. #29readiness
    31. #30the private result
    32. #31the result, marked
    33. #32readiness
    34. #33a request: assess
    35. #34assessment proposed
    36. #35the Cell assessed
    37. #36the decision
    38. #37the Cell sealed
    39. #38the export
    40. #39readiness
    41. #40a request: present again
    42. #41a note, from the Cellengine · workingmembrane
    43. end of the log
    The listener note.gate
    Whatbeforeafter
    lane · this session · slot notetext = “A Cell is a bounded study the machine opens when a slot needs more th…”empty

    The listener empties its slot before it announces that it is ready; the note travels with the announcement.

    Where it happens resetDeterministicClew()Vol. 02 §4.4

    Empties a listener's slots once it has announced that it is ready.

    Specification
    Vol. 02 §4.4
    Code
    resetDeterministicClew() in core/registers/reset-deterministic-clew.ts, line 9: the slots are emptied
    Journal
    #41 · COLLECTED · reset · key: fragment-one-cell · by knot:note.gate
    Picture
    lane · this session · slot note: text = “A Cell is a bounded study the machine opens when a slot needs more th…” → empty
    core/registers/reset-deterministic-clew.ts · build 043cc8b
    1. // The deterministic reset rule (Vol. 02 §4.4): COLLECTED clears at readiness
    2. // unless the policy says `never` — the station holds the policy, this op
    3. // holds the movement.
    4. import type { DeterministicClewRegisters, ClewHandle } from "./topology-registers";
    5. import { recordTransition } from "./record-transition";
    6. export function resetDeterministicClew(clew: ClewHandle, registers: DeterministicClewRegisters): void {
    7. registers.collected = new Map();↑ the slots are emptied
    8. recordTransition(clew.file, `topology:${clew.region.regionId}/clew:${clew.knotId}`, "COLLECTED", "reset", {↑ the change is written into the journal
    9. key: clew.key
    10. });
    11. }

    AGPL-3.0-onlyThe Lab's demonstration environment, as this fragment ran it (build 043cc8b). The code may change, and may differ from the code of a working machine.

    Nest VM core, incubated in the CoAgnes garden · build 043cc8b (2026-09-21) · this file last changed in f36e70d (2026-08-18)

  5. 226The readiness enters the log as #42LOG · append

    a wave is settlingengine: working on #41membrane: waiting at #41

    The log
    1. #0a listener
    2. #1a doer
    3. #2listener: the charter
    4. #3doer: the author
    5. #4listener: charter seen
    6. #5listener: blueprint seen
    7. #6doer: the planner
    8. #7listener: assess · charter
    9. #8listener: assess · result
    10. #9doer: the evaluator
    11. #10the charter wanted
    12. #11the blueprint
    13. #12readiness
    14. #13readiness
    15. #14a request: a charter
    16. #15the charter proposed
    17. #16the charter defined
    18. #17readiness
    19. #18readiness
    20. #19a request: a Cell
    21. #20the seed
    22. #21the Cell is open
    23. #22inner listener
    24. #23inner doer
    25. #24the Cell's context
    26. #25return listener
    27. #26return doer
    28. #27the return address
    29. #28the person's words
    30. #29readiness
    31. #30the private result
    32. #31the result, marked
    33. #32readiness
    34. #33a request: assess
    35. #34assessment proposed
    36. #35the Cell assessed
    37. #36the decision
    38. #37the Cell sealed
    39. #38the export
    40. #39readiness
    41. #40a request: present again
    42. #41a note, from the Cellengine · workingmembrane
    43. #42readinessnew
    44. end of the log
    The log
    Whatbeforeafter
    records in the log4243
    #42—readiness · sys.knot.ready

    note.gate's announcement is written as #42, with the Cell's answer as what it understood.

    Where it happens appendEmissions()Vol. 02 §4.1 · Vol. 03 §1

    The only function that adds records to the log. Each new record gets the next free number, at the end.

    Specification
    Vol. 02 §4.1 · Vol. 03 §1
    Code
    appendEmissions() in core/registers/append-emissions.ts, line 14: the new record gets the next free number
    Journal
    #41 · LOG · append · offset: 42, kind: sys.knot.ready · by engine
    Picture
    records in the log: 42 → 43
    core/registers/append-emissions.ts · build 043cc8b
    1. // The one LOG writer (Vol. 02 §4.1, Vol. 03 §1): emissions become tuples by
    2. // receiving the next dense absolute offset — `base + window.length` — and
    3. // nothing else ever grows the log. Each append is journalled under the
    4. // ambient context, so a batch born of a propagated tuple carries that
    5. // tuple's offset as its cause — the cube's provenance line (ADR-002).
    6. import type { WaveEmission, WaveTuple } from "../wave/gate";
    7. import type { RegisterFile } from "./register-file";
    8. import { recordTransition } from "./record-transition";
    9. export function appendEmissions(file: RegisterFile, emissions: readonly WaveEmission[]): void {
    10. const engine = file.registers.engine;
    11. for (const emission of emissions) {
    12. const tuple: WaveTuple = { ...emission, offset: engine.base + engine.window.length };↑ the new record gets the next free number
    13. engine.window.push(tuple);↑ it is added at the end of the log
    14. recordTransition(file, "engine", "LOG", "append", {↑ the change is written into the journal
    15. offset: tuple.offset,
    16. kind: tuple.kind
    17. });
    18. }
    19. }

    AGPL-3.0-onlyThe Lab's demonstration environment, as this fragment ran it (build 043cc8b). The code may change, and may differ from the code of a working machine.

    Nest VM core, incubated in the CoAgnes garden · build 043cc8b (2026-09-21) · this file last changed in f36e70d (2026-08-18)

when the membrane passed #41

  1. 235The membrane passes #41MEMBRANE.CURSOR · sweep

    a wave is settlingengine: at the endmembrane: passing #41

    The log
    1. #0a listener
    2. #1a doer
    3. #2listener: the charter
    4. #3doer: the author
    5. #4listener: charter seen
    6. #5listener: blueprint seen
    7. #6doer: the planner
    8. #7listener: assess · charter
    9. #8listener: assess · result
    10. #9doer: the evaluator
    11. #10the charter wanted
    12. #11the blueprint
    13. #12readiness
    14. #13readiness
    15. #14a request: a charter
    16. #15the charter proposed
    17. #16the charter defined
    18. #17readiness
    19. #18readiness
    20. #19a request: a Cell
    21. #20the seed
    22. #21the Cell is open
    23. #22inner listener
    24. #23inner doer
    25. #24the Cell's context
    26. #25return listener
    27. #26return doer
    28. #27the return address
    29. #28the person's words
    30. #29readiness
    31. #30the private result
    32. #31the result, marked
    33. #32readiness
    34. #33a request: assess
    35. #34assessment proposed
    36. #35the Cell assessed
    37. #36the decision
    38. #37the Cell sealed
    39. #38the export
    40. #39readiness
    41. #40a request: present again
    42. #41a note, from the Cellmembrane · passing
    43. #42readiness
    44. #43the release
    45. end of the logengine
    The membrane
    Whatbeforeafter
    pointer — the next record to pass#41#42

    #41 asks nothing of the world, so the membrane's pointer simply moves on.

    Where it happens sweepNextTuple()Vol. 02 §4.6 · Vol. 07 §3

    The membrane's step: pass over the record under its pointer and move the pointer on — exactly once per record.

    Specification
    Vol. 02 §4.6 · Vol. 07 §3
    Code
    sweepNextTuple() in core/registers/sweep-next-tuple.ts, line 16: the membrane's pointer moves on by one
    Journal
    #41 · MEMBRANE.CURSOR · sweep · offset: 41 · by membrane
    Picture
    pointer — the next record to pass: #41 → #42
    core/registers/sweep-next-tuple.ts · build 043cc8b
    1. // MEMBRANE.CURSOR advance (Vol. 02 §4.6, Vol. 07 §3): the membrane's own
    2. // reading of the one log — the second reception of one publication, never a
    3. // second truth. The cursor advances exactly once per offset per machine:
    4. // the exactly-once discharge guarantee lives in this movement.
    5. import type { WaveTuple } from "../wave/gate";
    6. import type { RegisterFile } from "./register-file";
    7. import { recordTransition } from "./record-transition";
    8. import { setDriver, setWaveContext } from "./set-wave-context";
    9. export function sweepNextTuple(file: RegisterFile): WaveTuple | null {
    10. const engine = file.registers.engine;
    11. const membrane = file.registers.membrane;
    12. if (membrane.cursor >= engine.base + engine.window.length) return null;
    13. const tuple = engine.window[membrane.cursor - engine.base];
    14. membrane.cursor += 1;↑ the membrane's pointer moves on by one
    15. setWaveContext(file, { offset: tuple.offset, phase: "sweep" });
    16. setDriver(file, "membrane");
    17. recordTransition(file, "membrane", "MEMBRANE.CURSOR", "sweep", { offset: tuple.offset });↑ the change is written into the journal
    18. return tuple;
    19. }

    AGPL-3.0-onlyThe Lab's demonstration environment, as this fragment ran it (build 043cc8b). The code may change, and may differ from the code of a working machine.

    Nest VM core, incubated in the CoAgnes garden · build 043cc8b (2026-09-21) · this file last changed in 6730f58 (2026-09-13)

Step 226: The readiness enters the log as #42

226 The readiness enters the log as #42

a wave is settlingengine: working on #41membrane: waiting at #41

The log
  1. #0a listener
  2. #1a doer
  3. #2listener: the charter
  4. #3doer: the author
  5. #4listener: charter seen
  6. #5listener: blueprint seen
  7. #6doer: the planner
  8. #7listener: assess · charter
  9. #8listener: assess · result
  10. #9doer: the evaluator
  11. #10the charter wanted
  12. #11the blueprint
  13. #12readiness
  14. #13readiness
  15. #14a request: a charter
  16. #15the charter proposed
  17. #16the charter defined
  18. #17readiness
  19. #18readiness
  20. #19a request: a Cell
  21. #20the seed
  22. #21the Cell is open
  23. #22inner listener
  24. #23inner doer
  25. #24the Cell's context
  26. #25return listener
  27. #26return doer
  28. #27the return address
  29. #28the person's words
  30. #29readiness
  31. #30the private result
  32. #31the result, marked
  33. #32readiness
  34. #33a request: assess
  35. #34assessment proposed
  36. #35the Cell assessed
  37. #36the decision
  38. #37the Cell sealed
  39. #38the export
  40. #39readiness
  41. #40a request: present again
  42. #41a note, from the Cellengine · workingmembrane
  43. #42readinessnew
  44. end of the log
The log
Whatbeforeafter
records in the log4243
#42—readiness · sys.knot.ready

note.gate's announcement is written as #42, with the Cell's answer as what it understood.

Where it happens · appendEmissions()

The only function that adds records to the log. Each new record gets the next free number, at the end.

Specification
Vol. 02 §4.1 · Vol. 03 §1
Code
appendEmissions() in core/registers/append-emissions.ts, line 14: the new record gets the next free number
Journal
#41 · LOG · append · offset: 42, kind: sys.knot.ready · by engine
Picture
records in the log: 42 → 43
core/registers/append-emissions.ts · build 043cc8b
  1. // The one LOG writer (Vol. 02 §4.1, Vol. 03 §1): emissions become tuples by
  2. // receiving the next dense absolute offset — `base + window.length` — and
  3. // nothing else ever grows the log. Each append is journalled under the
  4. // ambient context, so a batch born of a propagated tuple carries that
  5. // tuple's offset as its cause — the cube's provenance line (ADR-002).
  6. import type { WaveEmission, WaveTuple } from "../wave/gate";
  7. import type { RegisterFile } from "./register-file";
  8. import { recordTransition } from "./record-transition";
  9. export function appendEmissions(file: RegisterFile, emissions: readonly WaveEmission[]): void {
  10. const engine = file.registers.engine;
  11. for (const emission of emissions) {
  12. const tuple: WaveTuple = { ...emission, offset: engine.base + engine.window.length };↑ the new record gets the next free number
  13. engine.window.push(tuple);↑ it is added at the end of the log
  14. recordTransition(file, "engine", "LOG", "append", {↑ the change is written into the journal
  15. offset: tuple.offset,
  16. kind: tuple.kind
  17. });
  18. }
  19. }

AGPL-3.0-onlyThe Lab's demonstration environment, as this fragment ran it (build 043cc8b). The code may change, and may differ from the code of a working machine.

Nest VM core, incubated in the CoAgnes garden · build 043cc8b (2026-09-21) · this file last changed in f36e70d (2026-08-18)

A fact: a note — from the Cell

A note for the slot's listener, written not by a person but by the controller that presented the Cell's answer again. The listener cannot tell the difference; where it came from rides in the fact.

#41domain.factnote.given the world

envelope
offset41Its place in the log — the only address a record has. The engine gives it when the record is added, the next free number, and it never changes.
kinddomain.factWhich of the four kinds of record the machine knows. The kind decides what the payload holds.
keyfragment-one-cellThis session's lane.
payload
factTypenote.givenThe fact type the slot's listener hears.
payload.data
texttextThe note: the Cell's answer, carried as it was — a structure, not a string.
representedcellRef · reviewOffset · session · factTypeWhere it came from: the Cell, the review, the session, the export's type.
uidrepresent#40The presentation's name.
requestOffset40The request it answers.

end · #41

In the specificationVol. 03 §1Vol. 03 §5Vol. 04 §3.1Vol. 07 §2

The record as the machine keeps it
{
 "offset": 41,
 "kind": "domain.fact",
 "key": "fragment-one-cell",
 "payload": {
  "factType": "note.given",
  "data": {
   "text": {
    "text": "A Cell is a bounded study the machine opens when a slot needs more than a fact: it has its own charter, its own knots and binds, and a result that is assessed and reviewed before anything returns."
   },
   "represented": {
    "cellRef": "cell@20",
    "reviewOffset": 36,
    "session": "fragment-one-cell",
    "factType": "knowledge.l1.accepted"
   },
   "uid": "represent#40",
   "requestOffset": 40
  }
 }
}