Fixes issue 1162, found live after cut B of design 47 release 1-2 was delivered: the node-engines on novox and g14 log 'could not write .node in the have bucket ... nats: message size exceeds maximum allowed'. The have bucket took values up to 4 KiB; a node's own key carries its whole facts (its profile among them).
internal/broker/controller_buckets.go: HaveBucketConfig's MaxValueSize is ChainValueBytes (1 MiB less 8 KiB), as the chain's buckets take, since a value is never cut (ADR 0408 §6). The live bucket takes the new bound at the controller's start (CreateOrUpdateKeyValue; the server allows changing a stream's max_msg_size), and nothing else on the path is smaller (no max_payload set: the server's 1 MiB).
Test 1162/AC1 (failed on the old 4 KiB). 1162/AC2 is proven live: novox's and g14's node keys written. Try build-1792360364355327315 passed in 4 m 24 s (unit level 2300 tests, 2.88 s of 5 s).
Delivery: mesh-controller to novox.
Fixes issue 1162, found live after cut B of design 47 release 1-2 was delivered: the node-engines on novox and g14 log 'could not write <node>.node in the have bucket ... nats: message size exceeds maximum allowed'. The have bucket took values up to 4 KiB; a node's own key carries its whole facts (its profile among them).
`internal/broker/controller_buckets.go`: HaveBucketConfig's MaxValueSize is ChainValueBytes (1 MiB less 8 KiB), as the chain's buckets take, since a value is never cut (ADR 0408 §6). The live bucket takes the new bound at the controller's start (CreateOrUpdateKeyValue; the server allows changing a stream's max_msg_size), and nothing else on the path is smaller (no max_payload set: the server's 1 MiB).
Test 1162/AC1 (failed on the old 4 KiB). 1162/AC2 is proven live: novox's and g14's node keys written. Try build-1792360364355327315 passed in 4 m 24 s (unit level 2300 tests, 2.88 s of 5 s).
Delivery: mesh-controller to novox.
Reviewed-by: reviewer-r12@shanks at 75a27ec1a4bc855c9481f208c5896a2957dddadc
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
Machines
mesh-controller on every machine running it: sent
route-proxy on every machine running it: sent
build-agent on every machine running it: sent
Transitions
2026-10-18 21:58 (new) → proposed (announced): novox/mesh-controller#385's head announced
2026-10-18 22:06 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
2026-10-18 22:06 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-18 22:09 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 22:09 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
2026-10-18 22:20 delivering → delivered (done): its walk is done, carrying its own commit: every machine of its deploy plan passed, or was left as its policy says
The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-controller@75a27ec1a4bc` — **delivered** since 2026-10-18T22:20:39Z
**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
**Machines**
- mesh-controller on every machine running it: sent
- route-proxy on every machine running it: sent
- build-agent on every machine running it: sent
**Transitions**
- 2026-10-18 21:58 (new) → proposed (announced): novox/mesh-controller#385's head announced
- 2026-10-18 22:06 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
- 2026-10-18 22:06 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-18 22:09 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 22:09 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
- 2026-10-18 22:20 delivering → delivered (done): its walk is done, carrying its own commit: every machine of its deploy plan passed, or was left as its policy says
The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
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
read by no module's build: internal/broker/have_bucket_test.go
Run by the build seat on ace as build-1792360808675350635 (builds --log build-1792360808675350635).
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.
Fixes issue 1162, found live after cut B of design 47 release 1-2 was delivered: the node-engines on novox and g14 log 'could not write .node in the have bucket ... nats: message size exceeds maximum allowed'. The have bucket took values up to 4 KiB; a node's own key carries its whole facts (its profile among them).
internal/broker/controller_buckets.go: HaveBucketConfig's MaxValueSize is ChainValueBytes (1 MiB less 8 KiB), as the chain's buckets take, since a value is never cut (ADR 0408 §6). The live bucket takes the new bound at the controller's start (CreateOrUpdateKeyValue; the server allows changing a stream's max_msg_size), and nothing else on the path is smaller (no max_payload set: the server's 1 MiB).Test 1162/AC1 (failed on the old 4 KiB). 1162/AC2 is proven live: novox's and g14's node keys written. Try build-1792360364355327315 passed in 4 m 24 s (unit level 2300 tests, 2.88 s of 5 s).
Delivery: mesh-controller to novox.
Reviewed-by: reviewer-r12@shanks at
75a27ec1a4Delivery
novox/mesh-controller@75a27ec1a4bc— delivered since 2026-10-18T22:20:39ZDelivery plan — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step
Machines
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.Merge check at
75a27ec1Judged: head
75a27ec1a4bcmerged into trunk85af245f1af1; read beside it: mesh-cataloga6295d6b98d5, mesh-controller-main85af245f1af1, mesh-host8119c470d393, mesh-tools7412c5b6c9c5mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller, route-proxy)mesh/repo-check: PASS — its merge-check.sh passedDelivery plan — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step
Run by the build seat on ace as
build-1792360808675350635(builds --log build-1792360808675350635).