Issues 1696, 1697, 1698 (the controller step of ADR 0486 as changed by ADR 0488: files over 64 KiB travel by digest through one object bucket per node, declaration-files-, granted to that node alone, with a per-node lock between put and publish, a sweep that re-reads the mark, and a condition when a put fails), 1649 (build queue: a held ask is not handed out twice), and the lasting fix of 1689 (a declaration far under the bus limit).
One delivery group with mesh-host #128 (feat/1696-declaration-files): the per-node bucket milestone.
Try: build-1792600381227199684 passed at 8fc0d135 (6m39s).
Non-blocking issues from the review: 1734, 1735, 1736, 1747.
fix/1649 (3217f097) reviewed and approved by reviewer-1649, merged in.
Issues 1696, 1697, 1698 (the controller step of ADR 0486 as changed by ADR 0488: files over 64 KiB travel by digest through one object bucket per node, declaration-files-<node>, granted to that node alone, with a per-node lock between put and publish, a sweep that re-reads the mark, and a condition when a put fails), 1649 (build queue: a held ask is not handed out twice), and the lasting fix of 1689 (a declaration far under the bus limit).
One delivery group with mesh-host #128 (feat/1696-declaration-files): the per-node bucket milestone.
Try: build-1792600381227199684 passed at 8fc0d135 (6m39s).
Non-blocking issues from the review: 1734, 1735, 1736, 1747.
fix/1649 (3217f097) reviewed and approved by reviewer-1649, merged in.
Reviewed-by: reviewer-1696@shanks at 8fc0d135bbe247e3cd29de10c548835975e0770f
A node that reports file-references gets the digest and size of each file over 64 KiB that may travel so, and the content is put in
the bucket declaration-files before the declaration is sent; others get every content inline. The controller alone writes the
bucket and node-engines read an object by name (the four grants the node-engine's own fetch makes, no list, no write). An object
goes a day after no node's latest declaration names it. The near-limit condition warns at 75 percent, and a test holds the control
node's declaration, in the reference form, under half the bus's largest message.
A literal * in a published subject matches the grant's *, so in one shared bucket a node could read every node's files. Each node now
has declaration-files-<node>, which its account reads by name and the controller writes; the sweep judges each bucket against that
node's latest declaration, under the node's lock with the send, and an object the sweep marked is put again by the next send. Putting
that fails send after send raises a condition.
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-delivery-gate on every machine running it: sent
mesh-host on every machine running it: sent
route-proxy on every machine running it: sent
mesh-controller on every machine running it: sent
build-agent on every machine running it: sent
only-office on every machine running it: sent
mesh-files on every machine running it: sent
brother on every machine running it: sent
Transitions
2026-10-21 16:41 (new) → proposed (announced): novox/mesh-controller#425's head announced
2026-10-21 16:50 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
2026-10-21 16:50 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-21 16:55 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
2026-10-21 16:55 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-21 17:06 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@8fc0d135bbe2` — **delivered** since 2026-10-21T17:06:58Z
**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-delivery-gate on every machine running it: sent
- mesh-host on every machine running it: sent
- route-proxy on every machine running it: sent
- mesh-controller on every machine running it: sent
- build-agent on every machine running it: sent
- only-office on every machine running it: sent
- mesh-files on every machine running it: sent
- brother on every machine running it: sent
**Transitions**
- 2026-10-21 16:41 (new) → proposed (announced): novox/mesh-controller#425's head announced
- 2026-10-21 16:50 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
- 2026-10-21 16:50 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-21 16:55 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
- 2026-10-21 16:55 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-21 17:06 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: cmd/mesh-controller/declaration_capability_integration_test.go, cmd/mesh-controller/declaration_files_integration_test.go, cmd/mesh-controller/declaration_files_test.go, cmd/mesh-controller/declaration_room_test.go, internal/broker/declaration_files_live_test.go, internal/broker/declaration_files_test.go, internal/broker/testdata/composed.conf, internal/broker/writers_test.go, internal/link/checks_nats_integration_test.go, internal/link/held_asks_test.go, testdata/beside/CAPTURED
Run by the build seat on ace as build-1792600865963732749 (builds --log build-1792600865963732749).
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.
Issues 1696, 1697, 1698 (the controller step of ADR 0486 as changed by ADR 0488: files over 64 KiB travel by digest through one object bucket per node, declaration-files-, granted to that node alone, with a per-node lock between put and publish, a sweep that re-reads the mark, and a condition when a put fails), 1649 (build queue: a held ask is not handed out twice), and the lasting fix of 1689 (a declaration far under the bus limit).
One delivery group with mesh-host #128 (feat/1696-declaration-files): the per-node bucket milestone.
Try: build-1792600381227199684 passed at
8fc0d135(6m39s).Non-blocking issues from the review: 1734, 1735, 1736, 1747.
fix/1649 (
3217f097) reviewed and approved by reviewer-1649, merged in.Reviewed-by: reviewer-1696@shanks at
8fc0d135bbDelivery
novox/mesh-controller@8fc0d135bbe2— delivered since 2026-10-21T17:06:58ZDelivery 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
8fc0d135Judged: head
8fc0d135bbe2merged into trunkd568d76b9710; read beside it: mesh-catalog7a7a4034852a, mesh-controller-maind568d76b9710, mesh-host7e83137aa822, mesh-toolse0fadc43d9ddmesh/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-1792600865963732749(builds --log build-1792600865963732749).