Designs 51, 32: the windows wake on the node-engine seat's manifest-reads-changed (ADR 0618), and every build stays readable by every counted node-engine (ADR 0624) #513

Merged
mesh-tools merged 4 commits from docs/cite-adr-0618 into main 2026-11-04 09:08:19 +00:00
Member

ADR 0618 and ADR 0624 are accepted (ADR 0624 supersedes ADR 0623); designs 51 and 32 cited 0618 as "to be decided".

  • Design 51: the old seat name's window and the old-form window wake on mesh.seat.node-engine.event.manifest-reads-changed and read each node's stated capabilities with the node-engine seat's manifest-reads (ADR 0618 §3-§4), never a watch of the node-engine's have state; distribution and the builder declare the verb in invokes and are granted the event. Every build keeps each reference form a counted node-engine states, away nodes included until retired, a node that states nothing counting as the baseline; the oldest kept form is the build key's single reference; a node is held from a build only when it reads none of its forms (ADR 0624 §1-§3), never by a module's name (ADR 0601 §4), so an away node with an old node-engine still gets every build, the node-engine's own included.
  • Design 32: the rename window wakes on the same event; the next delivered stays only for a build applied after a node's return, which ADR 0618 does not cover; mesh-config's grant named.
  • Tests: a grants-part row (only the three modules subscribe to the event), builder cases for present and away nodes, holder and rename cases with no delivered and no timer.

Review record: review by architectural domain (playbook 01), security and upgrade, round 1 at f47744a (two musts, two notes), answered at 48fa0a5 and checked by the lead; the ADR 0624 commit (cac55dc) read by the lead against the accepted record. go test ./... passes.

Reviewed-by: fix-1965@shanks at cac55dc254

Issue 1966.

https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig

ADR 0618 and ADR 0624 are accepted (ADR 0624 supersedes ADR 0623); designs 51 and 32 cited 0618 as "to be decided". - Design 51: the old seat name's window and the old-form window wake on `mesh.seat.node-engine.event.manifest-reads-changed` and read each node's stated capabilities with the node-engine seat's `manifest-reads` (ADR 0618 §3-§4), never a watch of the node-engine's have state; `distribution` and the builder declare the verb in `invokes` and are granted the event. Every build keeps each reference form a counted node-engine states, away nodes included until retired, a node that states nothing counting as the baseline; the oldest kept form is the build key's single reference; a node is held from a build only when it reads none of its forms (ADR 0624 §1-§3), never by a module's name (ADR 0601 §4), so an away node with an old node-engine still gets every build, the node-engine's own included. - Design 32: the rename window wakes on the same event; the next `delivered` stays only for a build applied after a node's return, which ADR 0618 does not cover; mesh-config's grant named. - Tests: a grants-part row (only the three modules subscribe to the event), builder cases for present and away nodes, holder and rename cases with no `delivered` and no timer. **Review record:** review by architectural domain (playbook 01), security and upgrade, round 1 at f47744a (two musts, two notes), answered at 48fa0a5 and checked by the lead; the ADR 0624 commit (cac55dc) read by the lead against the accepted record. `go test ./...` passes. Reviewed-by: fix-1965@shanks at cac55dc2543a56909c915e162b2258eb163b6f8f Issue 1966. https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
mesh-tools added 3 commits 2026-11-04 08:49:42 +00:00
ADR 0618 is accepted: the node-engine seat's manifest-reads verb and its
manifest-reads-changed event wake the old seat name's, the old-form and
the rename windows, and the builder writes a new form only once every
present node-engine states it. The next delivered stays only for the
rename window's case the record does not cover.

Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
The upgrade and security review asked that each window's caller be
granted the event through its invokes, that an away node be held by the
assigner rather than the old-form window, and that a node-engine not yet
serving manifest-reads keep a window open by name.

Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
Design 51: keep the node-engine's own build readable by away nodes (ADR 0623)
mesh/delivery closed: a newer head of the same pull request
mesh/check pass 01d4f2781ef0 on 6cd965b3cdf6 | unit 39 run, 0 kept, 1 skipped | integration 39 run, 0 kept, 1 skipped | composition passed in 33s on 4…
01d4f2781e
Under ADR 0618 alone a node away with an old node-engine would be held
from the node-engine's own build in the new form and could never update
itself. ADR 0623 keeps every counted node-engine's form in those builds
and moves them to a node that reads any one of them.

Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
Author
Member

Delivery novox/hq@cac55dc2543a — merged since 2026-11-04T09:08:21Z

Source — source.main moved to novox/hq@273d608d9f. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.

Transitions

  • 2026-11-04 09:00 (new) → proposed (announced): novox/hq#513's head announced
  • 2026-11-04 09:00 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
  • 2026-11-04 09:08 ready → merged (merged): on the trunk its modules follow: merged there

The commit's note under refs/notes/mesh-plan keeps every transition of this change up to its merge: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/hq@cac55dc2543a` — **merged** since 2026-11-04T09:08:21Z **Source** — source.main moved to novox/hq@273d608d9faa. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Transitions** - 2026-11-04 09:00 (new) → proposed (announced): novox/hq#513's head announced - 2026-11-04 09:00 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false) - 2026-11-04 09:08 ready → merged (merged): on the trunk its modules follow: merged there The commit's note under `refs/notes/mesh-plan` keeps every transition of this change up to its merge: `git log --notes=mesh-plan`.
jschoubben added 1 commit 2026-11-04 09:00:21 +00:00
Design 51: follow ADR 0624, every build keeps each counted node-engine's form
mesh/delivery merged: source.main moved to novox/hq@273d608d9faa
mesh/check being carried to cac55dc2543a on 273d608d9faa | from 6cd965b3cdf6
cac55dc254
ADR 0624 supersedes ADR 0623, which could find the node-engine's own
builds only by the module's name. Every build now keeps each form a
counted node-engine states, the oldest in the single reference, and a
node is held only when it reads none of them.

Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
Author
Member

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: its head 01d4f2781e is no longer the pull request's head, or the pull request closed. Nothing is merged on it. The operator is asked again once the checks pass at the new head.

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: its head 01d4f2781ef0 is no longer the pull request's head, or the pull request closed. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-tools changed title from Designs 51, 32: the windows wake on the node-engine seat's manifest-reads-changed (ADR 0618), and the node-engine's own build stays readable by every known node-engine (ADR 0623) to Designs 51, 32: the windows wake on the node-engine seat's manifest-reads-changed (ADR 0618), and every build stays readable by every counted node-engine (ADR 0624) 2026-11-04 09:00:38 +00:00
mesh-tools merged commit 273d608d9f into main 2026-11-04 09:08:19 +00:00
mesh-tools deleted branch docs/cite-adr-0618 2026-11-04 09:08:19 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/hq#513