Milestone upgrade-safety (ADR 0507, ADR 0508, ADR 0510), one delivery group with mesh-sdk, mesh-catalog and hq on the branch feat/upgrade-safety. R4e's fourth prerequisite (ADR 0513 §1).
mesh-controller part (issue 1840 S3, S3b): the state declared-packages holds, per node, every package the modules assigned to it declare, present or absent, with the declaring modules, written only on change; the pacman module reads it. A proof that a process may watch its own state's bucket and no other. Pinned and vendored at the group's mesh-sdk head 8892a117 (which contains main's #68).
Checks: whole unit suite, vet with and without the integration tag; try build-1792685753183148105 passed (trunk 41c96287).
Milestone upgrade-safety (ADR 0507, ADR 0508, ADR 0510), one delivery group with mesh-sdk, mesh-catalog and hq on the branch feat/upgrade-safety. R4e's fourth prerequisite (ADR 0513 §1).
mesh-controller part (issue 1840 S3, S3b): the state `declared-packages` holds, per node, every package the modules assigned to it declare, present or absent, with the declaring modules, written only on change; the pacman module reads it. A proof that a process may watch its own state's bucket and no other. Pinned and vendored at the group's mesh-sdk head 8892a117 (which contains main's #68).
Checks: whole unit suite, vet with and without the integration tag; try build-1792685753183148105 passed (trunk 41c96287).
Reviewed-by: reviewer-us@shanks at abe356a262e8cba25ac1fa52ed889bc4308411b2
mesh/merge-gate head abe356a262e8 merged into trunk 41c96287578e — pass: group feat/upgrade-safety composed: every machine composes with the change as it d…
mesh/check failed: unit: ..test: node:internal/modules/esm/resolve:241 | abe356a262e8 on 41c96287578e | unit 3372 run, 0 kept, 7 skipped | integration…
mesh/delivery covered after its failure: a later walk that contains it was delivered: plan-1792694058124013462 (novox/mesh-controller at 96441ea2 into ma…
Deliverynovox/mesh-controller@abe356a262e8 — failed since 2026-10-22T18:50:19Z
Covered: covered after its failure: a later walk that contains it was delivered: plan-1792694058124013462 (novox/mesh-controller at 96441ea2 into main, done, contains its merge 96441ea2)
Delivery plan — builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step
tier 0: mesh-controller
tier 1: build-agent
ace: receives build-agent
g14: receives build-agent
novox: receives mesh-controller, build-agent
shanks: receives build-agent
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 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)
Machines
mesh-controller on every machine running it: sent
mesh-sdk on every machine running it: sent
build-agent on every machine running it: sent
kernel on every machine running it: sent
mesh-tools on every machine running it: sent
pacman on every machine running it: sent
audit-logger on every machine running it: sent
baserow on every machine running it: sent
bazarr on every machine running it: sent
bookshelf on every machine running it: sent
confluence on every machine running it: sent
gitea on every machine running it: sent
gitlab on every machine running it: sent
grafana on every machine running it: sent
home-assistant on every machine running it: sent
icecast on every machine running it: sent
influxdb on every machine running it: sent
jackett on every machine running it: sent
jira on every machine running it: sent
kometa on every machine running it: sent
lab on every machine running it: sent
letta on every machine running it: sent
lidarr on every machine running it: sent
mesh-catalog on every machine running it: sent
model-usage on every machine running it: sent
mosquitto on every machine running it: sent
netcheck on every machine running it: sent
nextcloud on every machine running it: sent
nodered on every machine running it: sent
ombi on every machine running it: sent
openai-consumer on every machine running it: sent
radarr on every machine running it: sent
redis on every machine running it: sent
route-adapter on every machine running it: sent
searxng on every machine running it: sent
showcase on every machine running it: sent
sonarr on every machine running it: sent
tautulli on every machine running it: sent
umami on every machine running it: sent
unifi on every machine running it: sent
zsh on every machine running it: sent
Transitions
2026-10-22 16:55 (new) → proposed (announced): novox/mesh-controller#439's head announced
2026-10-22 17:10 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
2026-10-22 17:10 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-22 18:36 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
2026-10-22 18:36 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-22 18:50 delivering → failed (failed): its walk failed, carrying its own commit: a gate on a first machine (what it carried put back), a build, a machine
The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-controller@abe356a262e8` — **failed** since 2026-10-22T18:50:19Z
**Covered**: covered after its failure: a later walk that contains it was delivered: plan-1792694058124013462 (novox/mesh-controller at 96441ea2 into main, done, contains its merge 96441ea2)
**Delivery plan** — builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step
- tier 0: mesh-controller
- tier 1: build-agent
- ace: receives build-agent
- g14: receives build-agent
- novox: receives mesh-controller, build-agent
- shanks: receives build-agent
- 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 build-agent is judged on its first machine
**Group** `feat/upgrade-safety`: novox/hq@333e73830c31, novox/mesh-catalog@86ba54b06e09, novox/mesh-controller@abe356a262e8, novox/mesh-sdk@8892a1176800
- composed together: pass — every machine composes with the change as it did without (4 of 4 compose)
**Machines**
- mesh-controller on every machine running it: sent
- mesh-sdk on every machine running it: sent
- build-agent on every machine running it: sent
- kernel on every machine running it: sent
- mesh-tools on every machine running it: sent
- pacman on every machine running it: sent
- audit-logger on every machine running it: sent
- baserow on every machine running it: sent
- bazarr on every machine running it: sent
- bookshelf on every machine running it: sent
- confluence on every machine running it: sent
- gitea on every machine running it: sent
- gitlab on every machine running it: sent
- grafana on every machine running it: sent
- home-assistant on every machine running it: sent
- icecast on every machine running it: sent
- influxdb on every machine running it: sent
- jackett on every machine running it: sent
- jira on every machine running it: sent
- kometa on every machine running it: sent
- lab on every machine running it: sent
- letta on every machine running it: sent
- lidarr on every machine running it: sent
- mesh-catalog on every machine running it: sent
- model-usage on every machine running it: sent
- mosquitto on every machine running it: sent
- netcheck on every machine running it: sent
- nextcloud on every machine running it: sent
- nodered on every machine running it: sent
- ombi on every machine running it: sent
- openai-consumer on every machine running it: sent
- radarr on every machine running it: sent
- redis on every machine running it: sent
- route-adapter on every machine running it: sent
- searxng on every machine running it: sent
- showcase on every machine running it: sent
- sonarr on every machine running it: sent
- tautulli on every machine running it: sent
- umami on every machine running it: sent
- unifi on every machine running it: sent
- zsh on every machine running it: sent
**Transitions**
- 2026-10-22 16:55 (new) → proposed (announced): novox/mesh-controller#439's head announced
- 2026-10-22 17:10 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
- 2026-10-22 17:10 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-22 18:36 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
- 2026-10-22 18:36 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-22 18:50 delivering → failed (failed): its walk failed, carrying its own commit: a gate on a first machine (what it carried put back), a build, a machine
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.
Milestone upgrade-safety (ADR 0507, ADR 0508, ADR 0510), one delivery group with mesh-sdk, mesh-catalog and hq on the branch feat/upgrade-safety. R4e's fourth prerequisite (ADR 0513 §1).
mesh-controller part (issue 1840 S3, S3b): the state
declared-packagesholds, per node, every package the modules assigned to it declare, present or absent, with the declaring modules, written only on change; the pacman module reads it. A proof that a process may watch its own state's bucket and no other. Pinned and vendored at the group's mesh-sdk head 8892a117 (which contains main's #68).Checks: whole unit suite, vet with and without the integration tag; try build-1792685753183148105 passed (trunk
41c96287).Reviewed-by: reviewer-us@shanks at
abe356a262Delivery
novox/mesh-controller@abe356a262e8— failed since 2026-10-22T18:50:19ZCovered: covered after its failure: a later walk that contains it was delivered: plan-1792694058124013462 (novox/mesh-controller at
96441ea2into main, done, contains its merge96441ea2)Delivery plan — builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step
Group
feat/upgrade-safety: novox/hq@333e73830c, novox/mesh-catalog@86ba54b06e, novox/mesh-controller@abe356a262, novox/mesh-sdk@8892a11768Machines
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.