The have bucket and its grants, a module and build per resource, the bus's connect events for the watchman, and a new module registered at its merge's Approve (issues 1136, 1145, 1147, 1146)
#383
Merged
mesh-toolsmerged 12 commits from feat/delivery-have into main2026-10-18 18:36:13 +00:00
Design 47, release 1-2, cut B: one delivery group with mesh-host's feat/delivery-have.
Issue 1136 (ADR 0429 §1): the controller asserts node-engine_have (history 20) and grants each node read and write of its own keys <node>.> only, the controller none; a module's reads of node-engine.have is read-only. The SDK is re-pinned at mesh-sdk 2b420603fe83 (the old pin, mesh-sdk #28's head, is on no branch: issue 1148).
Issue 1145: each resource's module and each module's builds are sent only to a node whose report says reads_modules (migration 0106); any other node gets today's body byte for byte. mesh-host is pinned at 9d9e3a46c4f5.
Issue 1147 (ADR 0431, accepted): the composed accounts file declares $SYS with no user, exporting MESH's connect and disconnect events and its connections request; MESH imports them as mesh.bus.connect, mesh.bus.disconnect, mesh.bus.connz, granted to mesh-delivery-watchman alone. The integration test reloads the pinned server with it and needs no restart.
Issue 1146 (ADR 0432, approved by its review, waiting for the operator's Approve): the first module of a repository no registered module is built from is registered when its build is of a merge announced as made on the operator's Approve of that head; the forge's checks are unchanged; a later module of that repository is judged as before.
Tests: 1136/AC1-AC4, 1145/AC1-AC4, 1146/AC1-AC5, 1147/AC1-AC3. Try build-1792344581798464299 passed in 3 m 38 s (unit level 2295 tests, 2.62 s of 5 s).
Code lines (acceptance test 20; non-test Go, no blank or comment lines): 111,612 on this branch, 111,432 on main (+180); research 063's baseline 111,386.
Delivery: the controller to novox, with the node-engine of this group to every machine.
Design 47, release 1-2, cut B: one delivery group with mesh-host's feat/delivery-have.
- Issue 1136 (ADR 0429 §1): the controller asserts `node-engine_have` (history 20) and grants each node read and write of its own keys `<node>.>` only, the controller none; a module's `reads` of `node-engine.have` is read-only. The SDK is re-pinned at mesh-sdk 2b420603fe83 (the old pin, mesh-sdk #28's head, is on no branch: issue 1148).
- Issue 1145: each resource's `module` and each module's `builds` are sent only to a node whose report says `reads_modules` (migration 0106); any other node gets today's body byte for byte. mesh-host is pinned at 9d9e3a46c4f5.
- Issue 1147 (ADR 0431, accepted): the composed accounts file declares `$SYS` with no user, exporting MESH's connect and disconnect events and its connections request; MESH imports them as `mesh.bus.connect`, `mesh.bus.disconnect`, `mesh.bus.connz`, granted to `mesh-delivery-watchman` alone. The integration test reloads the pinned server with it and needs no restart.
- Issue 1146 (ADR 0432, approved by its review, waiting for the operator's Approve): the first module of a repository no registered module is built from is registered when its build is of a merge announced as made on the operator's Approve of that head; the forge's checks are unchanged; a later module of that repository is judged as before.
Tests: 1136/AC1-AC4, 1145/AC1-AC4, 1146/AC1-AC5, 1147/AC1-AC3. Try build-1792344581798464299 passed in 3 m 38 s (unit level 2295 tests, 2.62 s of 5 s).
Code lines (acceptance test 20; non-test Go, no blank or comment lines): 111,612 on this branch, 111,432 on main (+180); research 063's baseline 111,386.
Delivery: the controller to novox, with the node-engine of this group to every machine.
Reviewed-by: reviewer-r12@shanks at 06bf8cb2fb7a6b34c7999629848b61c35c059bfd
mesh/merge-gate head 06bf8cb2fb7a merged into trunk 48e9656c670b — pass: group feat/delivery-have composed: every machine composes with the change as it di…
route-proxy provides route: its consumers are sent again after it
route-proxy keeps data (ADR 0233): what it holds is backed up before it moves
build-agent keeps data (ADR 0233): what it holds is backed up before it moves
grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before route-proxy, build-agent is judged on its first machine
composed together: pass — every machine composes with the change as it did without (4 of 4 compose)
Transitions
2026-10-18 17:34 (new) → proposed (announced): novox/mesh-controller#383's head announced
2026-10-18 17:39 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
2026-10-18 17:39 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-18 18:37 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
2026-10-18 18:37 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path — not a failed walk that carried a later commit for it, after which it waits for a walk of its own commit
The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-controller@06bf8cb2fb7a` — **delivering** since 2026-10-18T18:37:53Z
**Delivery plan** — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step
- tier 0: mesh-controller, route-proxy
- tier 1: build-agent
- ace: receives route-proxy, build-agent
- g14: receives build-agent
- novox: receives mesh-controller, route-proxy, build-agent
- shanks: receives build-agent
- route-proxy provides route: its consumers are sent again after it
- route-proxy keeps data (ADR 0233): what it holds is backed up before it moves
- build-agent keeps data (ADR 0233): what it holds is backed up before it moves
- grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before route-proxy, build-agent is judged on its first machine
**Group** `feat/delivery-have`: novox/mesh-controller@06bf8cb2fb7a, novox/mesh-host@aab65b81f65c
- composed together: pass — every machine composes with the change as it did without (4 of 4 compose)
**Transitions**
- 2026-10-18 17:34 (new) → proposed (announced): novox/mesh-controller#383's head announced
- 2026-10-18 17:39 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
- 2026-10-18 17:39 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-18 18:37 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
- 2026-10-18 18:37 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path — not a failed walk that carried a later commit for it, after which it waits for a walk of its own commit
The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Design 47, release 1-2, cut B: one delivery group with mesh-host's feat/delivery-have.
node-engine_have(history 20) and grants each node read and write of its own keys<node>.>only, the controller none; a module'sreadsofnode-engine.haveis read-only. The SDK is re-pinned at mesh-sdk 2b420603fe83 (the old pin, mesh-sdk #28's head, is on no branch: issue 1148).moduleand each module'sbuildsare sent only to a node whose report saysreads_modules(migration 0106); any other node gets today's body byte for byte. mesh-host is pinned at 9d9e3a46c4f5.$SYSwith no user, exporting MESH's connect and disconnect events and its connections request; MESH imports them asmesh.bus.connect,mesh.bus.disconnect,mesh.bus.connz, granted tomesh-delivery-watchmanalone. The integration test reloads the pinned server with it and needs no restart.Tests: 1136/AC1-AC4, 1145/AC1-AC4, 1146/AC1-AC5, 1147/AC1-AC3. Try build-1792344581798464299 passed in 3 m 38 s (unit level 2295 tests, 2.62 s of 5 s).
Code lines (acceptance test 20; non-test Go, no blank or comment lines): 111,612 on this branch, 111,432 on main (+180); research 063's baseline 111,386.
Delivery: the controller to novox, with the node-engine of this group to every machine.
Reviewed-by: reviewer-r12@shanks at
06bf8cb2fbDelivery
novox/mesh-controller@06bf8cb2fb7a— delivering since 2026-10-18T18:37:53ZDelivery plan — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step
Group
feat/delivery-have: novox/mesh-controller@06bf8cb2fb, novox/mesh-host@aab65b81f6Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.