quietengine at the endmembrane at the end

Fragment 3 · Wave 5

Wave 5 · The review and the return

The person's decision is a fact like any other, and the machine acts on it once. The Cell is sealed, its answer leaves it, and it comes back into the slot that opened it — as a note.

In this wave, in parts

  1. 200A new wave beginsSETTLING · enter-settle

    a wave is settlingengine: at the endmembrane: at the end

    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. end of the logenginemembrane
    The runtime
    Whatbeforeafter
    a wave is settlingnoyes

    The person reviews the Cell and accepts it. The decision comes to the door as a fact, so a new wave starts.

    Where it happens markSettling()Vol. 02 §4.6 · Vol. 02 §4.7

    Marks the start and the end of a wave. The runtime settles one wave at a time.

    Specification
    Vol. 02 §4.6 · Vol. 02 §4.7
    Code
    markSettling() in core/registers/mark-settling.ts, line 16: the runtime notes whether a wave is settling
    Journal
    SETTLING · enter-settle · by runtime
    Picture
    a wave is settling: no → yes
    core/registers/mark-settling.ts · build 043cc8b
    1. // SETTLING latch (Vol. 02 §4.6): one settling wave at a time — a second
    2. // concurrent settle is a caller error, not a queue. Ephemeral stratum: the
    3. // latch never survives into a snapshot; extraction asserts it clear.
    4. // Entering a wave also rewinds the discharge slot sequence: slot ids are
    5. // wave-local (the table is drained between waves and ids never reach the
    6. // log), which keeps the journal byte-identical across a snapshot/restore —
    7. // unlike INTENT.CTR, which the spec pins as never-reset (Vol. 02 §4.7).
    8. import type { RegisterFile } from "./register-file";
    9. import { recordTransition } from "./record-transition";
    10. export function markSettling(file: RegisterFile, settling: boolean): void {
    11. if (settling && file.ephemeral.settling) {
    12. throw new Error("A wave is already settling; the runtime handles one wave at a time.");
    13. }
    14. file.ephemeral.settling = settling;↑ the runtime notes whether a wave is settling
    15. if (settling) file.ephemeral.nextDischargeId = 0;
    16. recordTransition(file, "runtime", "SETTLING", settling ? "enter-settle" : "leave-settle");↑ the change is written into the journal
    17. }

    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)

  2. #36–#38The review and the seal
  3. #39–#43The return
  4. 238The wave ends — quietSETTLING · leave-settle

    quietengine: at the endmembrane: at the end

    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 Cell
    43. #42readiness
    44. #43the release
    45. end of the logenginemembrane
    The runtime
    Whatbeforeafter
    a wave is settlingyesno

    The wave ends. The run closes as the first fragment's did — with a release nothing listens to — and between the two endings, a whole Cell.

    Where it happens markSettling()Vol. 02 §4.6 · Vol. 02 §4.7

    Marks the start and the end of a wave. The runtime settles one wave at a time.

    Specification
    Vol. 02 §4.6 · Vol. 02 §4.7
    Code
    markSettling() in core/registers/mark-settling.ts, line 16: the runtime notes whether a wave is settling
    Journal
    SETTLING · leave-settle · by runtime
    Picture
    a wave is settling: yes → no
    core/registers/mark-settling.ts · build 043cc8b
    1. // SETTLING latch (Vol. 02 §4.6): one settling wave at a time — a second
    2. // concurrent settle is a caller error, not a queue. Ephemeral stratum: the
    3. // latch never survives into a snapshot; extraction asserts it clear.
    4. // Entering a wave also rewinds the discharge slot sequence: slot ids are
    5. // wave-local (the table is drained between waves and ids never reach the
    6. // log), which keeps the journal byte-identical across a snapshot/restore —
    7. // unlike INTENT.CTR, which the spec pins as never-reset (Vol. 02 §4.7).
    8. import type { RegisterFile } from "./register-file";
    9. import { recordTransition } from "./record-transition";
    10. export function markSettling(file: RegisterFile, settling: boolean): void {
    11. if (settling && file.ephemeral.settling) {
    12. throw new Error("A wave is already settling; the runtime handles one wave at a time.");
    13. }
    14. file.ephemeral.settling = settling;↑ the runtime notes whether a wave is settling
    15. if (settling) file.ephemeral.nextDischargeId = 0;
    16. recordTransition(file, "runtime", "SETTLING", settling ? "enter-settle" : "leave-settle");↑ the change is written into the journal
    17. }

    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)

At the end of the wave note.echoed at #43, carrying the Cell's accepted answer. Forty-four records, five waves, one Cell — and the machine is quiet.