Feature 57's catalogue on top of main: tree 571ef079 = the release branch (#328, reviewed: feature r3, sync, issues 874, 877, 894, 820) merged with main ee1b15d7 (clean; adds only #329, issue 902). Two commits: the patch, and ten files' blank last line the patch route drops (issue 875). Delivery group bundle B with mesh-tools, mesh-media-catalog, photos and de-spiegel. Left out: amqp-email-forwarder, f1-circuits, txt-game (the mesh's forge account may not write there; they keep today's inline text). Operator's word: 10:10, 10:26, 11:20. After its delivery: mesh-controller.secret-move (needs the new mesh-vault).
Feature 57's catalogue on top of main: tree 571ef079 = the release branch (#328, reviewed: feature r3, sync, issues 874, 877, 894, 820) merged with main ee1b15d7 (clean; adds only #329, issue 902). Two commits: the patch, and ten files' blank last line the patch route drops (issue 875). Delivery group bundle B with mesh-tools, mesh-media-catalog, photos and de-spiegel. Left out: amqp-email-forwarder, f1-circuits, txt-game (the mesh's forge account may not write there; they keep today's inline text). Operator's word: 10:10, 10:26, 11:20. After its delivery: mesh-controller.secret-move (needs the new mesh-vault).
mesh/merge-gate head a31ad48b024d merged into trunk ee1b15d7f066 — pass, with a note: builds adwaita, artifact-store-tools, asus-zephyrus-g14, baserow, bet…
mesh/repo-check head a31ad48b024d merged into trunk ee1b15d7f066 — pass: THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): main's version judged it; the ch…
baserow keeps data (ADR 0233): what it holds is backed up before it moves
betterbird waits for a person: its policy records (person)
build-agent keeps data (ADR 0233): what it holds is backed up before it moves
claude-code keeps data (ADR 0233): what it holds is backed up before it moves
dnsmasq waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
dnsmasq provides wildcard-resolution: its consumers are sent again after it
gitea provides npm-package-registry, git: its consumers are sent again after it
gitea keeps data (ADR 0233): what it holds is backed up before it moves
grafana keeps data (ADR 0233): what it holds is backed up before it moves
home-assistant keeps data (ADR 0233): what it holds is backed up before it moves
icecast keeps data (ADR 0233): what it holds is backed up before it moves
influxdb provides influxdb-api: its consumers are sent again after it
influxdb keeps data (ADR 0233): what it holds is backed up before it moves
keycloak waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
keycloak provides oidc-client: its consumers are sent again after it
keycloak keeps data (ADR 0233): what it holds is backed up before it moves
lab keeps data (ADR 0233): what it holds is backed up before it moves
mailu waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
mailu provides smtp: its consumers are sent again after it
mailu keeps data (ADR 0233): what it holds is backed up before it moves
matrix keeps data (ADR 0233): what it holds is backed up before it moves
mesh-vault provides secret: its consumers are sent again after it
mesh-vault keeps data (ADR 0233): what it holds is backed up before it moves
minio waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
minio provides s3-bucket: its consumers are sent again after it
minio keeps data (ADR 0233): what it holds is backed up before it moves
mongodb waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
mongodb provides mongodb-database: its consumers are sent again after it
mongodb keeps data (ADR 0233): what it holds is backed up before it moves
mosquitto provides mqtt-topic: its consumers are sent again after it
mosquitto keeps data (ADR 0233): what it holds is backed up before it moves
mssql waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
mssql provides mssql-database: its consumers are sent again after it
mssql keeps data (ADR 0233): what it holds is backed up before it moves
n8n keeps data (ADR 0233): what it holds is backed up before it moves
merging this needs a person's bus upgrade: nats is never sent by an ordinary send, and until mesh_call mesh-controller.bus {"upgrade": "true", "why": "…", "reversible" or "irreversible": "true"} runs, nothing else is sent to novox either — unless the new build turns out the same as the one running there (issue 280)
nats provides mesh-bus: its consumers are sent again after it
nats keeps data (ADR 0233): what it holds is backed up before it moves
networkmanager waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
nextcloud keeps data (ADR 0233): what it holds is backed up before it moves
nfs-server waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
nfs-server provides nfs-share: its consumers are sent again after it
nfs-server keeps data (ADR 0233): what it holds is backed up before it moves
nftables waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
nodered keeps data (ADR 0233): what it holds is backed up before it moves
only-office keeps data (ADR 0233): what it holds is backed up before it moves
postgres waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
postgres provides postgres-database: its consumers are sent again after it
postgres keeps data (ADR 0233): what it holds is backed up before it moves
records keeps data (ADR 0233): what it holds is backed up before it moves
redis provides redis-cache: its consumers are sent again after it
redis keeps data (ADR 0233): what it holds is backed up before it moves
restic keeps data (ADR 0233): what it holds is backed up before it moves
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
searxng keeps data (ADR 0233): what it holds is backed up before it moves
ssh-client keeps data (ADR 0233): what it holds is backed up before it moves
sshd waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
step-ca provides internal-acme-ca: its consumers are sent again after it
step-ca keeps data (ADR 0233): what it holds is backed up before it moves
supabase keeps data (ADR 0233): what it holds is backed up before it moves
systemd-networkd waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
umami provides analytics: its consumers are sent again after it
umami keeps data (ADR 0233): what it holds is backed up before it moves
unifi keeps data (ADR 0233): what it holds is backed up before it moves
xorg provides x11-display: its consumers are sent again after it
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 adwaita, asus-zephyrus-g14, baserow, build-agent, ca-trust, claude-code, clipmenu, docker, dunst, fail2ban, feh, fonts, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, kernel, lab, lemurs, letta, localization, logrotate, matrix, memory-pressure, mesh-cli, mosquitto, mounts, n8n, node-env, nodered, pacman, picom, polychromatic, power, powerlevel10k, redis, restic, rofi, route-proxy, screen-lock, searxng, slack, ssh-client, sudo, supabase, time-sync, triggerhappy, unifi, xdg, xorg, xterm, zsh, zsh-autosuggestions, zsh-syntax-highlighting is judged on its first machine
Machines
confluence on every machine running it: sent
gitlab on every machine running it: sent
jira on every machine running it: sent
mesh-watcher on every machine running it: sent
route-adapter on every machine running it: sent
zfs on every machine running it: sent
adwaita on every machine running it: sent
artifact-store-tools on every machine running it: sent
asus-zephyrus-g14 on every machine running it: sent
baserow on every machine running it: sent
build-agent on every machine running it: sent
ca-trust on every machine running it: sent
claude-code on every machine running it: sent
claude-licence-manager on every machine running it: sent
clipmenu on every machine running it: sent
desk-channel on every machine running it: sent
dnsmasq on every machine running it: sent
docker on every machine running it: sent
dunst on every machine running it: sent
fail2ban on every machine running it: sent
feh on every machine running it: sent
fonts on every machine running it: sent
gitea on every machine running it: sent
gnome-keyring on every machine running it: sent
grafana on every machine running it: sent
home-assistant on every machine running it: sent
hostname on every machine running it: sent
i3 on every machine running it: sent
i3status-rust on every machine running it: sent
icecast on every machine running it: sent
influxdb on every machine running it: sent
invoicing on every machine running it: sent
kernel on every machine running it: sent
lab on every machine running it: sent
lemurs on every machine running it: sent
letta on every machine running it: sent
localization on every machine running it: sent
logrotate on every machine running it: sent
matrix on every machine running it: sent
memory-pressure on every machine running it: sent
mesh-catalog on every machine running it: sent
mesh-cli on every machine running it: sent
mesh-issues on every machine running it: sent
mesh-knowledge on every machine running it: sent
mesh-mail on every machine running it: sent
mesh-vault on every machine running it: sent
messenger on every machine running it: sent
minio on every machine running it: sent
mongodb on every machine running it: sent
mosquitto on every machine running it: sent
mounts on every machine running it: sent
mssql on every machine running it: sent
n8n on every machine running it: sent
networkmanager on every machine running it: sent
nextcloud on every machine running it: sent
nftables on every machine running it: sent
node-env on every machine running it: sent
nodered on every machine running it: sent
only-office on every machine running it: sent
pacman on every machine running it: sent
picom on every machine running it: sent
polychromatic on every machine running it: sent
postgres on every machine running it: sent
power on every machine running it: sent
powerlevel10k on every machine running it: sent
records on every machine running it: sent
redis on every machine running it: sent
restic on every machine running it: sent
rofi on every machine running it: sent
route-proxy on every machine running it: sent
screen-lock on every machine running it: sent
searxng on every machine running it: sent
slack on every machine running it: sent
ssh-client on every machine running it: sent
sshd on every machine running it: sent
step-ca on every machine running it: sent
sudo on every machine running it: sent
supabase on every machine running it: sent
systemd-networkd on every machine running it: sent
time-sync on every machine running it: sent
triggerhappy on every machine running it: sent
umami on every machine running it: sent
unifi on every machine running it: sent
xdg on every machine running it: sent
xorg on every machine running it: sent
xterm on every machine running it: sent
zsh on every machine running it: sent
zsh-autosuggestions on every machine running it: sent
zsh-syntax-highlighting on every machine running it: sent
Transitions
2026-10-16 09:44 (new) → proposed (announced): novox/mesh-catalog#330's head announced
2026-10-16 10:09 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
2026-10-16 10:09 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-16 10:46 ready → proposed (recheck): its checks ran while novox's disks were saturated (issue 905) and novox's builder is now paused; check it again on shanks or ace
2026-10-16 10:56 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
2026-10-16 10:56 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-16 10:59 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
2026-10-16 10:59 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-16 11:37 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-catalog@a31ad48b024d` — **delivered** since 2026-10-16T11:37:36Z
**Delivery plan** — builds adwaita, artifact-store-tools, asus-zephyrus-g14, baserow, betterbird, build-agent, ca-trust, claude-code, claude-licence-manager, clipmenu, confluence, desk-channel, dnsmasq, docker, dunst, fail2ban, feh, fonts, gitea, gitlab, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, invoicing, jira, kernel, keycloak, lab, lemurs, letta, localization, logrotate, mailu, matrix, memory-pressure, mesh-catalog, mesh-cli, mesh-issues, mesh-knowledge, mesh-mail, mesh-vault, mesh-watcher, messenger, minio, mongodb, mosquitto, mounts, mssql, n8n, nats, networkmanager, nextcloud, nfs-server, nftables, node-env, nodered, only-office, pacman, picom, polychromatic, postgres, power, powerlevel10k, records, redis, restic, rofi, route-adapter, route-proxy, screen-lock, searxng, slack, ssh-client, sshd, step-ca, sudo, supabase, systemd-networkd, time-sync, triggerhappy, umami, unifi, xdg, xorg, xterm, zfs, zsh, zsh-autosuggestions, zsh-syntax-highlighting, new: modules/de-spiegel, modules/hello-web, modules/local-model-consumer, modules/mesh-config, modules/mesh-provisioner, modules/mesh-provisioner-client, modules/model-usage, modules/showcase → ace, g14, novox, shanks; merging this needs a person's bus upgrade; 26 wait(s) for a person
- tier 0: adwaita, artifact-store-tools, asus-zephyrus-g14, baserow, betterbird, build-agent, ca-trust, claude-code, claude-licence-manager, clipmenu, confluence, desk-channel, dnsmasq, docker, dunst, fail2ban, feh, fonts, gitea, gitlab, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, invoicing, jira, kernel, keycloak, lab, lemurs, letta, localization, logrotate, mailu, matrix, memory-pressure, mesh-catalog, mesh-cli, mesh-issues, mesh-knowledge, mesh-mail, mesh-vault, mesh-watcher, messenger, minio, mongodb, mosquitto, mounts, mssql, n8n, nats, networkmanager, nextcloud, nfs-server, nftables, node-env, nodered, only-office, pacman, picom, polychromatic, postgres, power, powerlevel10k, records, redis, restic, rofi, route-adapter, route-proxy, screen-lock, searxng, slack, ssh-client, sshd, step-ca, sudo, supabase, systemd-networkd, time-sync, triggerhappy, umami, unifi, xdg, xorg, xterm, zfs, zsh, zsh-autosuggestions, zsh-syntax-highlighting
- ace: receives baserow, build-agent, ca-trust, claude-code, docker, fail2ban, grafana, home-assistant, hostname, icecast, influxdb, kernel, letta, localization, logrotate, matrix, mesh-cli, mosquitto, n8n, node-env, nodered, pacman, power, powerlevel10k, redis, restic, route-proxy, searxng, ssh-client, sudo, supabase, time-sync, unifi, zsh, zsh-autosuggestions, zsh-syntax-highlighting; waits for a person: dnsmasq, mssql, networkmanager, nfs-server, nftables, postgres, sshd
- g14: receives adwaita, asus-zephyrus-g14, build-agent, ca-trust, claude-code, clipmenu, docker, dunst, fail2ban, feh, fonts, gnome-keyring, hostname, i3, i3status-rust, kernel, lemurs, localization, logrotate, memory-pressure, mesh-cli, node-env, pacman, picom, polychromatic, power, powerlevel10k, restic, rofi, screen-lock, slack, ssh-client, sudo, time-sync, triggerhappy, xdg, xorg, xterm, zsh, zsh-autosuggestions, zsh-syntax-highlighting; waits for a person: betterbird, networkmanager, nftables, sshd
- novox: receives artifact-store-tools, build-agent, ca-trust, claude-code, claude-licence-manager, desk-channel, docker, fail2ban, gitea, hostname, invoicing, kernel, localization, logrotate, mesh-catalog, mesh-cli, mesh-issues, mesh-knowledge, mesh-mail, mesh-vault, messenger, nextcloud, node-env, only-office, pacman, power, powerlevel10k, records, restic, route-proxy, ssh-client, step-ca, sudo, time-sync, umami, zsh, zsh-autosuggestions, zsh-syntax-highlighting; waits for a person: dnsmasq, keycloak, mailu, minio, mongodb, mssql, nats, nftables, postgres, sshd, systemd-networkd
- shanks: receives adwaita, build-agent, ca-trust, claude-code, clipmenu, docker, dunst, fail2ban, feh, fonts, gnome-keyring, hostname, i3, i3status-rust, kernel, lab, lemurs, localization, logrotate, mesh-cli, mounts, node-env, pacman, picom, polychromatic, power, powerlevel10k, restic, rofi, screen-lock, slack, ssh-client, sudo, time-sync, xdg, xorg, xterm, zsh, zsh-autosuggestions, zsh-syntax-highlighting; waits for a person: betterbird, networkmanager, nftables, sshd
- baserow keeps data (ADR 0233): what it holds is backed up before it moves
- betterbird waits for a person: its policy records (person)
- build-agent keeps data (ADR 0233): what it holds is backed up before it moves
- claude-code keeps data (ADR 0233): what it holds is backed up before it moves
- dnsmasq waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- dnsmasq provides wildcard-resolution: its consumers are sent again after it
- gitea provides npm-package-registry, git: its consumers are sent again after it
- gitea keeps data (ADR 0233): what it holds is backed up before it moves
- grafana keeps data (ADR 0233): what it holds is backed up before it moves
- home-assistant keeps data (ADR 0233): what it holds is backed up before it moves
- icecast keeps data (ADR 0233): what it holds is backed up before it moves
- influxdb provides influxdb-api: its consumers are sent again after it
- influxdb keeps data (ADR 0233): what it holds is backed up before it moves
- keycloak waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- keycloak provides oidc-client: its consumers are sent again after it
- keycloak keeps data (ADR 0233): what it holds is backed up before it moves
- lab keeps data (ADR 0233): what it holds is backed up before it moves
- mailu waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- mailu provides smtp: its consumers are sent again after it
- mailu keeps data (ADR 0233): what it holds is backed up before it moves
- matrix keeps data (ADR 0233): what it holds is backed up before it moves
- mesh-vault provides secret: its consumers are sent again after it
- mesh-vault keeps data (ADR 0233): what it holds is backed up before it moves
- minio waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- minio provides s3-bucket: its consumers are sent again after it
- minio keeps data (ADR 0233): what it holds is backed up before it moves
- mongodb waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- mongodb provides mongodb-database: its consumers are sent again after it
- mongodb keeps data (ADR 0233): what it holds is backed up before it moves
- mosquitto provides mqtt-topic: its consumers are sent again after it
- mosquitto keeps data (ADR 0233): what it holds is backed up before it moves
- mssql waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- mssql provides mssql-database: its consumers are sent again after it
- mssql keeps data (ADR 0233): what it holds is backed up before it moves
- n8n keeps data (ADR 0233): what it holds is backed up before it moves
- merging this needs a person's bus upgrade: nats is never sent by an ordinary send, and until `mesh_call mesh-controller.bus {"upgrade": "true", "why": "…", "reversible" or "irreversible": "true"}` runs, nothing else is sent to novox either — unless the new build turns out the same as the one running there (issue 280)
- nats provides mesh-bus: its consumers are sent again after it
- nats keeps data (ADR 0233): what it holds is backed up before it moves
- networkmanager waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- nextcloud keeps data (ADR 0233): what it holds is backed up before it moves
- nfs-server waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- nfs-server provides nfs-share: its consumers are sent again after it
- nfs-server keeps data (ADR 0233): what it holds is backed up before it moves
- nftables waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- nodered keeps data (ADR 0233): what it holds is backed up before it moves
- only-office keeps data (ADR 0233): what it holds is backed up before it moves
- postgres waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- postgres provides postgres-database: its consumers are sent again after it
- postgres keeps data (ADR 0233): what it holds is backed up before it moves
- records keeps data (ADR 0233): what it holds is backed up before it moves
- redis provides redis-cache: its consumers are sent again after it
- redis keeps data (ADR 0233): what it holds is backed up before it moves
- restic keeps data (ADR 0233): what it holds is backed up before it moves
- 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
- searxng keeps data (ADR 0233): what it holds is backed up before it moves
- ssh-client keeps data (ADR 0233): what it holds is backed up before it moves
- sshd waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- step-ca provides internal-acme-ca: its consumers are sent again after it
- step-ca keeps data (ADR 0233): what it holds is backed up before it moves
- supabase keeps data (ADR 0233): what it holds is backed up before it moves
- systemd-networkd waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- umami provides analytics: its consumers are sent again after it
- umami keeps data (ADR 0233): what it holds is backed up before it moves
- unifi keeps data (ADR 0233): what it holds is backed up before it moves
- xorg provides x11-display: its consumers are sent again after it
- 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 adwaita, asus-zephyrus-g14, baserow, build-agent, ca-trust, claude-code, clipmenu, docker, dunst, fail2ban, feh, fonts, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, kernel, lab, lemurs, letta, localization, logrotate, matrix, memory-pressure, mesh-cli, mosquitto, mounts, n8n, node-env, nodered, pacman, picom, polychromatic, power, powerlevel10k, redis, restic, rofi, route-proxy, screen-lock, searxng, slack, ssh-client, sudo, supabase, time-sync, triggerhappy, unifi, xdg, xorg, xterm, zsh, zsh-autosuggestions, zsh-syntax-highlighting is judged on its first machine
**Machines**
- confluence on every machine running it: sent
- gitlab on every machine running it: sent
- jira on every machine running it: sent
- mesh-watcher on every machine running it: sent
- route-adapter on every machine running it: sent
- zfs on every machine running it: sent
- adwaita on every machine running it: sent
- artifact-store-tools on every machine running it: sent
- asus-zephyrus-g14 on every machine running it: sent
- baserow on every machine running it: sent
- build-agent on every machine running it: sent
- ca-trust on every machine running it: sent
- claude-code on every machine running it: sent
- claude-licence-manager on every machine running it: sent
- clipmenu on every machine running it: sent
- desk-channel on every machine running it: sent
- dnsmasq on every machine running it: sent
- docker on every machine running it: sent
- dunst on every machine running it: sent
- fail2ban on every machine running it: sent
- feh on every machine running it: sent
- fonts on every machine running it: sent
- gitea on every machine running it: sent
- gnome-keyring on every machine running it: sent
- grafana on every machine running it: sent
- home-assistant on every machine running it: sent
- hostname on every machine running it: sent
- i3 on every machine running it: sent
- i3status-rust on every machine running it: sent
- icecast on every machine running it: sent
- influxdb on every machine running it: sent
- invoicing on every machine running it: sent
- kernel on every machine running it: sent
- lab on every machine running it: sent
- lemurs on every machine running it: sent
- letta on every machine running it: sent
- localization on every machine running it: sent
- logrotate on every machine running it: sent
- matrix on every machine running it: sent
- memory-pressure on every machine running it: sent
- mesh-catalog on every machine running it: sent
- mesh-cli on every machine running it: sent
- mesh-issues on every machine running it: sent
- mesh-knowledge on every machine running it: sent
- mesh-mail on every machine running it: sent
- mesh-vault on every machine running it: sent
- messenger on every machine running it: sent
- minio on every machine running it: sent
- mongodb on every machine running it: sent
- mosquitto on every machine running it: sent
- mounts on every machine running it: sent
- mssql on every machine running it: sent
- n8n on every machine running it: sent
- networkmanager on every machine running it: sent
- nextcloud on every machine running it: sent
- nftables on every machine running it: sent
- node-env on every machine running it: sent
- nodered on every machine running it: sent
- only-office on every machine running it: sent
- pacman on every machine running it: sent
- picom on every machine running it: sent
- polychromatic on every machine running it: sent
- postgres on every machine running it: sent
- power on every machine running it: sent
- powerlevel10k on every machine running it: sent
- records on every machine running it: sent
- redis on every machine running it: sent
- restic on every machine running it: sent
- rofi on every machine running it: sent
- route-proxy on every machine running it: sent
- screen-lock on every machine running it: sent
- searxng on every machine running it: sent
- slack on every machine running it: sent
- ssh-client on every machine running it: sent
- sshd on every machine running it: sent
- step-ca on every machine running it: sent
- sudo on every machine running it: sent
- supabase on every machine running it: sent
- systemd-networkd on every machine running it: sent
- time-sync on every machine running it: sent
- triggerhappy on every machine running it: sent
- umami on every machine running it: sent
- unifi on every machine running it: sent
- xdg on every machine running it: sent
- xorg on every machine running it: sent
- xterm on every machine running it: sent
- zsh on every machine running it: sent
- zsh-autosuggestions on every machine running it: sent
- zsh-syntax-highlighting on every machine running it: sent
**Transitions**
- 2026-10-16 09:44 (new) → proposed (announced): novox/mesh-catalog#330's head announced
- 2026-10-16 10:09 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
- 2026-10-16 10:09 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-16 10:46 ready → proposed (recheck): its checks ran while novox's disks were saturated (issue 905) and novox's builder is now paused; check it again on shanks or ace
- 2026-10-16 10:56 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
- 2026-10-16 10:56 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-16 10:59 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
- 2026-10-16 10:59 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-16 11:37 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/repo-check: PASS — THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): main's version judged it; the change's judges the pull requests after it merges; its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)
baserow keeps data (ADR 0233): what it holds is backed up before it moves
betterbird waits for a person: its policy records (person)
build-agent keeps data (ADR 0233): what it holds is backed up before it moves
claude-code keeps data (ADR 0233): what it holds is backed up before it moves
dnsmasq waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
dnsmasq provides wildcard-resolution: its consumers are sent again after it
gitea provides npm-package-registry, git: its consumers are sent again after it
gitea keeps data (ADR 0233): what it holds is backed up before it moves
grafana keeps data (ADR 0233): what it holds is backed up before it moves
home-assistant keeps data (ADR 0233): what it holds is backed up before it moves
icecast keeps data (ADR 0233): what it holds is backed up before it moves
influxdb provides influxdb-api: its consumers are sent again after it
influxdb keeps data (ADR 0233): what it holds is backed up before it moves
keycloak waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
keycloak provides oidc-client: its consumers are sent again after it
keycloak keeps data (ADR 0233): what it holds is backed up before it moves
lab keeps data (ADR 0233): what it holds is backed up before it moves
mailu waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
mailu provides smtp: its consumers are sent again after it
mailu keeps data (ADR 0233): what it holds is backed up before it moves
matrix keeps data (ADR 0233): what it holds is backed up before it moves
mesh-vault provides secret: its consumers are sent again after it
mesh-vault keeps data (ADR 0233): what it holds is backed up before it moves
minio waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
minio provides s3-bucket: its consumers are sent again after it
minio keeps data (ADR 0233): what it holds is backed up before it moves
mongodb waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
mongodb provides mongodb-database: its consumers are sent again after it
mongodb keeps data (ADR 0233): what it holds is backed up before it moves
mosquitto provides mqtt-topic: its consumers are sent again after it
mosquitto keeps data (ADR 0233): what it holds is backed up before it moves
mssql waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
mssql provides mssql-database: its consumers are sent again after it
mssql keeps data (ADR 0233): what it holds is backed up before it moves
n8n keeps data (ADR 0233): what it holds is backed up before it moves
merging this needs a person's bus upgrade: nats is never sent by an ordinary send, and until mesh_call mesh-controller.bus {"upgrade": "true", "why": "…", "reversible" or "irreversible": "true"} runs, nothing else is sent to novox either — unless the new build turns out the same as the one running there (issue 280)
nats provides mesh-bus: its consumers are sent again after it
nats keeps data (ADR 0233): what it holds is backed up before it moves
networkmanager waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
nextcloud keeps data (ADR 0233): what it holds is backed up before it moves
nfs-server waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
nfs-server provides nfs-share: its consumers are sent again after it
nfs-server keeps data (ADR 0233): what it holds is backed up before it moves
nftables waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
nodered keeps data (ADR 0233): what it holds is backed up before it moves
only-office keeps data (ADR 0233): what it holds is backed up before it moves
postgres waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
postgres provides postgres-database: its consumers are sent again after it
postgres keeps data (ADR 0233): what it holds is backed up before it moves
records keeps data (ADR 0233): what it holds is backed up before it moves
redis provides redis-cache: its consumers are sent again after it
redis keeps data (ADR 0233): what it holds is backed up before it moves
restic keeps data (ADR 0233): what it holds is backed up before it moves
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
searxng keeps data (ADR 0233): what it holds is backed up before it moves
ssh-client keeps data (ADR 0233): what it holds is backed up before it moves
sshd waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
step-ca provides internal-acme-ca: its consumers are sent again after it
step-ca keeps data (ADR 0233): what it holds is backed up before it moves
supabase keeps data (ADR 0233): what it holds is backed up before it moves
systemd-networkd waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
umami provides analytics: its consumers are sent again after it
umami keeps data (ADR 0233): what it holds is backed up before it moves
unifi keeps data (ADR 0233): what it holds is backed up before it moves
xorg provides x11-display: its consumers are sent again after it
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 adwaita, asus-zephyrus-g14, baserow, build-agent, ca-trust, claude-code, clipmenu, docker, dunst, fail2ban, feh, fonts, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, kernel, lab, lemurs, letta, localization, logrotate, matrix, memory-pressure, mesh-cli, mosquitto, mounts, n8n, node-env, nodered, pacman, picom, polychromatic, power, powerlevel10k, redis, restic, rofi, route-proxy, screen-lock, searxng, slack, ssh-client, sudo, supabase, time-sync, triggerhappy, unifi, xdg, xorg, xterm, zsh, zsh-autosuggestions, zsh-syntax-highlighting is judged on its first machine
Run by the build seat on shanks as build-1792143929667880283 (builds --log build-1792143929667880283).
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 105.329867
type-checking modules/mesh-catalog (TypeScript)
testing modules/mesh-catalog (TypeScript)
✔ the catalogue hears the build seat that builds now, not only the retired one (issue 712) (3.803653ms)
✔ a walk's build is placed, under its module and commit (0.64658ms)
✔ a merge check, a try, a dry run and a failure are passed over without a fault (0.241424ms)
✔ an outcome that names no module or commit is said as the builder's fault (0.184943ms)
✔ a branch built through the build verb is passed over; a commit on the trunk, or from a seat that names none, is placed (ADR 0238) (0.166783ms)
ℹ tests 5
ℹ suites 0
ℹ pass 5
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 93.367622
type-checking modules/minio (TypeScript)
NOT TESTED: modules/minio is TypeScript and has no tests of its own
type-checking modules/model-usage (TypeScript)
testing modules/model-usage (TypeScript)
✔ a store that refuses a row is thrown, so the event is offered again, and it is spooled (52.929866ms)
✔ a redelivered event writes the same reading, never a second, and clears its spooled copy (23.744913ms)
✔ on its last delivery a usage event is spooled and taken (99.475947ms)
✔ the spool replays once the store answers, and an older reading replayed late does not overwrite a newer (75.805064ms)
✔ an event without a body is taken without a TypeError; a row the store could never take is skipped, not retried (0.736422ms)
✔ model_usage_status reports the spool, and is offered even when the store cannot be opened (44.230882ms)
﹣ against postgres: migrations are numbered and repeatable, and the upsert keeps the reading observed latest (0.157442ms) # TEST_DATABASE_URL is not set
ℹ tests 7
ℹ suites 0
ℹ pass 6
ℹ fail 0
ℹ cancelled 0
ℹ skipped 1
ℹ todo 0
ℹ duration_ms 405.674344
type-checking modules/mongodb (TypeScript)
NOT TESTED: modules/mongodb is TypeScript and has no tests of its own
type-checking modules/mosquitto (TypeScript)
testing modules/mosquitto (TypeScript)
✔ named, the broker's container runs mosquitto_ctrl under the options shell, stdin open (1.228451ms)
✔ unnamed, this machine's mosquitto_ctrl runs under the same shell (0.181483ms)
✔ the options shell itself holds no secret (0.212394ms)
✔ an argv carrying the admin password or a password being set is refused, by name (0.467238ms)
✔ the admin tool refuses a dynsec command that would put a password on a command line (0.237964ms)
✔ the admin's name and password reach mosquitto_ctrl in a 0600 options file, and a password being set at its prompt (9.63548ms)
✔ a consumer that contributed nothing gets its own subtree (1.234501ms)
✔ a contributed list is granted exactly, duplicates once (0.284215ms)
✔ a list that is not topic filters is refused whole (0.258654ms)
✔ getRole's ACL lines are read, the warning and headings are not (0.351116ms)
✔ the role is brought to exactly the wanted ACLs (0.391097ms)
ℹ tests 11
ℹ suites 0
ℹ pass 11
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 105.012982
type-checking modules/mssql (TypeScript)
testing modules/mssql (TypeScript)
✔ a caller's statement runs as the reader, as it was written, on the database it names (2.255237ms)
✔ the reader is made as the administrator, kept out of sysadmin, and granted only reading (0.56173ms)
✔ without the reader's password the statement is refused, and nothing runs as the administrator (0.449388ms)
✔ a consumer's password is checked as a bound parameter, never in the text (1.960873ms)
ℹ tests 4
ℹ suites 0
ℹ pass 4
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 277.017911
type-checking modules/nextcloud (TypeScript)
testing modules/nextcloud (TypeScript)
✔ the vault's password is used, a setting of it is ignored and said once, without its value (1.905352ms)
ℹ tests 1
ℹ suites 0
ℹ pass 1
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 91.156586
type-checking modules/nftables (TypeScript)
testing modules/nftables (TypeScript)
✔ a predecessor's chain in the legacy filter loses its jumps, is flushed and deleted (1.81089ms)
✔ the runtime's user chain is emptied back to its one return, never deleted (0.285595ms)
✔ a chain of the machine's own nftables table goes with the rules that reach it (0.536249ms)
✔ what is not the operator's to remove is refused by name (1.726509ms)
✔ which chains jump to a target is read from a listing (0.260755ms)
✔ the filter's commands run as given by root and through sudo without a prompt by anyone else (0.284575ms)
✔ without a uid given, the process's own decides: as given for root, through sudo for anyone else (0.161892ms)
✔ the filter file is the one the manifest's filtering names (0.411547ms)
✔ a tool is installed when an executable of its name is on the path, and not otherwise (0.666561ms)
✔ a found firewall that is absent guards nothing; one that will not answer stops the removal (0.627081ms)
ℹ tests 10
ℹ suites 0
ℹ pass 10
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 110.732965
type-checking modules/nodered (TypeScript)
testing modules/nodered (TypeScript)
✔ ace: the named broker node is moved to the bound broker and login; the other broker is not touched (2.42743ms)
✔ fresh: with nothing named, the step makes its own broker node (0.357456ms)
✔ a login the broker does not take is never written (0.184323ms)
✔ a named node that is not there, or a loopback broker, is refused (1.028888ms)
✔ a deploy that raced another is read again once (0.55694ms)
✔ settings name broker nodes under mqtt.brokers (0.163793ms)
ℹ tests 6
ℹ suites 0
ℹ pass 6
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 101.95776
modules/powerlevel10k has no TypeScript sources of its own to type-check: its tests read its files
testing modules/powerlevel10k (TypeScript)
✔ the theme archive is built from the vendored release and carries its licence (1.344503ms)
✔ the configuration archive holds the prompt's configuration and nothing else (0.171673ms)
✔ both are unpacked under the account's home, owned by the account (0.153722ms)
✔ the zsh code in the normal slot sources the theme, then the configuration, and turns on no instant prompt (0.380296ms)
✔ the README names the upstream, the version and the licence (0.203464ms)
ℹ tests 5
ℹ suites 0
ℹ pass 5
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 93.360838
type-checking modules/redis (TypeScript)
NOT TESTED: modules/redis is TypeScript and has no tests of its own
type-checking modules/route-adapter (TypeScript)
testing modules/route-adapter (TypeScript)
✔ it writes one route file per contribution, in the predecessor's own shape (7.434604ms)
✔ it removes the file it wrote when that contribution goes (2.895869ms)
✔ it never touches a file it did not write (3.975866ms)
✔ the target port follows what the contributor publishes (1.82531ms)
✔ a contributor on another node is reached at the address the mesh gave it (1.331372ms)
✔ a node's settings are laid over the module's defaults, and nothing else changes (1.266461ms)
✔ a contribution it cannot act on is skipped and named (0.234244ms)
✔ a contribution the file shape cannot say is skipped and says which part (0.258664ms)
✔ it refuses when the predecessor's directory is not there, and says why (2.093305ms)
✔ a body limit is written as the predecessor's buffering middleware (1.890751ms)
✔ a body limit that is not a whole number of bytes is skipped and named (0.315056ms)
ℹ tests 11
ℹ suites 0
ℹ pass 11
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 118.910018
type-checking modules/searxng (TypeScript)
NOT TESTED: modules/searxng is TypeScript and has no tests of its own
type-checking modules/showcase (TypeScript)
NOT TESTED: modules/showcase is TypeScript and has no tests of its own
type-checking modules/umami (TypeScript)
NOT TESTED: modules/umami is TypeScript and has no tests of its own
type-checking modules/unifi (TypeScript)
NOT TESTED: modules/unifi is TypeScript and has no tests of its own
type-checking modules/zsh (TypeScript)
testing modules/zsh (TypeScript)
✔ the exit status and both streams are answered (9.405288ms)
✔ it runs in the directory it is given (4.17424ms)
✔ on timeout the whole process group is ended, a backgrounded grandchild included (503.643661ms)
✔ output beyond the bound is cut and the answer says so (7.027688ms)
✔ a job left in the background does not hold the answer (205.140143ms)
﹣ zsh runs the command as a login shell, when zsh is here (2.771977ms) # zsh is not installed here
✔ the timeout is held below the runtime's call limit (0.173753ms)
✔ the command's environment drops the mesh's words and gains the account's session words when they exist (0.249355ms)
✔ zsh_config counts the mesh's block in a file (3.960646ms)
✔ no file carries its text inline: each names its template, and the build packs files/ into one archive (1.476105ms)
✔ it claims node-login-shell serving execute, and declares no seat (0.134293ms)
✔ the .zshrc block is at the start and holds the three slots in order, after the defaults' header (0.213724ms)
✔ the .zshrc block carries the shared defaults and none of the operator's own lines (0.302576ms)
✔ the .zshenv block sources exactly the environment file node-environment fixes (0.315866ms)
✔ its environment is a contribution: the editor, the configuration home, and three PATH entries at the start (0.60688ms)
✔ it keeps the package and sets the login shell through the user shape (0.146393ms)
✔ the tools bundle registers the seat's verb under node-login-shell (0.256695ms)
✔ execute is a per-machine config value, served unless a machine withholds it (ADR 0268, ADR 0348 §4) (0.474458ms)
✔ the tools bundle registers execute only where the machine's setting serves it (0.411167ms)
✔ execute is served only when the machine's setting says serve (0.825213ms)
✔ anything but serve withholds it: a wrong value, no line, no file (0.276165ms)
✔ the setting is read from the file the bundle's word names (0.5899ms)
ℹ tests 22
ℹ suites 0
ℹ pass 21
ℹ fail 0
ℹ cancelled 0
ℹ skipped 1
ℹ todo 0
ℹ duration_ms 830.034017
**Merge check** at `a31ad48b`
Judged: head `a31ad48b024d` merged into trunk `ee1b15d7f066`; read beside it: mesh-controller `18c58b4903ad`, mesh-controller-main `18c58b4903ad`, mesh-host `cd13f7726ef0`, mesh-tools `6b3e15042fee`
- `mesh/merge-gate`: **PASS, WITH A NOTE** — a merge rebuilds 94 module(s) in 1 tier(s) (modules: adwaita, artifact-store-tools, asus-zephyrus-g14, baserow, betterbird, build-agent, ca-trust, claude-code, claude-licence-manager, clipmenu, confluence, desk-channel, dnsmasq, docker, dunst, fail2ban, feh, fonts, gitea, gitlab, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, invoicing, jira, kernel, keycloak, lab, lemurs, letta, localization, logrotate, mailu, matrix, memory-pressure, mesh-catalog, mesh-cli, mesh-issues, mesh-knowledge, mesh-mail, mesh-vault, mesh-watcher, messenger, minio, mongodb, mosquitto, mounts, mssql, n8n, nats, networkmanager, nextcloud, nfs-server, nftables, node-env, nodered, only-office, pacman, picom, polychromatic, postgres, power, powerlevel10k, records, redis, restic, rofi, route-adapter, route-proxy, screen-lock, searxng, slack, ssh-client, sshd, step-ca, sudo, supabase, systemd-networkd, time-sync, triggerhappy, umami, unifi, xdg, xorg, xterm, zfs, zsh, zsh-autosuggestions, zsh-syntax-highlighting, new:modules/de-spiegel, new:modules/hello-web, new:modules/local-model-consumer, new:modules/mesh-config, new:modules/mesh-provisioner, new:modules/mesh-provisioner-client, new:modules/model-usage, new:modules/showcase)
- `mesh/repo-check`: **PASS** — THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): main's version judged it; the change's judges the pull requests after it merges; its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)
**Delivery plan** — builds adwaita, artifact-store-tools, asus-zephyrus-g14, baserow, betterbird, build-agent, ca-trust, claude-code, claude-licence-manager, clipmenu, confluence, desk-channel, dnsmasq, docker, dunst, fail2ban, feh, fonts, gitea, gitlab, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, invoicing, jira, kernel, keycloak, lab, lemurs, letta, localization, logrotate, mailu, matrix, memory-pressure, mesh-catalog, mesh-cli, mesh-issues, mesh-knowledge, mesh-mail, mesh-vault, mesh-watcher, messenger, minio, mongodb, mosquitto, mounts, mssql, n8n, nats, networkmanager, nextcloud, nfs-server, nftables, node-env, nodered, only-office, pacman, picom, polychromatic, postgres, power, powerlevel10k, records, redis, restic, rofi, route-adapter, route-proxy, screen-lock, searxng, slack, ssh-client, sshd, step-ca, sudo, supabase, systemd-networkd, time-sync, triggerhappy, umami, unifi, xdg, xorg, xterm, zfs, zsh, zsh-autosuggestions, zsh-syntax-highlighting, new: modules/de-spiegel, modules/hello-web, modules/local-model-consumer, modules/mesh-config, modules/mesh-provisioner, modules/mesh-provisioner-client, modules/model-usage, modules/showcase → ace, g14, novox, shanks; merging this needs a person's bus upgrade; 26 wait(s) for a person
- tier 0: adwaita, artifact-store-tools, asus-zephyrus-g14, baserow, betterbird, build-agent, ca-trust, claude-code, claude-licence-manager, clipmenu, confluence, desk-channel, dnsmasq, docker, dunst, fail2ban, feh, fonts, gitea, gitlab, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, invoicing, jira, kernel, keycloak, lab, lemurs, letta, localization, logrotate, mailu, matrix, memory-pressure, mesh-catalog, mesh-cli, mesh-issues, mesh-knowledge, mesh-mail, mesh-vault, mesh-watcher, messenger, minio, mongodb, mosquitto, mounts, mssql, n8n, nats, networkmanager, nextcloud, nfs-server, nftables, node-env, nodered, only-office, pacman, picom, polychromatic, postgres, power, powerlevel10k, records, redis, restic, rofi, route-adapter, route-proxy, screen-lock, searxng, slack, ssh-client, sshd, step-ca, sudo, supabase, systemd-networkd, time-sync, triggerhappy, umami, unifi, xdg, xorg, xterm, zfs, zsh, zsh-autosuggestions, zsh-syntax-highlighting
- ace: receives baserow, build-agent, ca-trust, claude-code, docker, fail2ban, grafana, home-assistant, hostname, icecast, influxdb, kernel, letta, localization, logrotate, matrix, mesh-cli, mosquitto, n8n, node-env, nodered, pacman, power, powerlevel10k, redis, restic, route-proxy, searxng, ssh-client, sudo, supabase, time-sync, unifi, zsh, zsh-autosuggestions, zsh-syntax-highlighting; waits for a person: dnsmasq, mssql, networkmanager, nfs-server, nftables, postgres, sshd
- g14: receives adwaita, asus-zephyrus-g14, build-agent, ca-trust, claude-code, clipmenu, docker, dunst, fail2ban, feh, fonts, gnome-keyring, hostname, i3, i3status-rust, kernel, lemurs, localization, logrotate, memory-pressure, mesh-cli, node-env, pacman, picom, polychromatic, power, powerlevel10k, restic, rofi, screen-lock, slack, ssh-client, sudo, time-sync, triggerhappy, xdg, xorg, xterm, zsh, zsh-autosuggestions, zsh-syntax-highlighting; waits for a person: betterbird, networkmanager, nftables, sshd
- novox: receives artifact-store-tools, build-agent, ca-trust, claude-code, claude-licence-manager, desk-channel, docker, fail2ban, gitea, hostname, invoicing, kernel, localization, logrotate, mesh-catalog, mesh-cli, mesh-issues, mesh-knowledge, mesh-mail, mesh-vault, messenger, nextcloud, node-env, only-office, pacman, power, powerlevel10k, records, restic, route-proxy, ssh-client, step-ca, sudo, time-sync, umami, zsh, zsh-autosuggestions, zsh-syntax-highlighting; waits for a person: dnsmasq, keycloak, mailu, minio, mongodb, mssql, nats, nftables, postgres, sshd, systemd-networkd
- shanks: receives adwaita, build-agent, ca-trust, claude-code, clipmenu, docker, dunst, fail2ban, feh, fonts, gnome-keyring, hostname, i3, i3status-rust, kernel, lab, lemurs, localization, logrotate, mesh-cli, mounts, node-env, pacman, picom, polychromatic, power, powerlevel10k, restic, rofi, screen-lock, slack, ssh-client, sudo, time-sync, xdg, xorg, xterm, zsh, zsh-autosuggestions, zsh-syntax-highlighting; waits for a person: betterbird, networkmanager, nftables, sshd
- baserow keeps data (ADR 0233): what it holds is backed up before it moves
- betterbird waits for a person: its policy records (person)
- build-agent keeps data (ADR 0233): what it holds is backed up before it moves
- claude-code keeps data (ADR 0233): what it holds is backed up before it moves
- dnsmasq waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- dnsmasq provides wildcard-resolution: its consumers are sent again after it
- gitea provides npm-package-registry, git: its consumers are sent again after it
- gitea keeps data (ADR 0233): what it holds is backed up before it moves
- grafana keeps data (ADR 0233): what it holds is backed up before it moves
- home-assistant keeps data (ADR 0233): what it holds is backed up before it moves
- icecast keeps data (ADR 0233): what it holds is backed up before it moves
- influxdb provides influxdb-api: its consumers are sent again after it
- influxdb keeps data (ADR 0233): what it holds is backed up before it moves
- keycloak waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- keycloak provides oidc-client: its consumers are sent again after it
- keycloak keeps data (ADR 0233): what it holds is backed up before it moves
- lab keeps data (ADR 0233): what it holds is backed up before it moves
- mailu waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- mailu provides smtp: its consumers are sent again after it
- mailu keeps data (ADR 0233): what it holds is backed up before it moves
- matrix keeps data (ADR 0233): what it holds is backed up before it moves
- mesh-vault provides secret: its consumers are sent again after it
- mesh-vault keeps data (ADR 0233): what it holds is backed up before it moves
- minio waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- minio provides s3-bucket: its consumers are sent again after it
- minio keeps data (ADR 0233): what it holds is backed up before it moves
- mongodb waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- mongodb provides mongodb-database: its consumers are sent again after it
- mongodb keeps data (ADR 0233): what it holds is backed up before it moves
- mosquitto provides mqtt-topic: its consumers are sent again after it
- mosquitto keeps data (ADR 0233): what it holds is backed up before it moves
- mssql waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- mssql provides mssql-database: its consumers are sent again after it
- mssql keeps data (ADR 0233): what it holds is backed up before it moves
- n8n keeps data (ADR 0233): what it holds is backed up before it moves
- merging this needs a person's bus upgrade: nats is never sent by an ordinary send, and until `mesh_call mesh-controller.bus {"upgrade": "true", "why": "…", "reversible" or "irreversible": "true"}` runs, nothing else is sent to novox either — unless the new build turns out the same as the one running there (issue 280)
- nats provides mesh-bus: its consumers are sent again after it
- nats keeps data (ADR 0233): what it holds is backed up before it moves
- networkmanager waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- nextcloud keeps data (ADR 0233): what it holds is backed up before it moves
- nfs-server waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- nfs-server provides nfs-share: its consumers are sent again after it
- nfs-server keeps data (ADR 0233): what it holds is backed up before it moves
- nftables waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- nodered keeps data (ADR 0233): what it holds is backed up before it moves
- only-office keeps data (ADR 0233): what it holds is backed up before it moves
- postgres waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- postgres provides postgres-database: its consumers are sent again after it
- postgres keeps data (ADR 0233): what it holds is backed up before it moves
- records keeps data (ADR 0233): what it holds is backed up before it moves
- redis provides redis-cache: its consumers are sent again after it
- redis keeps data (ADR 0233): what it holds is backed up before it moves
- restic keeps data (ADR 0233): what it holds is backed up before it moves
- 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
- searxng keeps data (ADR 0233): what it holds is backed up before it moves
- ssh-client keeps data (ADR 0233): what it holds is backed up before it moves
- sshd waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- step-ca provides internal-acme-ca: its consumers are sent again after it
- step-ca keeps data (ADR 0233): what it holds is backed up before it moves
- supabase keeps data (ADR 0233): what it holds is backed up before it moves
- systemd-networkd waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- umami provides analytics: its consumers are sent again after it
- umami keeps data (ADR 0233): what it holds is backed up before it moves
- unifi keeps data (ADR 0233): what it holds is backed up before it moves
- xorg provides x11-display: its consumers are sent again after it
- 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 adwaita, asus-zephyrus-g14, baserow, build-agent, ca-trust, claude-code, clipmenu, docker, dunst, fail2ban, feh, fonts, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, kernel, lab, lemurs, letta, localization, logrotate, matrix, memory-pressure, mesh-cli, mosquitto, mounts, n8n, node-env, nodered, pacman, picom, polychromatic, power, powerlevel10k, redis, restic, rofi, route-proxy, screen-lock, searxng, slack, ssh-client, sudo, supabase, time-sync, triggerhappy, unifi, xdg, xorg, xterm, zsh, zsh-autosuggestions, zsh-syntax-highlighting is judged on its first machine
- read by no module's build: .gitignore, RELEASE-57.md, checks/config/go.mod, checks/config/main.go, checks/config/main_test.go, checks/config/unmoved, checks/predefined/go.mod, checks/predefined/main.go, checks/predefined/main_test.go, checks/secrets/main.go, checks/secrets/main_test.go, checks/templates/go.mod, checks/templates/inline, checks/templates/main.go, checks/templates/main_test.go, health-undeclared, merge-check.sh, modules/adwaita/README.md, modules/adwaita/cmd/adwaita-tools/adwaita_test.go, modules/adwaita/files/cursor-index.theme, modules/adwaita/config/cursor-index.theme, modules/adwaita/files/env-gtk-theme, modules/adwaita/files/env-gtk2-rc-files, modules/adwaita/files/env-qt-qpa-platformtheme, modules/adwaita/files/env-qt-select, modules/adwaita/files/env-qt-style-override, modules/adwaita/files/env-xcursor-size, modules/adwaita/files/env-xcursor-theme, modules/adwaita/files/gtk-settings.ini, modules/adwaita/config/gtk-settings.ini, modules/adwaita/files/portals.conf, modules/adwaita/config/portals.conf, modules/adwaita/files/qt6ct.conf, modules/adwaita/config/qt6ct.conf, modules/adwaita/files/xinitrc-normal, modules/adwaita/files/xresources-normal, modules/artifact-store-tools/cmd/artifact-store-tools/templates_test.go, modules/artifact-store-tools/files/store-names, modules/asus-zephyrus-g14/cmd/zephyrus/keys_test.go, modules/asus-zephyrus-g14/cmd/zephyrus/manifest_test.go, modules/asus-zephyrus-g14/cmd/zephyrus/templates_test.go, modules/asus-zephyrus-g14/templates/UPower/UPower.conf.d/50-asus-zephyrus-g14.conf, modules/asus-zephyrus-g14/templates/X11/xorg.conf.d/30-asus-zephyrus-g14-touchpad.conf, modules/asus-zephyrus-g14/templates/after-wake, modules/asus-zephyrus-g14/templates/display-session, modules/asus-zephyrus-g14/templates/hotkeys-triggers, modules/asus-zephyrus-g14/templates/modprobe.d/g14-nvidia-power.conf, modules/asus-zephyrus-g14/templates/modprobe.d/video-brightness-switch.conf, modules/asus-zephyrus-g14/templates/systemd/system/nvidia-powerd.service.d/asus-zephyrus-g14.conf, modules/asus-zephyrus-g14/templates/systemd/system/systemd-hibernate.service.d/asus-zephyrus-g14-nvidia.conf, modules/asus-zephyrus-g14/templates/systemd/system/systemd-suspend-then-hibernate.service.d/asus-zephyrus-g14-nvidia.conf, modules/asus-zephyrus-g14/templates/systemd/system/systemd-suspend.service.d/asus-zephyrus-g14-nvidia.conf, modules/asus-zephyrus-g14/templates/udev/rules.d/90-backlight.rules, modules/betterbird/README.md, modules/betterbird/cmd/betterbird-tools/manifest_test.go, modules/betterbird/cmd/betterbird-tools/templates_test.go, modules/betterbird/files/accounts.json, modules/betterbird/files/betterbird, modules/betterbird/files/configuration.json, modules/betterbird/files/eu.betterbird.Betterbird.desktop, modules/betterbird/files/prefs.json, modules/betterbird/files/tags.json, modules/build-agent/files/build-agent.env, modules/build-agent/manifest_test.go, modules/build-agent/templates_test.go, modules/ca-trust/files/anchor, modules/ca-trust/files/mesh-ca-trust.service, modules/claude-code/README.md, modules/claude-code/cmd/claude-code/forge_test.go, modules/claude-code/cmd/claude-code/shell_test.go, modules/claude-code/cmd/claude-code/templates_test.go, modules/claude-code/files/agent-account, modules/claude-code/files/claude-agent, modules/claude-code/files/facts.json, modules/claude-code/files/settings.json, modules/claude-code/files/zsh-normal, modules/claude-licence-manager/cmd/claude-licence-manager/templates_test.go, modules/claude-licence-manager/files/database.url, modules/claude-licence-manager/files/settings.json, modules/clipmenu/cmd/clipmenu-tools/manifest_helpers_test.go, modules/clipmenu/cmd/clipmenu-tools/manifest_test.go, modules/clipmenu/files/bin/clipmenud-session, modules/clipmenu/files/bin/xsel, modules/clipmenu/files/env-cm-histlength, modules/clipmenu/files/env-cm-max-clips, modules/clipmenu/files/env-cm-selections, modules/clipmenu/files/systemd/clipmenud-mesh.conf, modules/desk-channel/cmd/desk-channel/templates_test.go, modules/desk-channel/files/settings.json, modules/dnsmasq/cmd/dnsmasq-tools/templates_test.go, modules/dnsmasq/files/dnsmasq.conf, modules/dnsmasq/files/mesh.conf, modules/docker/cmd/docker-tools/logrotation_test.go, modules/docker/cmd/docker-tools/templates_test.go, modules/docker/files/daemon.json, modules/docker/files/docker-prune.service, modules/docker/files/docker-prune.timer, modules/docker/files/log-rotation.conf, modules/dunst/cmd/dunst-tools/manifest_helpers_test.go, modules/dunst/cmd/dunst-tools/manifest_test.go, modules/dunst/files/dunstrc, modules/fail2ban/cmd/fail2ban-tools/own_test.go, modules/fail2ban/cmd/fail2ban-tools/templates_test.go, modules/fail2ban/files/fail2ban, modules/fail2ban/files/iptables-allports-dualchain.conf, modules/fail2ban/files/jail.local, modules/fail2ban/files/mesh-own-addresses.json, modules/fail2ban/files/own-addresses, modules/fail2ban/files/recidive.conf, modules/fail2ban/files/sshd.conf, modules/feh/cmd/feh-tools/manifest_helpers_test.go, modules/feh/cmd/feh-tools/manifest_test.go, modules/feh/files/xinitrc-normal, modules/fonts/cmd/fonts-tools/fonts_test.go, modules/fonts/cmd/fonts-tools/manifest_kit_test.go, modules/fonts/cmd/fonts-tools/templates_test.go, modules/fonts/files/50-mesh-fonts.conf, modules/gnome-keyring/cmd/gnome-keyring-tools/manifest_helpers_test.go, modules/gnome-keyring/cmd/gnome-keyring-tools/manifest_test.go, modules/gnome-keyring/files/xinitrc-first, modules/hostname/cmd/hostname-tools/hostsfile_test.go, modules/hostname/cmd/hostname-tools/templates_test.go, modules/hostname/files/hostname, modules/hostname/files/hosts, modules/i3/README.md, modules/i3/cmd/i3-tools/manifest_test.go, modules/i3/files/config, modules/i3/config/config, modules/i3/files/env-xdg-current-desktop, modules/i3/files/env-xdg-session-desktop, modules/i3/files/wms/i3, modules/i3/files/xinitrc-last, modules/i3status-rust/README.md, modules/i3status-rust/cmd/i3status-rust-tools/blocks_test.go, modules/i3status-rust/cmd/i3status-rust-tools/manifest_helpers_test.go, modules/i3status-rust/cmd/i3status-rust-tools/manifest_test.go, modules/i3status-rust/files/block.tmpl, modules/i3status-rust/files/bottom-bar.toml, modules/i3status-rust/files/top-bar.toml, modules/i3status-rust/files/xinitrc-normal, modules/kernel/cmd/kernel-tools/manifest_test.go, modules/kernel/cmd/kernel-tools/shape_test.go, modules/kernel/files/huge-pages.sh, modules/kernel/files/mesh-kernel-huge-pages.service, modules/keycloak/cmd/keycloak-provider/moved_test.go, modules/keycloak/cmd/keycloak-provider/templates_test.go, modules/keycloak/files/admin.env, modules/keycloak/files/config.json, modules/keycloak/files/consumers.json, modules/keycloak/files/database.env, modules/keycloak/files/hostname.env, modules/lemurs/README.md, modules/lemurs/cmd/lemurs-tools/lemurs_test.go, modules/lemurs/cmd/lemurs-tools/manifest_test.go, modules/lemurs/files/config.toml, modules/lemurs/config/config.toml, modules/lemurs/files/xserver, modules/localization/cmd/localization-tools/manifest_test.go, modules/localization/cmd/localization-tools/templates_test.go, modules/localization/files/locale.conf, modules/localization/files/vconsole.conf, modules/logrotate/cmd/logrotate-tools/logrotate_test.go, modules/logrotate/cmd/logrotate-tools/manifest_test.go, modules/logrotate/cmd/logrotate-tools/templates_test.go, modules/logrotate/files/logrotate.conf, modules/matrix/files/conduit.toml, modules/matrix/files/element.json, modules/memory-pressure/cmd/memory-pressure/templates_test.go, modules/memory-pressure/files/oomd.conf, modules/memory-pressure/files/root-slice.conf, modules/memory-pressure/files/sysctl.conf, modules/memory-pressure/files/user-manager.conf, modules/memory-pressure/files/zram-generator.conf, modules/mesh-cli/cmd/mesh-cli/manifest_test.go, modules/mesh-cli/files/zsh-normal, modules/mesh-issues/cmd/mesh-issues/manifest_test.go, modules/mesh-issues/cmd/mesh-issues/templates_test.go, modules/mesh-issues/files/settings.json, modules/mesh-knowledge/cmd/mesh-knowledge/manifest_test.go, modules/mesh-knowledge/cmd/mesh-knowledge/templates_test.go, modules/mesh-knowledge/files/database.url, modules/mesh-knowledge/files/settings.json, modules/mesh-mail/cmd/mesh-mail/manifest_test.go, modules/mesh-mail/files/accounts.json, modules/mesh-mail/files/database-url, modules/mesh-mail/files/grants.json, modules/mesh-mail/files/store.json, modules/mesh-watcher/cmd/mesh-watcher/templates_test.go, modules/mesh-watcher/files/settings.json, modules/messenger/cmd/messenger/templates_test.go, modules/messenger/files/settings.json, modules/mounts/cmd/mounts/manifest_test.go, modules/mounts/cmd/mounts/templates_test.go, modules/mounts/files/mounts.conf, modules/node-env/files/50-mesh.conf, modules/node-env/files/environment.sh, modules/pacman/cmd/pacman-tools/manifest_test.go, modules/pacman/cmd/pacman-tools/templates_test.go, modules/pacman/files/pacman.conf, modules/pacman/files/reflector.conf, modules/picom/cmd/picom-tools/manifest_helpers_test.go, modules/picom/cmd/picom-tools/manifest_test.go, modules/picom/files/picom.conf, modules/polychromatic/cmd/polychromatic-tools/manifest_test.go, modules/polychromatic/files/display-session, modules/power/README.md, modules/power/cmd/power/templates_test.go, modules/power/templates/bar-battery, modules/power/templates/bar-power-draw, modules/power/templates/mesh-power/moments/after-boot, modules/power/templates/mesh-power/moments/after-wake, modules/power/templates/mesh-power/moments/before-shutdown, modules/power/templates/mesh-power/moments/before-sleep, modules/power/templates/mesh-power/moments/on-battery, modules/power/templates/mesh-power/moments/on-mains, modules/power/templates/systemd/logind.conf.d/power.conf, modules/power/templates/systemd/system/hibernate.target.d/mesh-power.conf, modules/power/templates/systemd/system/hybrid-sleep.target.d/mesh-power.conf, modules/power/templates/systemd/system/mesh-power-after-boot.service, modules/power/templates/systemd/system/mesh-power-after-wake.service, modules/power/templates/systemd/system/mesh-power-before-shutdown.service, modules/power/templates/systemd/system/mesh-power-before-sleep.service, modules/power/templates/systemd/system/mesh-power-supply.service, modules/power/templates/systemd/system/sleep.target.d/mesh-power.conf, modules/power/templates/systemd/system/suspend-then-hibernate.target.d/mesh-power.conf, modules/power/templates/systemd/system/suspend.target.d/mesh-power.conf, modules/power/templates/udev/rules.d/90-mesh-power.rules, modules/powerlevel10k/files/zsh-normal, modules/powerlevel10k/test/module.test.ts, modules/records/cmd/records/templates_test.go, modules/records/files/config.json, modules/records/files/origin, modules/restic/cmd/restic-backups/retention_test.go, modules/restic/cmd/restic-backups/templates_test.go, modules/restic/files/backups.conf, modules/restic/files/data.conf, modules/restic/files/retention.conf, modules/rofi/cmd/rofi-tools/manifest_helpers_test.go, modules/rofi/cmd/rofi-tools/manifest_test.go, modules/rofi/cmd/rofi-tools/secret_test.go, modules/route-proxy/README.md, modules/route-proxy/cmd/route-provider/main.go, modules/route-proxy/cmd/route-provider/provider.go, modules/route-proxy/cmd/route-provider/provider_test.go, modules/route-proxy/files/acme.env, modules/route-proxy/files/internal-acme.env, modules/route-proxy/go.mod, modules/route-proxy/go.sum, modules/screen-lock/cmd/screen-lock-tools/lock_test.go, modules/screen-lock/cmd/screen-lock-tools/manifest_helpers_test.go, modules/screen-lock/cmd/screen-lock-tools/manifest_test.go, modules/screen-lock/files/xinitrc-normal, modules/slack/cmd/slack-tools/manifest_test.go, modules/slack/cmd/slack-tools/slack_test.go, modules/slack/files/display-session, modules/sudo/cmd/sudo-tools/manifest_test.go, modules/sudo/cmd/sudo-tools/templates_test.go, modules/sudo/files/10-mesh-operator, modules/supabase/files/analytics-env.env, modules/supabase/files/analytics-reconcile.exs, modules/supabase/files/analytics-start.sh, modules/supabase/files/db-init/jwt.sql, modules/supabase/files/db-init/logs.sql, modules/supabase/files/db-init/pooler.sql, modules/supabase/files/db-init/realtime.sql, modules/supabase/files/db-init/roles.sql, modules/supabase/files/db-init/supabase.sql, modules/supabase/files/db-init/webhooks.sql, modules/supabase/files/functions-env.env, modules/supabase/files/functions-main/index.ts, modules/supabase/files/gotrue.env, modules/supabase/files/kong.yml, modules/supabase/files/meta-env.env, modules/supabase/files/pooler-env.env, modules/supabase/files/pooler.exs, modules/supabase/files/postgrest.conf, modules/supabase/files/realtime-env.env, modules/supabase/files/settings.json, modules/supabase/files/storage-env.env, modules/supabase/files/studio-env.env, modules/supabase/files/vector.yml, modules/time-sync/cmd/time-sync-tools/manifest_test.go, modules/time-sync/cmd/time-sync-tools/templates_test.go, modules/time-sync/files/50-mesh.conf, modules/triggerhappy/cmd/triggerhappy-tools/templates_test.go, modules/triggerhappy/files/service.conf, modules/triggerhappy/files/triggers.conf, modules/xdg/README.md, modules/xdg/cmd/xdg-tools/machine_test.go, modules/xdg/cmd/xdg-tools/manifest_test.go, modules/xdg/files/mimeapps.list, modules/xdg/config/mimeapps.list, modules/xdg/files/user-dirs.conf, modules/xdg/config/user-dirs.conf, modules/xdg/files/user-dirs.dirs, modules/xdg/config/user-dirs.dirs, modules/xdg/files/user-dirs.locale, modules/xdg/config/user-dirs.locale, modules/xorg/README.md, modules/xorg/cmd/xorg/manifest_test.go, modules/xorg/cmd/xorg/templates_test.go, modules/xorg/files/xinitrc, modules/xorg/files/xresources, modules/xterm/cmd/xterm-tools/xterm_test.go, modules/xterm/files/env-terminal, modules/xterm/files/xresources-normal, modules/zsh-autosuggestions/files/zsh-normal, modules/zsh-syntax-highlighting/files/zsh-last, predefined.json
Run by the build seat on shanks as `build-1792143929667880283` (`builds --log build-1792143929667880283`).
```
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 105.329867
type-checking modules/mesh-catalog (TypeScript)
testing modules/mesh-catalog (TypeScript)
✔ the catalogue hears the build seat that builds now, not only the retired one (issue 712) (3.803653ms)
✔ a walk's build is placed, under its module and commit (0.64658ms)
✔ a merge check, a try, a dry run and a failure are passed over without a fault (0.241424ms)
✔ an outcome that names no module or commit is said as the builder's fault (0.184943ms)
✔ a branch built through the build verb is passed over; a commit on the trunk, or from a seat that names none, is placed (ADR 0238) (0.166783ms)
ℹ tests 5
ℹ suites 0
ℹ pass 5
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 93.367622
type-checking modules/minio (TypeScript)
NOT TESTED: modules/minio is TypeScript and has no tests of its own
type-checking modules/model-usage (TypeScript)
testing modules/model-usage (TypeScript)
✔ a store that refuses a row is thrown, so the event is offered again, and it is spooled (52.929866ms)
✔ a redelivered event writes the same reading, never a second, and clears its spooled copy (23.744913ms)
✔ on its last delivery a usage event is spooled and taken (99.475947ms)
✔ the spool replays once the store answers, and an older reading replayed late does not overwrite a newer (75.805064ms)
✔ an event without a body is taken without a TypeError; a row the store could never take is skipped, not retried (0.736422ms)
✔ model_usage_status reports the spool, and is offered even when the store cannot be opened (44.230882ms)
﹣ against postgres: migrations are numbered and repeatable, and the upsert keeps the reading observed latest (0.157442ms) # TEST_DATABASE_URL is not set
ℹ tests 7
ℹ suites 0
ℹ pass 6
ℹ fail 0
ℹ cancelled 0
ℹ skipped 1
ℹ todo 0
ℹ duration_ms 405.674344
type-checking modules/mongodb (TypeScript)
NOT TESTED: modules/mongodb is TypeScript and has no tests of its own
type-checking modules/mosquitto (TypeScript)
testing modules/mosquitto (TypeScript)
✔ named, the broker's container runs mosquitto_ctrl under the options shell, stdin open (1.228451ms)
✔ unnamed, this machine's mosquitto_ctrl runs under the same shell (0.181483ms)
✔ the options shell itself holds no secret (0.212394ms)
✔ an argv carrying the admin password or a password being set is refused, by name (0.467238ms)
✔ the admin tool refuses a dynsec command that would put a password on a command line (0.237964ms)
✔ the admin's name and password reach mosquitto_ctrl in a 0600 options file, and a password being set at its prompt (9.63548ms)
✔ a consumer that contributed nothing gets its own subtree (1.234501ms)
✔ a contributed list is granted exactly, duplicates once (0.284215ms)
✔ a list that is not topic filters is refused whole (0.258654ms)
✔ getRole's ACL lines are read, the warning and headings are not (0.351116ms)
✔ the role is brought to exactly the wanted ACLs (0.391097ms)
ℹ tests 11
ℹ suites 0
ℹ pass 11
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 105.012982
type-checking modules/mssql (TypeScript)
testing modules/mssql (TypeScript)
✔ a caller's statement runs as the reader, as it was written, on the database it names (2.255237ms)
✔ the reader is made as the administrator, kept out of sysadmin, and granted only reading (0.56173ms)
✔ without the reader's password the statement is refused, and nothing runs as the administrator (0.449388ms)
✔ a consumer's password is checked as a bound parameter, never in the text (1.960873ms)
ℹ tests 4
ℹ suites 0
ℹ pass 4
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 277.017911
type-checking modules/nextcloud (TypeScript)
testing modules/nextcloud (TypeScript)
✔ the vault's password is used, a setting of it is ignored and said once, without its value (1.905352ms)
ℹ tests 1
ℹ suites 0
ℹ pass 1
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 91.156586
type-checking modules/nftables (TypeScript)
testing modules/nftables (TypeScript)
✔ a predecessor's chain in the legacy filter loses its jumps, is flushed and deleted (1.81089ms)
✔ the runtime's user chain is emptied back to its one return, never deleted (0.285595ms)
✔ a chain of the machine's own nftables table goes with the rules that reach it (0.536249ms)
✔ what is not the operator's to remove is refused by name (1.726509ms)
✔ which chains jump to a target is read from a listing (0.260755ms)
✔ the filter's commands run as given by root and through sudo without a prompt by anyone else (0.284575ms)
✔ without a uid given, the process's own decides: as given for root, through sudo for anyone else (0.161892ms)
✔ the filter file is the one the manifest's filtering names (0.411547ms)
✔ a tool is installed when an executable of its name is on the path, and not otherwise (0.666561ms)
✔ a found firewall that is absent guards nothing; one that will not answer stops the removal (0.627081ms)
ℹ tests 10
ℹ suites 0
ℹ pass 10
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 110.732965
type-checking modules/nodered (TypeScript)
testing modules/nodered (TypeScript)
✔ ace: the named broker node is moved to the bound broker and login; the other broker is not touched (2.42743ms)
✔ fresh: with nothing named, the step makes its own broker node (0.357456ms)
✔ a login the broker does not take is never written (0.184323ms)
✔ a named node that is not there, or a loopback broker, is refused (1.028888ms)
✔ a deploy that raced another is read again once (0.55694ms)
✔ settings name broker nodes under mqtt.brokers (0.163793ms)
ℹ tests 6
ℹ suites 0
ℹ pass 6
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 101.95776
modules/powerlevel10k has no TypeScript sources of its own to type-check: its tests read its files
testing modules/powerlevel10k (TypeScript)
✔ the theme archive is built from the vendored release and carries its licence (1.344503ms)
✔ the configuration archive holds the prompt's configuration and nothing else (0.171673ms)
✔ both are unpacked under the account's home, owned by the account (0.153722ms)
✔ the zsh code in the normal slot sources the theme, then the configuration, and turns on no instant prompt (0.380296ms)
✔ the README names the upstream, the version and the licence (0.203464ms)
ℹ tests 5
ℹ suites 0
ℹ pass 5
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 93.360838
type-checking modules/redis (TypeScript)
NOT TESTED: modules/redis is TypeScript and has no tests of its own
type-checking modules/route-adapter (TypeScript)
testing modules/route-adapter (TypeScript)
✔ it writes one route file per contribution, in the predecessor's own shape (7.434604ms)
✔ it removes the file it wrote when that contribution goes (2.895869ms)
✔ it never touches a file it did not write (3.975866ms)
✔ the target port follows what the contributor publishes (1.82531ms)
✔ a contributor on another node is reached at the address the mesh gave it (1.331372ms)
✔ a node's settings are laid over the module's defaults, and nothing else changes (1.266461ms)
✔ a contribution it cannot act on is skipped and named (0.234244ms)
✔ a contribution the file shape cannot say is skipped and says which part (0.258664ms)
✔ it refuses when the predecessor's directory is not there, and says why (2.093305ms)
✔ a body limit is written as the predecessor's buffering middleware (1.890751ms)
✔ a body limit that is not a whole number of bytes is skipped and named (0.315056ms)
ℹ tests 11
ℹ suites 0
ℹ pass 11
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 118.910018
type-checking modules/searxng (TypeScript)
NOT TESTED: modules/searxng is TypeScript and has no tests of its own
type-checking modules/showcase (TypeScript)
NOT TESTED: modules/showcase is TypeScript and has no tests of its own
type-checking modules/umami (TypeScript)
NOT TESTED: modules/umami is TypeScript and has no tests of its own
type-checking modules/unifi (TypeScript)
NOT TESTED: modules/unifi is TypeScript and has no tests of its own
type-checking modules/zsh (TypeScript)
testing modules/zsh (TypeScript)
✔ the exit status and both streams are answered (9.405288ms)
✔ it runs in the directory it is given (4.17424ms)
✔ on timeout the whole process group is ended, a backgrounded grandchild included (503.643661ms)
✔ output beyond the bound is cut and the answer says so (7.027688ms)
✔ a job left in the background does not hold the answer (205.140143ms)
﹣ zsh runs the command as a login shell, when zsh is here (2.771977ms) # zsh is not installed here
✔ the timeout is held below the runtime's call limit (0.173753ms)
✔ the command's environment drops the mesh's words and gains the account's session words when they exist (0.249355ms)
✔ zsh_config counts the mesh's block in a file (3.960646ms)
✔ no file carries its text inline: each names its template, and the build packs files/ into one archive (1.476105ms)
✔ it claims node-login-shell serving execute, and declares no seat (0.134293ms)
✔ the .zshrc block is at the start and holds the three slots in order, after the defaults' header (0.213724ms)
✔ the .zshrc block carries the shared defaults and none of the operator's own lines (0.302576ms)
✔ the .zshenv block sources exactly the environment file node-environment fixes (0.315866ms)
✔ its environment is a contribution: the editor, the configuration home, and three PATH entries at the start (0.60688ms)
✔ it keeps the package and sets the login shell through the user shape (0.146393ms)
✔ the tools bundle registers the seat's verb under node-login-shell (0.256695ms)
✔ execute is a per-machine config value, served unless a machine withholds it (ADR 0268, ADR 0348 §4) (0.474458ms)
✔ the tools bundle registers execute only where the machine's setting serves it (0.411167ms)
✔ execute is served only when the machine's setting says serve (0.825213ms)
✔ anything but serve withholds it: a wrong value, no line, no file (0.276165ms)
✔ the setting is read from the file the bundle's word names (0.5899ms)
ℹ tests 22
ℹ suites 0
ℹ pass 21
ℹ fail 0
ℹ cancelled 0
ℹ skipped 1
ℹ todo 0
ℹ duration_ms 830.034017
```
baserow keeps data (ADR 0233): what it holds is backed up before it moves
betterbird waits for a person: its policy records (person)
build-agent keeps data (ADR 0233): what it holds is backed up before it moves
claude-code keeps data (ADR 0233): what it holds is backed up before it moves
dnsmasq waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
dnsmasq provides wildcard-resolution: its consumers are sent again after it
gitea provides npm-package-registry, git: its consumers are sent again after it
gitea keeps data (ADR 0233): what it holds is backed up before it moves
grafana keeps data (ADR 0233): what it holds is backed up before it moves
home-assistant keeps data (ADR 0233): what it holds is backed up before it moves
icecast keeps data (ADR 0233): what it holds is backed up before it moves
influxdb provides influxdb-api: its consumers are sent again after it
influxdb keeps data (ADR 0233): what it holds is backed up before it moves
keycloak waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
keycloak provides oidc-client: its consumers are sent again after it
keycloak keeps data (ADR 0233): what it holds is backed up before it moves
lab keeps data (ADR 0233): what it holds is backed up before it moves
mailu waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
mailu provides smtp: its consumers are sent again after it
mailu keeps data (ADR 0233): what it holds is backed up before it moves
matrix keeps data (ADR 0233): what it holds is backed up before it moves
mesh-vault provides secret: its consumers are sent again after it
mesh-vault keeps data (ADR 0233): what it holds is backed up before it moves
minio waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
minio provides s3-bucket: its consumers are sent again after it
minio keeps data (ADR 0233): what it holds is backed up before it moves
mongodb waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
mongodb provides mongodb-database: its consumers are sent again after it
mongodb keeps data (ADR 0233): what it holds is backed up before it moves
mosquitto provides mqtt-topic: its consumers are sent again after it
mosquitto keeps data (ADR 0233): what it holds is backed up before it moves
mssql waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
mssql provides mssql-database: its consumers are sent again after it
mssql keeps data (ADR 0233): what it holds is backed up before it moves
n8n keeps data (ADR 0233): what it holds is backed up before it moves
merging this needs a person's bus upgrade: nats is never sent by an ordinary send, and until mesh_call mesh-controller.bus {"upgrade": "true", "why": "…", "reversible" or "irreversible": "true"} runs, nothing else is sent to novox either — unless the new build turns out the same as the one running there (issue 280)
nats provides mesh-bus: its consumers are sent again after it
nats keeps data (ADR 0233): what it holds is backed up before it moves
networkmanager waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
nextcloud keeps data (ADR 0233): what it holds is backed up before it moves
nfs-server waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
nfs-server provides nfs-share: its consumers are sent again after it
nfs-server keeps data (ADR 0233): what it holds is backed up before it moves
nftables waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
nodered keeps data (ADR 0233): what it holds is backed up before it moves
only-office keeps data (ADR 0233): what it holds is backed up before it moves
postgres waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
postgres provides postgres-database: its consumers are sent again after it
postgres keeps data (ADR 0233): what it holds is backed up before it moves
records keeps data (ADR 0233): what it holds is backed up before it moves
redis provides redis-cache: its consumers are sent again after it
redis keeps data (ADR 0233): what it holds is backed up before it moves
restic keeps data (ADR 0233): what it holds is backed up before it moves
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
searxng keeps data (ADR 0233): what it holds is backed up before it moves
ssh-client keeps data (ADR 0233): what it holds is backed up before it moves
sshd waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
step-ca provides internal-acme-ca: its consumers are sent again after it
step-ca keeps data (ADR 0233): what it holds is backed up before it moves
supabase keeps data (ADR 0233): what it holds is backed up before it moves
systemd-networkd waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
umami provides analytics: its consumers are sent again after it
umami keeps data (ADR 0233): what it holds is backed up before it moves
unifi keeps data (ADR 0233): what it holds is backed up before it moves
xorg provides x11-display: its consumers are sent again after it
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 adwaita, asus-zephyrus-g14, baserow, build-agent, ca-trust, claude-code, clipmenu, docker, dunst, fail2ban, feh, fonts, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, kernel, lab, lemurs, letta, localization, logrotate, matrix, memory-pressure, mesh-cli, mosquitto, mounts, n8n, node-env, nodered, pacman, picom, polychromatic, power, powerlevel10k, redis, restic, rofi, route-proxy, screen-lock, searxng, slack, ssh-client, sudo, supabase, time-sync, triggerhappy, unifi, xdg, xorg, xterm, zsh, zsh-autosuggestions, zsh-syntax-highlighting is judged on its first machine
Run by the build seat on novox as build-1792144784550985319 (builds --log build-1792144784550985319).
**Merge check** at `a31ad48b`
- `mesh/merge-gate`: **ERROR** — the check could not run: build-1792144784550985319-store never became ready (modules: adwaita, artifact-store-tools, asus-zephyrus-g14, baserow, betterbird, build-agent, ca-trust, claude-code, claude-licence-manager, clipmenu, confluence, desk-channel, dnsmasq, docker, dunst, fail2ban, feh, fonts, gitea, gitlab, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, invoicing, jira, kernel, keycloak, lab, lemurs, letta, localization, logrotate, mailu, matrix, memory-pressure, mesh-catalog, mesh-cli, mesh-issues, mesh-knowledge, mesh-mail, mesh-vault, mesh-watcher, messenger, minio, mongodb, mosquitto, mounts, mssql, n8n, nats, networkmanager, nextcloud, nfs-server, nftables, node-env, nodered, only-office, pacman, picom, polychromatic, postgres, power, powerlevel10k, records, redis, restic, rofi, route-adapter, route-proxy, screen-lock, searxng, slack, ssh-client, sshd, step-ca, sudo, supabase, systemd-networkd, time-sync, triggerhappy, umami, unifi, xdg, xorg, xterm, zfs, zsh, zsh-autosuggestions, zsh-syntax-highlighting, new:modules/de-spiegel, new:modules/hello-web, new:modules/local-model-consumer, new:modules/mesh-config, new:modules/mesh-provisioner, new:modules/mesh-provisioner-client, new:modules/model-usage, new:modules/showcase)
- `mesh/repo-check`: **ERROR** — the check could not run: build-1792144784550985319-store never became ready
**Delivery plan** — builds adwaita, artifact-store-tools, asus-zephyrus-g14, baserow, betterbird, build-agent, ca-trust, claude-code, claude-licence-manager, clipmenu, confluence, desk-channel, dnsmasq, docker, dunst, fail2ban, feh, fonts, gitea, gitlab, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, invoicing, jira, kernel, keycloak, lab, lemurs, letta, localization, logrotate, mailu, matrix, memory-pressure, mesh-catalog, mesh-cli, mesh-issues, mesh-knowledge, mesh-mail, mesh-vault, mesh-watcher, messenger, minio, mongodb, mosquitto, mounts, mssql, n8n, nats, networkmanager, nextcloud, nfs-server, nftables, node-env, nodered, only-office, pacman, picom, polychromatic, postgres, power, powerlevel10k, records, redis, restic, rofi, route-adapter, route-proxy, screen-lock, searxng, slack, ssh-client, sshd, step-ca, sudo, supabase, systemd-networkd, time-sync, triggerhappy, umami, unifi, xdg, xorg, xterm, zfs, zsh, zsh-autosuggestions, zsh-syntax-highlighting, new: modules/de-spiegel, modules/hello-web, modules/local-model-consumer, modules/mesh-config, modules/mesh-provisioner, modules/mesh-provisioner-client, modules/model-usage, modules/showcase → ace, g14, novox, shanks; merging this needs a person's bus upgrade; 26 wait(s) for a person
- tier 0: adwaita, artifact-store-tools, asus-zephyrus-g14, baserow, betterbird, build-agent, ca-trust, claude-code, claude-licence-manager, clipmenu, confluence, desk-channel, dnsmasq, docker, dunst, fail2ban, feh, fonts, gitea, gitlab, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, invoicing, jira, kernel, keycloak, lab, lemurs, letta, localization, logrotate, mailu, matrix, memory-pressure, mesh-catalog, mesh-cli, mesh-issues, mesh-knowledge, mesh-mail, mesh-vault, mesh-watcher, messenger, minio, mongodb, mosquitto, mounts, mssql, n8n, nats, networkmanager, nextcloud, nfs-server, nftables, node-env, nodered, only-office, pacman, picom, polychromatic, postgres, power, powerlevel10k, records, redis, restic, rofi, route-adapter, route-proxy, screen-lock, searxng, slack, ssh-client, sshd, step-ca, sudo, supabase, systemd-networkd, time-sync, triggerhappy, umami, unifi, xdg, xorg, xterm, zfs, zsh, zsh-autosuggestions, zsh-syntax-highlighting
- ace: receives baserow, build-agent, ca-trust, claude-code, docker, fail2ban, grafana, home-assistant, hostname, icecast, influxdb, kernel, letta, localization, logrotate, matrix, mesh-cli, mosquitto, n8n, node-env, nodered, pacman, power, powerlevel10k, redis, restic, route-proxy, searxng, ssh-client, sudo, supabase, time-sync, unifi, zsh, zsh-autosuggestions, zsh-syntax-highlighting; waits for a person: dnsmasq, mssql, networkmanager, nfs-server, nftables, postgres, sshd
- g14: receives adwaita, asus-zephyrus-g14, build-agent, ca-trust, claude-code, clipmenu, docker, dunst, fail2ban, feh, fonts, gnome-keyring, hostname, i3, i3status-rust, kernel, lemurs, localization, logrotate, memory-pressure, mesh-cli, node-env, pacman, picom, polychromatic, power, powerlevel10k, restic, rofi, screen-lock, slack, ssh-client, sudo, time-sync, triggerhappy, xdg, xorg, xterm, zsh, zsh-autosuggestions, zsh-syntax-highlighting; waits for a person: betterbird, networkmanager, nftables, sshd
- novox: receives artifact-store-tools, build-agent, ca-trust, claude-code, claude-licence-manager, desk-channel, docker, fail2ban, gitea, hostname, invoicing, kernel, localization, logrotate, mesh-catalog, mesh-cli, mesh-issues, mesh-knowledge, mesh-mail, mesh-vault, messenger, nextcloud, node-env, only-office, pacman, power, powerlevel10k, records, restic, route-proxy, ssh-client, step-ca, sudo, time-sync, umami, zsh, zsh-autosuggestions, zsh-syntax-highlighting; waits for a person: dnsmasq, keycloak, mailu, minio, mongodb, mssql, nats, nftables, postgres, sshd, systemd-networkd
- shanks: receives adwaita, build-agent, ca-trust, claude-code, clipmenu, docker, dunst, fail2ban, feh, fonts, gnome-keyring, hostname, i3, i3status-rust, kernel, lab, lemurs, localization, logrotate, mesh-cli, mounts, node-env, pacman, picom, polychromatic, power, powerlevel10k, restic, rofi, screen-lock, slack, ssh-client, sudo, time-sync, xdg, xorg, xterm, zsh, zsh-autosuggestions, zsh-syntax-highlighting; waits for a person: betterbird, networkmanager, nftables, sshd
- baserow keeps data (ADR 0233): what it holds is backed up before it moves
- betterbird waits for a person: its policy records (person)
- build-agent keeps data (ADR 0233): what it holds is backed up before it moves
- claude-code keeps data (ADR 0233): what it holds is backed up before it moves
- dnsmasq waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- dnsmasq provides wildcard-resolution: its consumers are sent again after it
- gitea provides npm-package-registry, git: its consumers are sent again after it
- gitea keeps data (ADR 0233): what it holds is backed up before it moves
- grafana keeps data (ADR 0233): what it holds is backed up before it moves
- home-assistant keeps data (ADR 0233): what it holds is backed up before it moves
- icecast keeps data (ADR 0233): what it holds is backed up before it moves
- influxdb provides influxdb-api: its consumers are sent again after it
- influxdb keeps data (ADR 0233): what it holds is backed up before it moves
- keycloak waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- keycloak provides oidc-client: its consumers are sent again after it
- keycloak keeps data (ADR 0233): what it holds is backed up before it moves
- lab keeps data (ADR 0233): what it holds is backed up before it moves
- mailu waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- mailu provides smtp: its consumers are sent again after it
- mailu keeps data (ADR 0233): what it holds is backed up before it moves
- matrix keeps data (ADR 0233): what it holds is backed up before it moves
- mesh-vault provides secret: its consumers are sent again after it
- mesh-vault keeps data (ADR 0233): what it holds is backed up before it moves
- minio waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- minio provides s3-bucket: its consumers are sent again after it
- minio keeps data (ADR 0233): what it holds is backed up before it moves
- mongodb waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- mongodb provides mongodb-database: its consumers are sent again after it
- mongodb keeps data (ADR 0233): what it holds is backed up before it moves
- mosquitto provides mqtt-topic: its consumers are sent again after it
- mosquitto keeps data (ADR 0233): what it holds is backed up before it moves
- mssql waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- mssql provides mssql-database: its consumers are sent again after it
- mssql keeps data (ADR 0233): what it holds is backed up before it moves
- n8n keeps data (ADR 0233): what it holds is backed up before it moves
- merging this needs a person's bus upgrade: nats is never sent by an ordinary send, and until `mesh_call mesh-controller.bus {"upgrade": "true", "why": "…", "reversible" or "irreversible": "true"}` runs, nothing else is sent to novox either — unless the new build turns out the same as the one running there (issue 280)
- nats provides mesh-bus: its consumers are sent again after it
- nats keeps data (ADR 0233): what it holds is backed up before it moves
- networkmanager waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- nextcloud keeps data (ADR 0233): what it holds is backed up before it moves
- nfs-server waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- nfs-server provides nfs-share: its consumers are sent again after it
- nfs-server keeps data (ADR 0233): what it holds is backed up before it moves
- nftables waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- nodered keeps data (ADR 0233): what it holds is backed up before it moves
- only-office keeps data (ADR 0233): what it holds is backed up before it moves
- postgres waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- postgres provides postgres-database: its consumers are sent again after it
- postgres keeps data (ADR 0233): what it holds is backed up before it moves
- records keeps data (ADR 0233): what it holds is backed up before it moves
- redis provides redis-cache: its consumers are sent again after it
- redis keeps data (ADR 0233): what it holds is backed up before it moves
- restic keeps data (ADR 0233): what it holds is backed up before it moves
- 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
- searxng keeps data (ADR 0233): what it holds is backed up before it moves
- ssh-client keeps data (ADR 0233): what it holds is backed up before it moves
- sshd waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- step-ca provides internal-acme-ca: its consumers are sent again after it
- step-ca keeps data (ADR 0233): what it holds is backed up before it moves
- supabase keeps data (ADR 0233): what it holds is backed up before it moves
- systemd-networkd waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- umami provides analytics: its consumers are sent again after it
- umami keeps data (ADR 0233): what it holds is backed up before it moves
- unifi keeps data (ADR 0233): what it holds is backed up before it moves
- xorg provides x11-display: its consumers are sent again after it
- 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 adwaita, asus-zephyrus-g14, baserow, build-agent, ca-trust, claude-code, clipmenu, docker, dunst, fail2ban, feh, fonts, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, kernel, lab, lemurs, letta, localization, logrotate, matrix, memory-pressure, mesh-cli, mosquitto, mounts, n8n, node-env, nodered, pacman, picom, polychromatic, power, powerlevel10k, redis, restic, rofi, route-proxy, screen-lock, searxng, slack, ssh-client, sudo, supabase, time-sync, triggerhappy, unifi, xdg, xorg, xterm, zsh, zsh-autosuggestions, zsh-syntax-highlighting is judged on its first machine
- read by no module's build: .gitignore, RELEASE-57.md, checks/config/go.mod, checks/config/main.go, checks/config/main_test.go, checks/config/unmoved, checks/predefined/go.mod, checks/predefined/main.go, checks/predefined/main_test.go, checks/secrets/main.go, checks/secrets/main_test.go, checks/templates/go.mod, checks/templates/inline, checks/templates/main.go, checks/templates/main_test.go, health-undeclared, merge-check.sh, modules/adwaita/README.md, modules/adwaita/cmd/adwaita-tools/adwaita_test.go, modules/adwaita/files/cursor-index.theme, modules/adwaita/config/cursor-index.theme, modules/adwaita/files/env-gtk-theme, modules/adwaita/files/env-gtk2-rc-files, modules/adwaita/files/env-qt-qpa-platformtheme, modules/adwaita/files/env-qt-select, modules/adwaita/files/env-qt-style-override, modules/adwaita/files/env-xcursor-size, modules/adwaita/files/env-xcursor-theme, modules/adwaita/files/gtk-settings.ini, modules/adwaita/config/gtk-settings.ini, modules/adwaita/files/portals.conf, modules/adwaita/config/portals.conf, modules/adwaita/files/qt6ct.conf, modules/adwaita/config/qt6ct.conf, modules/adwaita/files/xinitrc-normal, modules/adwaita/files/xresources-normal, modules/artifact-store-tools/cmd/artifact-store-tools/templates_test.go, modules/artifact-store-tools/files/store-names, modules/asus-zephyrus-g14/cmd/zephyrus/keys_test.go, modules/asus-zephyrus-g14/cmd/zephyrus/manifest_test.go, modules/asus-zephyrus-g14/cmd/zephyrus/templates_test.go, modules/asus-zephyrus-g14/templates/UPower/UPower.conf.d/50-asus-zephyrus-g14.conf, modules/asus-zephyrus-g14/templates/X11/xorg.conf.d/30-asus-zephyrus-g14-touchpad.conf, modules/asus-zephyrus-g14/templates/after-wake, modules/asus-zephyrus-g14/templates/display-session, modules/asus-zephyrus-g14/templates/hotkeys-triggers, modules/asus-zephyrus-g14/templates/modprobe.d/g14-nvidia-power.conf, modules/asus-zephyrus-g14/templates/modprobe.d/video-brightness-switch.conf, modules/asus-zephyrus-g14/templates/systemd/system/nvidia-powerd.service.d/asus-zephyrus-g14.conf, modules/asus-zephyrus-g14/templates/systemd/system/systemd-hibernate.service.d/asus-zephyrus-g14-nvidia.conf, modules/asus-zephyrus-g14/templates/systemd/system/systemd-suspend-then-hibernate.service.d/asus-zephyrus-g14-nvidia.conf, modules/asus-zephyrus-g14/templates/systemd/system/systemd-suspend.service.d/asus-zephyrus-g14-nvidia.conf, modules/asus-zephyrus-g14/templates/udev/rules.d/90-backlight.rules, modules/betterbird/README.md, modules/betterbird/cmd/betterbird-tools/manifest_test.go, modules/betterbird/cmd/betterbird-tools/templates_test.go, modules/betterbird/files/accounts.json, modules/betterbird/files/betterbird, modules/betterbird/files/configuration.json, modules/betterbird/files/eu.betterbird.Betterbird.desktop, modules/betterbird/files/prefs.json, modules/betterbird/files/tags.json, modules/build-agent/files/build-agent.env, modules/build-agent/manifest_test.go, modules/build-agent/templates_test.go, modules/ca-trust/files/anchor, modules/ca-trust/files/mesh-ca-trust.service, modules/claude-code/README.md, modules/claude-code/cmd/claude-code/forge_test.go, modules/claude-code/cmd/claude-code/shell_test.go, modules/claude-code/cmd/claude-code/templates_test.go, modules/claude-code/files/agent-account, modules/claude-code/files/claude-agent, modules/claude-code/files/facts.json, modules/claude-code/files/settings.json, modules/claude-code/files/zsh-normal, modules/claude-licence-manager/cmd/claude-licence-manager/templates_test.go, modules/claude-licence-manager/files/database.url, modules/claude-licence-manager/files/settings.json, modules/clipmenu/cmd/clipmenu-tools/manifest_helpers_test.go, modules/clipmenu/cmd/clipmenu-tools/manifest_test.go, modules/clipmenu/files/bin/clipmenud-session, modules/clipmenu/files/bin/xsel, modules/clipmenu/files/env-cm-histlength, modules/clipmenu/files/env-cm-max-clips, modules/clipmenu/files/env-cm-selections, modules/clipmenu/files/systemd/clipmenud-mesh.conf, modules/desk-channel/cmd/desk-channel/templates_test.go, modules/desk-channel/files/settings.json, modules/dnsmasq/cmd/dnsmasq-tools/templates_test.go, modules/dnsmasq/files/dnsmasq.conf, modules/dnsmasq/files/mesh.conf, modules/docker/cmd/docker-tools/logrotation_test.go, modules/docker/cmd/docker-tools/templates_test.go, modules/docker/files/daemon.json, modules/docker/files/docker-prune.service, modules/docker/files/docker-prune.timer, modules/docker/files/log-rotation.conf, modules/dunst/cmd/dunst-tools/manifest_helpers_test.go, modules/dunst/cmd/dunst-tools/manifest_test.go, modules/dunst/files/dunstrc, modules/fail2ban/cmd/fail2ban-tools/own_test.go, modules/fail2ban/cmd/fail2ban-tools/templates_test.go, modules/fail2ban/files/fail2ban, modules/fail2ban/files/iptables-allports-dualchain.conf, modules/fail2ban/files/jail.local, modules/fail2ban/files/mesh-own-addresses.json, modules/fail2ban/files/own-addresses, modules/fail2ban/files/recidive.conf, modules/fail2ban/files/sshd.conf, modules/feh/cmd/feh-tools/manifest_helpers_test.go, modules/feh/cmd/feh-tools/manifest_test.go, modules/feh/files/xinitrc-normal, modules/fonts/cmd/fonts-tools/fonts_test.go, modules/fonts/cmd/fonts-tools/manifest_kit_test.go, modules/fonts/cmd/fonts-tools/templates_test.go, modules/fonts/files/50-mesh-fonts.conf, modules/gnome-keyring/cmd/gnome-keyring-tools/manifest_helpers_test.go, modules/gnome-keyring/cmd/gnome-keyring-tools/manifest_test.go, modules/gnome-keyring/files/xinitrc-first, modules/hostname/cmd/hostname-tools/hostsfile_test.go, modules/hostname/cmd/hostname-tools/templates_test.go, modules/hostname/files/hostname, modules/hostname/files/hosts, modules/i3/README.md, modules/i3/cmd/i3-tools/manifest_test.go, modules/i3/files/config, modules/i3/config/config, modules/i3/files/env-xdg-current-desktop, modules/i3/files/env-xdg-session-desktop, modules/i3/files/wms/i3, modules/i3/files/xinitrc-last, modules/i3status-rust/README.md, modules/i3status-rust/cmd/i3status-rust-tools/blocks_test.go, modules/i3status-rust/cmd/i3status-rust-tools/manifest_helpers_test.go, modules/i3status-rust/cmd/i3status-rust-tools/manifest_test.go, modules/i3status-rust/files/block.tmpl, modules/i3status-rust/files/bottom-bar.toml, modules/i3status-rust/files/top-bar.toml, modules/i3status-rust/files/xinitrc-normal, modules/kernel/cmd/kernel-tools/manifest_test.go, modules/kernel/cmd/kernel-tools/shape_test.go, modules/kernel/files/huge-pages.sh, modules/kernel/files/mesh-kernel-huge-pages.service, modules/keycloak/cmd/keycloak-provider/moved_test.go, modules/keycloak/cmd/keycloak-provider/templates_test.go, modules/keycloak/files/admin.env, modules/keycloak/files/config.json, modules/keycloak/files/consumers.json, modules/keycloak/files/database.env, modules/keycloak/files/hostname.env, modules/lemurs/README.md, modules/lemurs/cmd/lemurs-tools/lemurs_test.go, modules/lemurs/cmd/lemurs-tools/manifest_test.go, modules/lemurs/files/config.toml, modules/lemurs/config/config.toml, modules/lemurs/files/xserver, modules/localization/cmd/localization-tools/manifest_test.go, modules/localization/cmd/localization-tools/templates_test.go, modules/localization/files/locale.conf, modules/localization/files/vconsole.conf, modules/logrotate/cmd/logrotate-tools/logrotate_test.go, modules/logrotate/cmd/logrotate-tools/manifest_test.go, modules/logrotate/cmd/logrotate-tools/templates_test.go, modules/logrotate/files/logrotate.conf, modules/matrix/files/conduit.toml, modules/matrix/files/element.json, modules/memory-pressure/cmd/memory-pressure/templates_test.go, modules/memory-pressure/files/oomd.conf, modules/memory-pressure/files/root-slice.conf, modules/memory-pressure/files/sysctl.conf, modules/memory-pressure/files/user-manager.conf, modules/memory-pressure/files/zram-generator.conf, modules/mesh-cli/cmd/mesh-cli/manifest_test.go, modules/mesh-cli/files/zsh-normal, modules/mesh-issues/cmd/mesh-issues/manifest_test.go, modules/mesh-issues/cmd/mesh-issues/templates_test.go, modules/mesh-issues/files/settings.json, modules/mesh-knowledge/cmd/mesh-knowledge/manifest_test.go, modules/mesh-knowledge/cmd/mesh-knowledge/templates_test.go, modules/mesh-knowledge/files/database.url, modules/mesh-knowledge/files/settings.json, modules/mesh-mail/cmd/mesh-mail/manifest_test.go, modules/mesh-mail/files/accounts.json, modules/mesh-mail/files/database-url, modules/mesh-mail/files/grants.json, modules/mesh-mail/files/store.json, modules/mesh-watcher/cmd/mesh-watcher/templates_test.go, modules/mesh-watcher/files/settings.json, modules/messenger/cmd/messenger/templates_test.go, modules/messenger/files/settings.json, modules/mounts/cmd/mounts/manifest_test.go, modules/mounts/cmd/mounts/templates_test.go, modules/mounts/files/mounts.conf, modules/node-env/files/50-mesh.conf, modules/node-env/files/environment.sh, modules/pacman/cmd/pacman-tools/manifest_test.go, modules/pacman/cmd/pacman-tools/templates_test.go, modules/pacman/files/pacman.conf, modules/pacman/files/reflector.conf, modules/picom/cmd/picom-tools/manifest_helpers_test.go, modules/picom/cmd/picom-tools/manifest_test.go, modules/picom/files/picom.conf, modules/polychromatic/cmd/polychromatic-tools/manifest_test.go, modules/polychromatic/files/display-session, modules/power/README.md, modules/power/cmd/power/templates_test.go, modules/power/templates/bar-battery, modules/power/templates/bar-power-draw, modules/power/templates/mesh-power/moments/after-boot, modules/power/templates/mesh-power/moments/after-wake, modules/power/templates/mesh-power/moments/before-shutdown, modules/power/templates/mesh-power/moments/before-sleep, modules/power/templates/mesh-power/moments/on-battery, modules/power/templates/mesh-power/moments/on-mains, modules/power/templates/systemd/logind.conf.d/power.conf, modules/power/templates/systemd/system/hibernate.target.d/mesh-power.conf, modules/power/templates/systemd/system/hybrid-sleep.target.d/mesh-power.conf, modules/power/templates/systemd/system/mesh-power-after-boot.service, modules/power/templates/systemd/system/mesh-power-after-wake.service, modules/power/templates/systemd/system/mesh-power-before-shutdown.service, modules/power/templates/systemd/system/mesh-power-before-sleep.service, modules/power/templates/systemd/system/mesh-power-supply.service, modules/power/templates/systemd/system/sleep.target.d/mesh-power.conf, modules/power/templates/systemd/system/suspend-then-hibernate.target.d/mesh-power.conf, modules/power/templates/systemd/system/suspend.target.d/mesh-power.conf, modules/power/templates/udev/rules.d/90-mesh-power.rules, modules/powerlevel10k/files/zsh-normal, modules/powerlevel10k/test/module.test.ts, modules/records/cmd/records/templates_test.go, modules/records/files/config.json, modules/records/files/origin, modules/restic/cmd/restic-backups/retention_test.go, modules/restic/cmd/restic-backups/templates_test.go, modules/restic/files/backups.conf, modules/restic/files/data.conf, modules/restic/files/retention.conf, modules/rofi/cmd/rofi-tools/manifest_helpers_test.go, modules/rofi/cmd/rofi-tools/manifest_test.go, modules/rofi/cmd/rofi-tools/secret_test.go, modules/route-proxy/README.md, modules/route-proxy/cmd/route-provider/main.go, modules/route-proxy/cmd/route-provider/provider.go, modules/route-proxy/cmd/route-provider/provider_test.go, modules/route-proxy/files/acme.env, modules/route-proxy/files/internal-acme.env, modules/route-proxy/go.mod, modules/route-proxy/go.sum, modules/screen-lock/cmd/screen-lock-tools/lock_test.go, modules/screen-lock/cmd/screen-lock-tools/manifest_helpers_test.go, modules/screen-lock/cmd/screen-lock-tools/manifest_test.go, modules/screen-lock/files/xinitrc-normal, modules/slack/cmd/slack-tools/manifest_test.go, modules/slack/cmd/slack-tools/slack_test.go, modules/slack/files/display-session, modules/sudo/cmd/sudo-tools/manifest_test.go, modules/sudo/cmd/sudo-tools/templates_test.go, modules/sudo/files/10-mesh-operator, modules/supabase/files/analytics-env.env, modules/supabase/files/analytics-reconcile.exs, modules/supabase/files/analytics-start.sh, modules/supabase/files/db-init/jwt.sql, modules/supabase/files/db-init/logs.sql, modules/supabase/files/db-init/pooler.sql, modules/supabase/files/db-init/realtime.sql, modules/supabase/files/db-init/roles.sql, modules/supabase/files/db-init/supabase.sql, modules/supabase/files/db-init/webhooks.sql, modules/supabase/files/functions-env.env, modules/supabase/files/functions-main/index.ts, modules/supabase/files/gotrue.env, modules/supabase/files/kong.yml, modules/supabase/files/meta-env.env, modules/supabase/files/pooler-env.env, modules/supabase/files/pooler.exs, modules/supabase/files/postgrest.conf, modules/supabase/files/realtime-env.env, modules/supabase/files/settings.json, modules/supabase/files/storage-env.env, modules/supabase/files/studio-env.env, modules/supabase/files/vector.yml, modules/time-sync/cmd/time-sync-tools/manifest_test.go, modules/time-sync/cmd/time-sync-tools/templates_test.go, modules/time-sync/files/50-mesh.conf, modules/triggerhappy/cmd/triggerhappy-tools/templates_test.go, modules/triggerhappy/files/service.conf, modules/triggerhappy/files/triggers.conf, modules/xdg/README.md, modules/xdg/cmd/xdg-tools/machine_test.go, modules/xdg/cmd/xdg-tools/manifest_test.go, modules/xdg/files/mimeapps.list, modules/xdg/config/mimeapps.list, modules/xdg/files/user-dirs.conf, modules/xdg/config/user-dirs.conf, modules/xdg/files/user-dirs.dirs, modules/xdg/config/user-dirs.dirs, modules/xdg/files/user-dirs.locale, modules/xdg/config/user-dirs.locale, modules/xorg/README.md, modules/xorg/cmd/xorg/manifest_test.go, modules/xorg/cmd/xorg/templates_test.go, modules/xorg/files/xinitrc, modules/xorg/files/xresources, modules/xterm/cmd/xterm-tools/xterm_test.go, modules/xterm/files/env-terminal, modules/xterm/files/xresources-normal, modules/zsh-autosuggestions/files/zsh-normal, modules/zsh-syntax-highlighting/files/zsh-last, predefined.json
Run by the build seat on novox as `build-1792144784550985319` (`builds --log build-1792144784550985319`).
mesh/repo-check: PASS — THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): main's version judged it; the change's judges the pull requests after it merges; its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)
baserow keeps data (ADR 0233): what it holds is backed up before it moves
betterbird waits for a person: its policy records (person)
build-agent keeps data (ADR 0233): what it holds is backed up before it moves
claude-code keeps data (ADR 0233): what it holds is backed up before it moves
dnsmasq waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
dnsmasq provides wildcard-resolution: its consumers are sent again after it
gitea provides npm-package-registry, git: its consumers are sent again after it
gitea keeps data (ADR 0233): what it holds is backed up before it moves
grafana keeps data (ADR 0233): what it holds is backed up before it moves
home-assistant keeps data (ADR 0233): what it holds is backed up before it moves
icecast keeps data (ADR 0233): what it holds is backed up before it moves
influxdb provides influxdb-api: its consumers are sent again after it
influxdb keeps data (ADR 0233): what it holds is backed up before it moves
keycloak waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
keycloak provides oidc-client: its consumers are sent again after it
keycloak keeps data (ADR 0233): what it holds is backed up before it moves
lab keeps data (ADR 0233): what it holds is backed up before it moves
mailu waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
mailu provides smtp: its consumers are sent again after it
mailu keeps data (ADR 0233): what it holds is backed up before it moves
matrix keeps data (ADR 0233): what it holds is backed up before it moves
mesh-vault provides secret: its consumers are sent again after it
mesh-vault keeps data (ADR 0233): what it holds is backed up before it moves
minio waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
minio provides s3-bucket: its consumers are sent again after it
minio keeps data (ADR 0233): what it holds is backed up before it moves
mongodb waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
mongodb provides mongodb-database: its consumers are sent again after it
mongodb keeps data (ADR 0233): what it holds is backed up before it moves
mosquitto provides mqtt-topic: its consumers are sent again after it
mosquitto keeps data (ADR 0233): what it holds is backed up before it moves
mssql waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
mssql provides mssql-database: its consumers are sent again after it
mssql keeps data (ADR 0233): what it holds is backed up before it moves
n8n keeps data (ADR 0233): what it holds is backed up before it moves
merging this needs a person's bus upgrade: nats is never sent by an ordinary send, and until mesh_call mesh-controller.bus {"upgrade": "true", "why": "…", "reversible" or "irreversible": "true"} runs, nothing else is sent to novox either — unless the new build turns out the same as the one running there (issue 280)
nats provides mesh-bus: its consumers are sent again after it
nats keeps data (ADR 0233): what it holds is backed up before it moves
networkmanager waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
nextcloud keeps data (ADR 0233): what it holds is backed up before it moves
nfs-server waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
nfs-server provides nfs-share: its consumers are sent again after it
nfs-server keeps data (ADR 0233): what it holds is backed up before it moves
nftables waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
nodered keeps data (ADR 0233): what it holds is backed up before it moves
only-office keeps data (ADR 0233): what it holds is backed up before it moves
postgres waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
postgres provides postgres-database: its consumers are sent again after it
postgres keeps data (ADR 0233): what it holds is backed up before it moves
records keeps data (ADR 0233): what it holds is backed up before it moves
redis provides redis-cache: its consumers are sent again after it
redis keeps data (ADR 0233): what it holds is backed up before it moves
restic keeps data (ADR 0233): what it holds is backed up before it moves
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
searxng keeps data (ADR 0233): what it holds is backed up before it moves
ssh-client keeps data (ADR 0233): what it holds is backed up before it moves
sshd waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
step-ca provides internal-acme-ca: its consumers are sent again after it
step-ca keeps data (ADR 0233): what it holds is backed up before it moves
supabase keeps data (ADR 0233): what it holds is backed up before it moves
systemd-networkd waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
umami provides analytics: its consumers are sent again after it
umami keeps data (ADR 0233): what it holds is backed up before it moves
unifi keeps data (ADR 0233): what it holds is backed up before it moves
xorg provides x11-display: its consumers are sent again after it
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 adwaita, asus-zephyrus-g14, baserow, build-agent, ca-trust, claude-code, clipmenu, docker, dunst, fail2ban, feh, fonts, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, kernel, lab, lemurs, letta, localization, logrotate, matrix, memory-pressure, mesh-cli, mosquitto, mounts, n8n, node-env, nodered, pacman, picom, polychromatic, power, powerlevel10k, redis, restic, rofi, route-proxy, screen-lock, searxng, slack, ssh-client, sudo, supabase, time-sync, triggerhappy, unifi, xdg, xorg, xterm, zsh, zsh-autosuggestions, zsh-syntax-highlighting is judged on its first machine
Run by the build seat on ace as build-1792147612302406640 (builds --log build-1792147612302406640).
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 85.380082
type-checking modules/mesh-catalog (TypeScript)
testing modules/mesh-catalog (TypeScript)
✔ the catalogue hears the build seat that builds now, not only the retired one (issue 712) (3.139096ms)
✔ a walk's build is placed, under its module and commit (0.537475ms)
✔ a merge check, a try, a dry run and a failure are passed over without a fault (0.196701ms)
✔ an outcome that names no module or commit is said as the builder's fault (0.14857ms)
✔ a branch built through the build verb is passed over; a commit on the trunk, or from a seat that names none, is placed (ADR 0238) (0.135165ms)
ℹ tests 5
ℹ suites 0
ℹ pass 5
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 71.521944
type-checking modules/minio (TypeScript)
NOT TESTED: modules/minio is TypeScript and has no tests of its own
type-checking modules/model-usage (TypeScript)
testing modules/model-usage (TypeScript)
✔ a store that refuses a row is thrown, so the event is offered again, and it is spooled (15.971428ms)
✔ a redelivered event writes the same reading, never a second, and clears its spooled copy (9.926527ms)
✔ on its last delivery a usage event is spooled and taken (44.42594ms)
✔ the spool replays once the store answers, and an older reading replayed late does not overwrite a newer (45.805866ms)
✔ an event without a body is taken without a TypeError; a row the store could never take is skipped, not retried (0.756718ms)
✔ model_usage_status reports the spool, and is offered even when the store cannot be opened (44.374533ms)
﹣ against postgres: migrations are numbered and repeatable, and the upsert keeps the reading observed latest (0.149663ms) # TEST_DATABASE_URL is not set
ℹ tests 7
ℹ suites 0
ℹ pass 6
ℹ fail 0
ℹ cancelled 0
ℹ skipped 1
ℹ todo 0
ℹ duration_ms 246.132571
type-checking modules/mongodb (TypeScript)
NOT TESTED: modules/mongodb is TypeScript and has no tests of its own
type-checking modules/mosquitto (TypeScript)
testing modules/mosquitto (TypeScript)
✔ named, the broker's container runs mosquitto_ctrl under the options shell, stdin open (1.50457ms)
✔ unnamed, this machine's mosquitto_ctrl runs under the same shell (0.145976ms)
✔ the options shell itself holds no secret (0.160373ms)
✔ an argv carrying the admin password or a password being set is refused, by name (0.387772ms)
✔ the admin tool refuses a dynsec command that would put a password on a command line (0.186562ms)
✔ the admin's name and password reach mosquitto_ctrl in a 0600 options file, and a password being set at its prompt (8.11681ms)
✔ a consumer that contributed nothing gets its own subtree (1.021458ms)
✔ a contributed list is granted exactly, duplicates once (0.228151ms)
✔ a list that is not topic filters is refused whole (0.219334ms)
✔ getRole's ACL lines are read, the warning and headings are not (0.285369ms)
✔ the role is brought to exactly the wanted ACLs (0.293654ms)
ℹ tests 11
ℹ suites 0
ℹ pass 11
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 75.518444
type-checking modules/mssql (TypeScript)
testing modules/mssql (TypeScript)
✔ a caller's statement runs as the reader, as it was written, on the database it names (1.804194ms)
✔ the reader is made as the administrator, kept out of sysadmin, and granted only reading (0.501517ms)
✔ without the reader's password the statement is refused, and nothing runs as the administrator (1.943988ms)
✔ a consumer's password is checked as a bound parameter, never in the text (0.225615ms)
ℹ tests 4
ℹ suites 0
ℹ pass 4
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 221.412295
type-checking modules/nextcloud (TypeScript)
testing modules/nextcloud (TypeScript)
✔ the vault's password is used, a setting of it is ignored and said once, without its value (1.897382ms)
ℹ tests 1
ℹ suites 0
ℹ pass 1
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 69.693421
type-checking modules/nftables (TypeScript)
testing modules/nftables (TypeScript)
✔ a predecessor's chain in the legacy filter loses its jumps, is flushed and deleted (1.445669ms)
✔ the runtime's user chain is emptied back to its one return, never deleted (0.242157ms)
✔ a chain of the machine's own nftables table goes with the rules that reach it (0.422487ms)
✔ what is not the operator's to remove is refused by name (1.365047ms)
✔ which chains jump to a target is read from a listing (0.168829ms)
✔ the filter's commands run as given by root and through sudo without a prompt by anyone else (0.173848ms)
✔ without a uid given, the process's own decides: as given for root, through sudo for anyone else (0.102543ms)
✔ the filter file is the one the manifest's filtering names (0.278926ms)
✔ a tool is installed when an executable of its name is on the path, and not otherwise (0.523769ms)
✔ a found firewall that is absent guards nothing; one that will not answer stops the removal (0.48197ms)
ℹ tests 10
ℹ suites 0
ℹ pass 10
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 80.127589
type-checking modules/nodered (TypeScript)
testing modules/nodered (TypeScript)
✔ ace: the named broker node is moved to the bound broker and login; the other broker is not touched (2.71757ms)
✔ fresh: with nothing named, the step makes its own broker node (0.30761ms)
✔ a login the broker does not take is never written (0.155954ms)
✔ a named node that is not there, or a loopback broker, is refused (0.241356ms)
✔ a deploy that raced another is read again once (1.136595ms)
✔ settings name broker nodes under mqtt.brokers (0.146436ms)
ℹ tests 6
ℹ suites 0
ℹ pass 6
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 79.872473
modules/powerlevel10k has no TypeScript sources of its own to type-check: its tests read its files
testing modules/powerlevel10k (TypeScript)
✔ the theme archive is built from the vendored release and carries its licence (1.122228ms)
✔ the configuration archive holds the prompt's configuration and nothing else (0.151456ms)
✔ both are unpacked under the account's home, owned by the account (0.123262ms)
✔ the zsh code in the normal slot sources the theme, then the configuration, and turns on no instant prompt (0.314814ms)
✔ the README names the upstream, the version and the licence (0.17998ms)
ℹ tests 5
ℹ suites 0
ℹ pass 5
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 72.063015
type-checking modules/redis (TypeScript)
NOT TESTED: modules/redis is TypeScript and has no tests of its own
type-checking modules/route-adapter (TypeScript)
testing modules/route-adapter (TypeScript)
✔ it writes one route file per contribution, in the predecessor's own shape (7.20151ms)
✔ it removes the file it wrote when that contribution goes (2.407373ms)
✔ it never touches a file it did not write (3.818847ms)
✔ the target port follows what the contributor publishes (37.664741ms)
✔ a contributor on another node is reached at the address the mesh gave it (1.418336ms)
✔ a node's settings are laid over the module's defaults, and nothing else changes (1.348865ms)
✔ a contribution it cannot act on is skipped and named (0.243209ms)
✔ a contribution the file shape cannot say is skipped and says which part (0.294015ms)
✔ it refuses when the predecessor's directory is not there, and says why (1.537151ms)
✔ a body limit is written as the predecessor's buffering middleware (1.725978ms)
✔ a body limit that is not a whole number of bytes is skipped and named (0.262686ms)
ℹ tests 11
ℹ suites 0
ℹ pass 11
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 134.517203
type-checking modules/searxng (TypeScript)
NOT TESTED: modules/searxng is TypeScript and has no tests of its own
type-checking modules/showcase (TypeScript)
NOT TESTED: modules/showcase is TypeScript and has no tests of its own
type-checking modules/umami (TypeScript)
NOT TESTED: modules/umami is TypeScript and has no tests of its own
type-checking modules/unifi (TypeScript)
NOT TESTED: modules/unifi is TypeScript and has no tests of its own
type-checking modules/zsh (TypeScript)
testing modules/zsh (TypeScript)
✔ the exit status and both streams are answered (28.005848ms)
✔ it runs in the directory it is given (4.063058ms)
✔ on timeout the whole process group is ended, a backgrounded grandchild included (502.82731ms)
✔ output beyond the bound is cut and the answer says so (7.558774ms)
✔ a job left in the background does not hold the answer (203.458865ms)
﹣ zsh runs the command as a login shell, when zsh is here (1.767014ms) # zsh is not installed here
✔ the timeout is held below the runtime's call limit (0.136207ms)
✔ the command's environment drops the mesh's words and gains the account's session words when they exist (0.229583ms)
✔ zsh_config counts the mesh's block in a file (3.067178ms)
✔ no file carries its text inline: each names its template, and the build packs files/ into one archive (1.858998ms)
✔ it claims node-login-shell serving execute, and declares no seat (0.150835ms)
✔ the .zshrc block is at the start and holds the three slots in order, after the defaults' header (0.257265ms)
✔ the .zshrc block carries the shared defaults and none of the operator's own lines (0.336215ms)
✔ the .zshenv block sources exactly the environment file node-environment fixes (0.340473ms)
✔ its environment is a contribution: the editor, the configuration home, and three PATH entries at the start (2.249214ms)
✔ it keeps the package and sets the login shell through the user shape (0.143851ms)
✔ the tools bundle registers the seat's verb under node-login-shell (0.259129ms)
✔ execute is a per-machine config value, served unless a machine withholds it (ADR 0268, ADR 0348 §4) (0.443787ms)
✔ the tools bundle registers execute only where the machine's setting serves it (0.399283ms)
✔ execute is served only when the machine's setting says serve (0.685063ms)
✔ anything but serve withholds it: a wrong value, no line, no file (0.213333ms)
✔ the setting is read from the file the bundle's word names (3.104108ms)
ℹ tests 22
ℹ suites 0
ℹ pass 21
ℹ fail 0
ℹ cancelled 0
ℹ skipped 1
ℹ todo 0
ℹ duration_ms 822.912225
**Merge check** at `a31ad48b`
Judged: head `a31ad48b024d` merged into trunk `ee1b15d7f066`; read beside it: mesh-controller `a20680dfe769`, mesh-controller-main `a20680dfe769`, mesh-host `cd13f7726ef0`, mesh-tools `6b3e15042fee`
- `mesh/merge-gate`: **PASS, WITH A NOTE** — a merge rebuilds 94 module(s) in 1 tier(s) (modules: adwaita, artifact-store-tools, asus-zephyrus-g14, baserow, betterbird, build-agent, ca-trust, claude-code, claude-licence-manager, clipmenu, confluence, desk-channel, dnsmasq, docker, dunst, fail2ban, feh, fonts, gitea, gitlab, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, invoicing, jira, kernel, keycloak, lab, lemurs, letta, localization, logrotate, mailu, matrix, memory-pressure, mesh-catalog, mesh-cli, mesh-issues, mesh-knowledge, mesh-mail, mesh-vault, mesh-watcher, messenger, minio, mongodb, mosquitto, mounts, mssql, n8n, nats, networkmanager, nextcloud, nfs-server, nftables, node-env, nodered, only-office, pacman, picom, polychromatic, postgres, power, powerlevel10k, records, redis, restic, rofi, route-adapter, route-proxy, screen-lock, searxng, slack, ssh-client, sshd, step-ca, sudo, supabase, systemd-networkd, time-sync, triggerhappy, umami, unifi, xdg, xorg, xterm, zfs, zsh, zsh-autosuggestions, zsh-syntax-highlighting, new:modules/de-spiegel, new:modules/hello-web, new:modules/local-model-consumer, new:modules/mesh-config, new:modules/mesh-provisioner, new:modules/mesh-provisioner-client, new:modules/model-usage, new:modules/showcase)
- `mesh/repo-check`: **PASS** — THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): main's version judged it; the change's judges the pull requests after it merges; its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)
**Delivery plan** — builds adwaita, artifact-store-tools, asus-zephyrus-g14, baserow, betterbird, build-agent, ca-trust, claude-code, claude-licence-manager, clipmenu, confluence, desk-channel, dnsmasq, docker, dunst, fail2ban, feh, fonts, gitea, gitlab, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, invoicing, jira, kernel, keycloak, lab, lemurs, letta, localization, logrotate, mailu, matrix, memory-pressure, mesh-catalog, mesh-cli, mesh-issues, mesh-knowledge, mesh-mail, mesh-vault, mesh-watcher, messenger, minio, mongodb, mosquitto, mounts, mssql, n8n, nats, networkmanager, nextcloud, nfs-server, nftables, node-env, nodered, only-office, pacman, picom, polychromatic, postgres, power, powerlevel10k, records, redis, restic, rofi, route-adapter, route-proxy, screen-lock, searxng, slack, ssh-client, sshd, step-ca, sudo, supabase, systemd-networkd, time-sync, triggerhappy, umami, unifi, xdg, xorg, xterm, zfs, zsh, zsh-autosuggestions, zsh-syntax-highlighting, new: modules/de-spiegel, modules/hello-web, modules/local-model-consumer, modules/mesh-config, modules/mesh-provisioner, modules/mesh-provisioner-client, modules/model-usage, modules/showcase → ace, g14, novox, shanks; merging this needs a person's bus upgrade; 26 wait(s) for a person
- tier 0: adwaita, artifact-store-tools, asus-zephyrus-g14, baserow, betterbird, build-agent, ca-trust, claude-code, claude-licence-manager, clipmenu, confluence, desk-channel, dnsmasq, docker, dunst, fail2ban, feh, fonts, gitea, gitlab, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, invoicing, jira, kernel, keycloak, lab, lemurs, letta, localization, logrotate, mailu, matrix, memory-pressure, mesh-catalog, mesh-cli, mesh-issues, mesh-knowledge, mesh-mail, mesh-vault, mesh-watcher, messenger, minio, mongodb, mosquitto, mounts, mssql, n8n, nats, networkmanager, nextcloud, nfs-server, nftables, node-env, nodered, only-office, pacman, picom, polychromatic, postgres, power, powerlevel10k, records, redis, restic, rofi, route-adapter, route-proxy, screen-lock, searxng, slack, ssh-client, sshd, step-ca, sudo, supabase, systemd-networkd, time-sync, triggerhappy, umami, unifi, xdg, xorg, xterm, zfs, zsh, zsh-autosuggestions, zsh-syntax-highlighting
- ace: receives baserow, build-agent, ca-trust, claude-code, docker, fail2ban, grafana, home-assistant, hostname, icecast, influxdb, kernel, letta, localization, logrotate, matrix, mesh-cli, mosquitto, n8n, node-env, nodered, pacman, power, powerlevel10k, redis, restic, route-proxy, searxng, ssh-client, sudo, supabase, time-sync, unifi, zsh, zsh-autosuggestions, zsh-syntax-highlighting; waits for a person: dnsmasq, mssql, networkmanager, nfs-server, nftables, postgres, sshd
- g14: receives adwaita, asus-zephyrus-g14, build-agent, ca-trust, claude-code, clipmenu, docker, dunst, fail2ban, feh, fonts, gnome-keyring, hostname, i3, i3status-rust, kernel, lemurs, localization, logrotate, memory-pressure, mesh-cli, node-env, pacman, picom, polychromatic, power, powerlevel10k, restic, rofi, screen-lock, slack, ssh-client, sudo, time-sync, triggerhappy, xdg, xorg, xterm, zsh, zsh-autosuggestions, zsh-syntax-highlighting; waits for a person: betterbird, networkmanager, nftables, sshd
- novox: receives artifact-store-tools, build-agent, ca-trust, claude-code, claude-licence-manager, desk-channel, docker, fail2ban, gitea, hostname, invoicing, kernel, localization, logrotate, mesh-catalog, mesh-cli, mesh-issues, mesh-knowledge, mesh-mail, mesh-vault, messenger, nextcloud, node-env, only-office, pacman, power, powerlevel10k, records, restic, route-proxy, ssh-client, step-ca, sudo, time-sync, umami, zsh, zsh-autosuggestions, zsh-syntax-highlighting; waits for a person: dnsmasq, keycloak, mailu, minio, mongodb, mssql, nats, nftables, postgres, sshd, systemd-networkd
- shanks: receives adwaita, build-agent, ca-trust, claude-code, clipmenu, docker, dunst, fail2ban, feh, fonts, gnome-keyring, hostname, i3, i3status-rust, kernel, lab, lemurs, localization, logrotate, mesh-cli, mounts, node-env, pacman, picom, polychromatic, power, powerlevel10k, restic, rofi, screen-lock, slack, ssh-client, sudo, time-sync, xdg, xorg, xterm, zsh, zsh-autosuggestions, zsh-syntax-highlighting; waits for a person: betterbird, networkmanager, nftables, sshd
- baserow keeps data (ADR 0233): what it holds is backed up before it moves
- betterbird waits for a person: its policy records (person)
- build-agent keeps data (ADR 0233): what it holds is backed up before it moves
- claude-code keeps data (ADR 0233): what it holds is backed up before it moves
- dnsmasq waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- dnsmasq provides wildcard-resolution: its consumers are sent again after it
- gitea provides npm-package-registry, git: its consumers are sent again after it
- gitea keeps data (ADR 0233): what it holds is backed up before it moves
- grafana keeps data (ADR 0233): what it holds is backed up before it moves
- home-assistant keeps data (ADR 0233): what it holds is backed up before it moves
- icecast keeps data (ADR 0233): what it holds is backed up before it moves
- influxdb provides influxdb-api: its consumers are sent again after it
- influxdb keeps data (ADR 0233): what it holds is backed up before it moves
- keycloak waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- keycloak provides oidc-client: its consumers are sent again after it
- keycloak keeps data (ADR 0233): what it holds is backed up before it moves
- lab keeps data (ADR 0233): what it holds is backed up before it moves
- mailu waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- mailu provides smtp: its consumers are sent again after it
- mailu keeps data (ADR 0233): what it holds is backed up before it moves
- matrix keeps data (ADR 0233): what it holds is backed up before it moves
- mesh-vault provides secret: its consumers are sent again after it
- mesh-vault keeps data (ADR 0233): what it holds is backed up before it moves
- minio waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- minio provides s3-bucket: its consumers are sent again after it
- minio keeps data (ADR 0233): what it holds is backed up before it moves
- mongodb waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- mongodb provides mongodb-database: its consumers are sent again after it
- mongodb keeps data (ADR 0233): what it holds is backed up before it moves
- mosquitto provides mqtt-topic: its consumers are sent again after it
- mosquitto keeps data (ADR 0233): what it holds is backed up before it moves
- mssql waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- mssql provides mssql-database: its consumers are sent again after it
- mssql keeps data (ADR 0233): what it holds is backed up before it moves
- n8n keeps data (ADR 0233): what it holds is backed up before it moves
- merging this needs a person's bus upgrade: nats is never sent by an ordinary send, and until `mesh_call mesh-controller.bus {"upgrade": "true", "why": "…", "reversible" or "irreversible": "true"}` runs, nothing else is sent to novox either — unless the new build turns out the same as the one running there (issue 280)
- nats provides mesh-bus: its consumers are sent again after it
- nats keeps data (ADR 0233): what it holds is backed up before it moves
- networkmanager waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- nextcloud keeps data (ADR 0233): what it holds is backed up before it moves
- nfs-server waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- nfs-server provides nfs-share: its consumers are sent again after it
- nfs-server keeps data (ADR 0233): what it holds is backed up before it moves
- nftables waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- nodered keeps data (ADR 0233): what it holds is backed up before it moves
- only-office keeps data (ADR 0233): what it holds is backed up before it moves
- postgres waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- postgres provides postgres-database: its consumers are sent again after it
- postgres keeps data (ADR 0233): what it holds is backed up before it moves
- records keeps data (ADR 0233): what it holds is backed up before it moves
- redis provides redis-cache: its consumers are sent again after it
- redis keeps data (ADR 0233): what it holds is backed up before it moves
- restic keeps data (ADR 0233): what it holds is backed up before it moves
- 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
- searxng keeps data (ADR 0233): what it holds is backed up before it moves
- ssh-client keeps data (ADR 0233): what it holds is backed up before it moves
- sshd waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- step-ca provides internal-acme-ca: its consumers are sent again after it
- step-ca keeps data (ADR 0233): what it holds is backed up before it moves
- supabase keeps data (ADR 0233): what it holds is backed up before it moves
- systemd-networkd waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
- umami provides analytics: its consumers are sent again after it
- umami keeps data (ADR 0233): what it holds is backed up before it moves
- unifi keeps data (ADR 0233): what it holds is backed up before it moves
- xorg provides x11-display: its consumers are sent again after it
- 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 adwaita, asus-zephyrus-g14, baserow, build-agent, ca-trust, claude-code, clipmenu, docker, dunst, fail2ban, feh, fonts, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, kernel, lab, lemurs, letta, localization, logrotate, matrix, memory-pressure, mesh-cli, mosquitto, mounts, n8n, node-env, nodered, pacman, picom, polychromatic, power, powerlevel10k, redis, restic, rofi, route-proxy, screen-lock, searxng, slack, ssh-client, sudo, supabase, time-sync, triggerhappy, unifi, xdg, xorg, xterm, zsh, zsh-autosuggestions, zsh-syntax-highlighting is judged on its first machine
- read by no module's build: .gitignore, RELEASE-57.md, checks/config/go.mod, checks/config/main.go, checks/config/main_test.go, checks/config/unmoved, checks/predefined/go.mod, checks/predefined/main.go, checks/predefined/main_test.go, checks/secrets/main.go, checks/secrets/main_test.go, checks/templates/go.mod, checks/templates/inline, checks/templates/main.go, checks/templates/main_test.go, health-undeclared, merge-check.sh, modules/adwaita/README.md, modules/adwaita/cmd/adwaita-tools/adwaita_test.go, modules/adwaita/files/cursor-index.theme, modules/adwaita/config/cursor-index.theme, modules/adwaita/files/env-gtk-theme, modules/adwaita/files/env-gtk2-rc-files, modules/adwaita/files/env-qt-qpa-platformtheme, modules/adwaita/files/env-qt-select, modules/adwaita/files/env-qt-style-override, modules/adwaita/files/env-xcursor-size, modules/adwaita/files/env-xcursor-theme, modules/adwaita/files/gtk-settings.ini, modules/adwaita/config/gtk-settings.ini, modules/adwaita/files/portals.conf, modules/adwaita/config/portals.conf, modules/adwaita/files/qt6ct.conf, modules/adwaita/config/qt6ct.conf, modules/adwaita/files/xinitrc-normal, modules/adwaita/files/xresources-normal, modules/artifact-store-tools/cmd/artifact-store-tools/templates_test.go, modules/artifact-store-tools/files/store-names, modules/asus-zephyrus-g14/cmd/zephyrus/keys_test.go, modules/asus-zephyrus-g14/cmd/zephyrus/manifest_test.go, modules/asus-zephyrus-g14/cmd/zephyrus/templates_test.go, modules/asus-zephyrus-g14/templates/UPower/UPower.conf.d/50-asus-zephyrus-g14.conf, modules/asus-zephyrus-g14/templates/X11/xorg.conf.d/30-asus-zephyrus-g14-touchpad.conf, modules/asus-zephyrus-g14/templates/after-wake, modules/asus-zephyrus-g14/templates/display-session, modules/asus-zephyrus-g14/templates/hotkeys-triggers, modules/asus-zephyrus-g14/templates/modprobe.d/g14-nvidia-power.conf, modules/asus-zephyrus-g14/templates/modprobe.d/video-brightness-switch.conf, modules/asus-zephyrus-g14/templates/systemd/system/nvidia-powerd.service.d/asus-zephyrus-g14.conf, modules/asus-zephyrus-g14/templates/systemd/system/systemd-hibernate.service.d/asus-zephyrus-g14-nvidia.conf, modules/asus-zephyrus-g14/templates/systemd/system/systemd-suspend-then-hibernate.service.d/asus-zephyrus-g14-nvidia.conf, modules/asus-zephyrus-g14/templates/systemd/system/systemd-suspend.service.d/asus-zephyrus-g14-nvidia.conf, modules/asus-zephyrus-g14/templates/udev/rules.d/90-backlight.rules, modules/betterbird/README.md, modules/betterbird/cmd/betterbird-tools/manifest_test.go, modules/betterbird/cmd/betterbird-tools/templates_test.go, modules/betterbird/files/accounts.json, modules/betterbird/files/betterbird, modules/betterbird/files/configuration.json, modules/betterbird/files/eu.betterbird.Betterbird.desktop, modules/betterbird/files/prefs.json, modules/betterbird/files/tags.json, modules/build-agent/files/build-agent.env, modules/build-agent/manifest_test.go, modules/build-agent/templates_test.go, modules/ca-trust/files/anchor, modules/ca-trust/files/mesh-ca-trust.service, modules/claude-code/README.md, modules/claude-code/cmd/claude-code/forge_test.go, modules/claude-code/cmd/claude-code/shell_test.go, modules/claude-code/cmd/claude-code/templates_test.go, modules/claude-code/files/agent-account, modules/claude-code/files/claude-agent, modules/claude-code/files/facts.json, modules/claude-code/files/settings.json, modules/claude-code/files/zsh-normal, modules/claude-licence-manager/cmd/claude-licence-manager/templates_test.go, modules/claude-licence-manager/files/database.url, modules/claude-licence-manager/files/settings.json, modules/clipmenu/cmd/clipmenu-tools/manifest_helpers_test.go, modules/clipmenu/cmd/clipmenu-tools/manifest_test.go, modules/clipmenu/files/bin/clipmenud-session, modules/clipmenu/files/bin/xsel, modules/clipmenu/files/env-cm-histlength, modules/clipmenu/files/env-cm-max-clips, modules/clipmenu/files/env-cm-selections, modules/clipmenu/files/systemd/clipmenud-mesh.conf, modules/desk-channel/cmd/desk-channel/templates_test.go, modules/desk-channel/files/settings.json, modules/dnsmasq/cmd/dnsmasq-tools/templates_test.go, modules/dnsmasq/files/dnsmasq.conf, modules/dnsmasq/files/mesh.conf, modules/docker/cmd/docker-tools/logrotation_test.go, modules/docker/cmd/docker-tools/templates_test.go, modules/docker/files/daemon.json, modules/docker/files/docker-prune.service, modules/docker/files/docker-prune.timer, modules/docker/files/log-rotation.conf, modules/dunst/cmd/dunst-tools/manifest_helpers_test.go, modules/dunst/cmd/dunst-tools/manifest_test.go, modules/dunst/files/dunstrc, modules/fail2ban/cmd/fail2ban-tools/own_test.go, modules/fail2ban/cmd/fail2ban-tools/templates_test.go, modules/fail2ban/files/fail2ban, modules/fail2ban/files/iptables-allports-dualchain.conf, modules/fail2ban/files/jail.local, modules/fail2ban/files/mesh-own-addresses.json, modules/fail2ban/files/own-addresses, modules/fail2ban/files/recidive.conf, modules/fail2ban/files/sshd.conf, modules/feh/cmd/feh-tools/manifest_helpers_test.go, modules/feh/cmd/feh-tools/manifest_test.go, modules/feh/files/xinitrc-normal, modules/fonts/cmd/fonts-tools/fonts_test.go, modules/fonts/cmd/fonts-tools/manifest_kit_test.go, modules/fonts/cmd/fonts-tools/templates_test.go, modules/fonts/files/50-mesh-fonts.conf, modules/gnome-keyring/cmd/gnome-keyring-tools/manifest_helpers_test.go, modules/gnome-keyring/cmd/gnome-keyring-tools/manifest_test.go, modules/gnome-keyring/files/xinitrc-first, modules/hostname/cmd/hostname-tools/hostsfile_test.go, modules/hostname/cmd/hostname-tools/templates_test.go, modules/hostname/files/hostname, modules/hostname/files/hosts, modules/i3/README.md, modules/i3/cmd/i3-tools/manifest_test.go, modules/i3/files/config, modules/i3/config/config, modules/i3/files/env-xdg-current-desktop, modules/i3/files/env-xdg-session-desktop, modules/i3/files/wms/i3, modules/i3/files/xinitrc-last, modules/i3status-rust/README.md, modules/i3status-rust/cmd/i3status-rust-tools/blocks_test.go, modules/i3status-rust/cmd/i3status-rust-tools/manifest_helpers_test.go, modules/i3status-rust/cmd/i3status-rust-tools/manifest_test.go, modules/i3status-rust/files/block.tmpl, modules/i3status-rust/files/bottom-bar.toml, modules/i3status-rust/files/top-bar.toml, modules/i3status-rust/files/xinitrc-normal, modules/kernel/cmd/kernel-tools/manifest_test.go, modules/kernel/cmd/kernel-tools/shape_test.go, modules/kernel/files/huge-pages.sh, modules/kernel/files/mesh-kernel-huge-pages.service, modules/keycloak/cmd/keycloak-provider/moved_test.go, modules/keycloak/cmd/keycloak-provider/templates_test.go, modules/keycloak/files/admin.env, modules/keycloak/files/config.json, modules/keycloak/files/consumers.json, modules/keycloak/files/database.env, modules/keycloak/files/hostname.env, modules/lemurs/README.md, modules/lemurs/cmd/lemurs-tools/lemurs_test.go, modules/lemurs/cmd/lemurs-tools/manifest_test.go, modules/lemurs/files/config.toml, modules/lemurs/config/config.toml, modules/lemurs/files/xserver, modules/localization/cmd/localization-tools/manifest_test.go, modules/localization/cmd/localization-tools/templates_test.go, modules/localization/files/locale.conf, modules/localization/files/vconsole.conf, modules/logrotate/cmd/logrotate-tools/logrotate_test.go, modules/logrotate/cmd/logrotate-tools/manifest_test.go, modules/logrotate/cmd/logrotate-tools/templates_test.go, modules/logrotate/files/logrotate.conf, modules/matrix/files/conduit.toml, modules/matrix/files/element.json, modules/memory-pressure/cmd/memory-pressure/templates_test.go, modules/memory-pressure/files/oomd.conf, modules/memory-pressure/files/root-slice.conf, modules/memory-pressure/files/sysctl.conf, modules/memory-pressure/files/user-manager.conf, modules/memory-pressure/files/zram-generator.conf, modules/mesh-cli/cmd/mesh-cli/manifest_test.go, modules/mesh-cli/files/zsh-normal, modules/mesh-issues/cmd/mesh-issues/manifest_test.go, modules/mesh-issues/cmd/mesh-issues/templates_test.go, modules/mesh-issues/files/settings.json, modules/mesh-knowledge/cmd/mesh-knowledge/manifest_test.go, modules/mesh-knowledge/cmd/mesh-knowledge/templates_test.go, modules/mesh-knowledge/files/database.url, modules/mesh-knowledge/files/settings.json, modules/mesh-mail/cmd/mesh-mail/manifest_test.go, modules/mesh-mail/files/accounts.json, modules/mesh-mail/files/database-url, modules/mesh-mail/files/grants.json, modules/mesh-mail/files/store.json, modules/mesh-watcher/cmd/mesh-watcher/templates_test.go, modules/mesh-watcher/files/settings.json, modules/messenger/cmd/messenger/templates_test.go, modules/messenger/files/settings.json, modules/mounts/cmd/mounts/manifest_test.go, modules/mounts/cmd/mounts/templates_test.go, modules/mounts/files/mounts.conf, modules/node-env/files/50-mesh.conf, modules/node-env/files/environment.sh, modules/pacman/cmd/pacman-tools/manifest_test.go, modules/pacman/cmd/pacman-tools/templates_test.go, modules/pacman/files/pacman.conf, modules/pacman/files/reflector.conf, modules/picom/cmd/picom-tools/manifest_helpers_test.go, modules/picom/cmd/picom-tools/manifest_test.go, modules/picom/files/picom.conf, modules/polychromatic/cmd/polychromatic-tools/manifest_test.go, modules/polychromatic/files/display-session, modules/power/README.md, modules/power/cmd/power/templates_test.go, modules/power/templates/bar-battery, modules/power/templates/bar-power-draw, modules/power/templates/mesh-power/moments/after-boot, modules/power/templates/mesh-power/moments/after-wake, modules/power/templates/mesh-power/moments/before-shutdown, modules/power/templates/mesh-power/moments/before-sleep, modules/power/templates/mesh-power/moments/on-battery, modules/power/templates/mesh-power/moments/on-mains, modules/power/templates/systemd/logind.conf.d/power.conf, modules/power/templates/systemd/system/hibernate.target.d/mesh-power.conf, modules/power/templates/systemd/system/hybrid-sleep.target.d/mesh-power.conf, modules/power/templates/systemd/system/mesh-power-after-boot.service, modules/power/templates/systemd/system/mesh-power-after-wake.service, modules/power/templates/systemd/system/mesh-power-before-shutdown.service, modules/power/templates/systemd/system/mesh-power-before-sleep.service, modules/power/templates/systemd/system/mesh-power-supply.service, modules/power/templates/systemd/system/sleep.target.d/mesh-power.conf, modules/power/templates/systemd/system/suspend-then-hibernate.target.d/mesh-power.conf, modules/power/templates/systemd/system/suspend.target.d/mesh-power.conf, modules/power/templates/udev/rules.d/90-mesh-power.rules, modules/powerlevel10k/files/zsh-normal, modules/powerlevel10k/test/module.test.ts, modules/records/cmd/records/templates_test.go, modules/records/files/config.json, modules/records/files/origin, modules/restic/cmd/restic-backups/retention_test.go, modules/restic/cmd/restic-backups/templates_test.go, modules/restic/files/backups.conf, modules/restic/files/data.conf, modules/restic/files/retention.conf, modules/rofi/cmd/rofi-tools/manifest_helpers_test.go, modules/rofi/cmd/rofi-tools/manifest_test.go, modules/rofi/cmd/rofi-tools/secret_test.go, modules/route-proxy/README.md, modules/route-proxy/cmd/route-provider/main.go, modules/route-proxy/cmd/route-provider/provider.go, modules/route-proxy/cmd/route-provider/provider_test.go, modules/route-proxy/files/acme.env, modules/route-proxy/files/internal-acme.env, modules/route-proxy/go.mod, modules/route-proxy/go.sum, modules/screen-lock/cmd/screen-lock-tools/lock_test.go, modules/screen-lock/cmd/screen-lock-tools/manifest_helpers_test.go, modules/screen-lock/cmd/screen-lock-tools/manifest_test.go, modules/screen-lock/files/xinitrc-normal, modules/slack/cmd/slack-tools/manifest_test.go, modules/slack/cmd/slack-tools/slack_test.go, modules/slack/files/display-session, modules/sudo/cmd/sudo-tools/manifest_test.go, modules/sudo/cmd/sudo-tools/templates_test.go, modules/sudo/files/10-mesh-operator, modules/supabase/files/analytics-env.env, modules/supabase/files/analytics-reconcile.exs, modules/supabase/files/analytics-start.sh, modules/supabase/files/db-init/jwt.sql, modules/supabase/files/db-init/logs.sql, modules/supabase/files/db-init/pooler.sql, modules/supabase/files/db-init/realtime.sql, modules/supabase/files/db-init/roles.sql, modules/supabase/files/db-init/supabase.sql, modules/supabase/files/db-init/webhooks.sql, modules/supabase/files/functions-env.env, modules/supabase/files/functions-main/index.ts, modules/supabase/files/gotrue.env, modules/supabase/files/kong.yml, modules/supabase/files/meta-env.env, modules/supabase/files/pooler-env.env, modules/supabase/files/pooler.exs, modules/supabase/files/postgrest.conf, modules/supabase/files/realtime-env.env, modules/supabase/files/settings.json, modules/supabase/files/storage-env.env, modules/supabase/files/studio-env.env, modules/supabase/files/vector.yml, modules/time-sync/cmd/time-sync-tools/manifest_test.go, modules/time-sync/cmd/time-sync-tools/templates_test.go, modules/time-sync/files/50-mesh.conf, modules/triggerhappy/cmd/triggerhappy-tools/templates_test.go, modules/triggerhappy/files/service.conf, modules/triggerhappy/files/triggers.conf, modules/xdg/README.md, modules/xdg/cmd/xdg-tools/machine_test.go, modules/xdg/cmd/xdg-tools/manifest_test.go, modules/xdg/files/mimeapps.list, modules/xdg/config/mimeapps.list, modules/xdg/files/user-dirs.conf, modules/xdg/config/user-dirs.conf, modules/xdg/files/user-dirs.dirs, modules/xdg/config/user-dirs.dirs, modules/xdg/files/user-dirs.locale, modules/xdg/config/user-dirs.locale, modules/xorg/README.md, modules/xorg/cmd/xorg/manifest_test.go, modules/xorg/cmd/xorg/templates_test.go, modules/xorg/files/xinitrc, modules/xorg/files/xresources, modules/xterm/cmd/xterm-tools/xterm_test.go, modules/xterm/files/env-terminal, modules/xterm/files/xresources-normal, modules/zsh-autosuggestions/files/zsh-normal, modules/zsh-syntax-highlighting/files/zsh-last, predefined.json
Run by the build seat on ace as `build-1792147612302406640` (`builds --log build-1792147612302406640`).
```
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 85.380082
type-checking modules/mesh-catalog (TypeScript)
testing modules/mesh-catalog (TypeScript)
✔ the catalogue hears the build seat that builds now, not only the retired one (issue 712) (3.139096ms)
✔ a walk's build is placed, under its module and commit (0.537475ms)
✔ a merge check, a try, a dry run and a failure are passed over without a fault (0.196701ms)
✔ an outcome that names no module or commit is said as the builder's fault (0.14857ms)
✔ a branch built through the build verb is passed over; a commit on the trunk, or from a seat that names none, is placed (ADR 0238) (0.135165ms)
ℹ tests 5
ℹ suites 0
ℹ pass 5
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 71.521944
type-checking modules/minio (TypeScript)
NOT TESTED: modules/minio is TypeScript and has no tests of its own
type-checking modules/model-usage (TypeScript)
testing modules/model-usage (TypeScript)
✔ a store that refuses a row is thrown, so the event is offered again, and it is spooled (15.971428ms)
✔ a redelivered event writes the same reading, never a second, and clears its spooled copy (9.926527ms)
✔ on its last delivery a usage event is spooled and taken (44.42594ms)
✔ the spool replays once the store answers, and an older reading replayed late does not overwrite a newer (45.805866ms)
✔ an event without a body is taken without a TypeError; a row the store could never take is skipped, not retried (0.756718ms)
✔ model_usage_status reports the spool, and is offered even when the store cannot be opened (44.374533ms)
﹣ against postgres: migrations are numbered and repeatable, and the upsert keeps the reading observed latest (0.149663ms) # TEST_DATABASE_URL is not set
ℹ tests 7
ℹ suites 0
ℹ pass 6
ℹ fail 0
ℹ cancelled 0
ℹ skipped 1
ℹ todo 0
ℹ duration_ms 246.132571
type-checking modules/mongodb (TypeScript)
NOT TESTED: modules/mongodb is TypeScript and has no tests of its own
type-checking modules/mosquitto (TypeScript)
testing modules/mosquitto (TypeScript)
✔ named, the broker's container runs mosquitto_ctrl under the options shell, stdin open (1.50457ms)
✔ unnamed, this machine's mosquitto_ctrl runs under the same shell (0.145976ms)
✔ the options shell itself holds no secret (0.160373ms)
✔ an argv carrying the admin password or a password being set is refused, by name (0.387772ms)
✔ the admin tool refuses a dynsec command that would put a password on a command line (0.186562ms)
✔ the admin's name and password reach mosquitto_ctrl in a 0600 options file, and a password being set at its prompt (8.11681ms)
✔ a consumer that contributed nothing gets its own subtree (1.021458ms)
✔ a contributed list is granted exactly, duplicates once (0.228151ms)
✔ a list that is not topic filters is refused whole (0.219334ms)
✔ getRole's ACL lines are read, the warning and headings are not (0.285369ms)
✔ the role is brought to exactly the wanted ACLs (0.293654ms)
ℹ tests 11
ℹ suites 0
ℹ pass 11
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 75.518444
type-checking modules/mssql (TypeScript)
testing modules/mssql (TypeScript)
✔ a caller's statement runs as the reader, as it was written, on the database it names (1.804194ms)
✔ the reader is made as the administrator, kept out of sysadmin, and granted only reading (0.501517ms)
✔ without the reader's password the statement is refused, and nothing runs as the administrator (1.943988ms)
✔ a consumer's password is checked as a bound parameter, never in the text (0.225615ms)
ℹ tests 4
ℹ suites 0
ℹ pass 4
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 221.412295
type-checking modules/nextcloud (TypeScript)
testing modules/nextcloud (TypeScript)
✔ the vault's password is used, a setting of it is ignored and said once, without its value (1.897382ms)
ℹ tests 1
ℹ suites 0
ℹ pass 1
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 69.693421
type-checking modules/nftables (TypeScript)
testing modules/nftables (TypeScript)
✔ a predecessor's chain in the legacy filter loses its jumps, is flushed and deleted (1.445669ms)
✔ the runtime's user chain is emptied back to its one return, never deleted (0.242157ms)
✔ a chain of the machine's own nftables table goes with the rules that reach it (0.422487ms)
✔ what is not the operator's to remove is refused by name (1.365047ms)
✔ which chains jump to a target is read from a listing (0.168829ms)
✔ the filter's commands run as given by root and through sudo without a prompt by anyone else (0.173848ms)
✔ without a uid given, the process's own decides: as given for root, through sudo for anyone else (0.102543ms)
✔ the filter file is the one the manifest's filtering names (0.278926ms)
✔ a tool is installed when an executable of its name is on the path, and not otherwise (0.523769ms)
✔ a found firewall that is absent guards nothing; one that will not answer stops the removal (0.48197ms)
ℹ tests 10
ℹ suites 0
ℹ pass 10
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 80.127589
type-checking modules/nodered (TypeScript)
testing modules/nodered (TypeScript)
✔ ace: the named broker node is moved to the bound broker and login; the other broker is not touched (2.71757ms)
✔ fresh: with nothing named, the step makes its own broker node (0.30761ms)
✔ a login the broker does not take is never written (0.155954ms)
✔ a named node that is not there, or a loopback broker, is refused (0.241356ms)
✔ a deploy that raced another is read again once (1.136595ms)
✔ settings name broker nodes under mqtt.brokers (0.146436ms)
ℹ tests 6
ℹ suites 0
ℹ pass 6
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 79.872473
modules/powerlevel10k has no TypeScript sources of its own to type-check: its tests read its files
testing modules/powerlevel10k (TypeScript)
✔ the theme archive is built from the vendored release and carries its licence (1.122228ms)
✔ the configuration archive holds the prompt's configuration and nothing else (0.151456ms)
✔ both are unpacked under the account's home, owned by the account (0.123262ms)
✔ the zsh code in the normal slot sources the theme, then the configuration, and turns on no instant prompt (0.314814ms)
✔ the README names the upstream, the version and the licence (0.17998ms)
ℹ tests 5
ℹ suites 0
ℹ pass 5
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 72.063015
type-checking modules/redis (TypeScript)
NOT TESTED: modules/redis is TypeScript and has no tests of its own
type-checking modules/route-adapter (TypeScript)
testing modules/route-adapter (TypeScript)
✔ it writes one route file per contribution, in the predecessor's own shape (7.20151ms)
✔ it removes the file it wrote when that contribution goes (2.407373ms)
✔ it never touches a file it did not write (3.818847ms)
✔ the target port follows what the contributor publishes (37.664741ms)
✔ a contributor on another node is reached at the address the mesh gave it (1.418336ms)
✔ a node's settings are laid over the module's defaults, and nothing else changes (1.348865ms)
✔ a contribution it cannot act on is skipped and named (0.243209ms)
✔ a contribution the file shape cannot say is skipped and says which part (0.294015ms)
✔ it refuses when the predecessor's directory is not there, and says why (1.537151ms)
✔ a body limit is written as the predecessor's buffering middleware (1.725978ms)
✔ a body limit that is not a whole number of bytes is skipped and named (0.262686ms)
ℹ tests 11
ℹ suites 0
ℹ pass 11
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 134.517203
type-checking modules/searxng (TypeScript)
NOT TESTED: modules/searxng is TypeScript and has no tests of its own
type-checking modules/showcase (TypeScript)
NOT TESTED: modules/showcase is TypeScript and has no tests of its own
type-checking modules/umami (TypeScript)
NOT TESTED: modules/umami is TypeScript and has no tests of its own
type-checking modules/unifi (TypeScript)
NOT TESTED: modules/unifi is TypeScript and has no tests of its own
type-checking modules/zsh (TypeScript)
testing modules/zsh (TypeScript)
✔ the exit status and both streams are answered (28.005848ms)
✔ it runs in the directory it is given (4.063058ms)
✔ on timeout the whole process group is ended, a backgrounded grandchild included (502.82731ms)
✔ output beyond the bound is cut and the answer says so (7.558774ms)
✔ a job left in the background does not hold the answer (203.458865ms)
﹣ zsh runs the command as a login shell, when zsh is here (1.767014ms) # zsh is not installed here
✔ the timeout is held below the runtime's call limit (0.136207ms)
✔ the command's environment drops the mesh's words and gains the account's session words when they exist (0.229583ms)
✔ zsh_config counts the mesh's block in a file (3.067178ms)
✔ no file carries its text inline: each names its template, and the build packs files/ into one archive (1.858998ms)
✔ it claims node-login-shell serving execute, and declares no seat (0.150835ms)
✔ the .zshrc block is at the start and holds the three slots in order, after the defaults' header (0.257265ms)
✔ the .zshrc block carries the shared defaults and none of the operator's own lines (0.336215ms)
✔ the .zshenv block sources exactly the environment file node-environment fixes (0.340473ms)
✔ its environment is a contribution: the editor, the configuration home, and three PATH entries at the start (2.249214ms)
✔ it keeps the package and sets the login shell through the user shape (0.143851ms)
✔ the tools bundle registers the seat's verb under node-login-shell (0.259129ms)
✔ execute is a per-machine config value, served unless a machine withholds it (ADR 0268, ADR 0348 §4) (0.443787ms)
✔ the tools bundle registers execute only where the machine's setting serves it (0.399283ms)
✔ execute is served only when the machine's setting says serve (0.685063ms)
✔ anything but serve withholds it: a wrong value, no line, no file (0.213333ms)
✔ the setting is read from the file the bundle's word names (3.104108ms)
ℹ tests 22
ℹ suites 0
ℹ pass 21
ℹ fail 0
ℹ cancelled 0
ℹ skipped 1
ℹ todo 0
ℹ duration_ms 822.912225
```
Tree 571ef079 = the reviewed release branch (#328: feature r3, sync, 874, 877, 894, 820) merged with main ee1b15d7 (adds only #329, issue 902). Both checks pass on ace (12:56). The operator's word for releasing feature 57: 10:10, 10:26, 12:46.
ready at a31ad48b024db7e43094c78ee6fdd65f70ede45b
Tree 571ef079 = the reviewed release branch (#328: feature r3, sync, 874, 877, 894, 820) merged with main ee1b15d7 (adds only #329, issue 902). Both checks pass on ace (12:56). The operator's word for releasing feature 57: 10:10, 10:26, 12:46.
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.
Feature 57's catalogue on top of main: tree
571ef079= the release branch (#328, reviewed: feature r3, sync, issues 874, 877, 894, 820) merged with mainee1b15d7(clean; adds only #329, issue 902). Two commits: the patch, and ten files' blank last line the patch route drops (issue 875). Delivery group bundle B with mesh-tools, mesh-media-catalog, photos and de-spiegel. Left out: amqp-email-forwarder, f1-circuits, txt-game (the mesh's forge account may not write there; they keep today's inline text). Operator's word: 10:10, 10:26, 11:20. After its delivery: mesh-controller.secret-move (needs the new mesh-vault).Delivery
novox/mesh-catalog@a31ad48b024d— delivered since 2026-10-16T11:37:36ZDelivery plan — builds adwaita, artifact-store-tools, asus-zephyrus-g14, baserow, betterbird, build-agent, ca-trust, claude-code, claude-licence-manager, clipmenu, confluence, desk-channel, dnsmasq, docker, dunst, fail2ban, feh, fonts, gitea, gitlab, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, invoicing, jira, kernel, keycloak, lab, lemurs, letta, localization, logrotate, mailu, matrix, memory-pressure, mesh-catalog, mesh-cli, mesh-issues, mesh-knowledge, mesh-mail, mesh-vault, mesh-watcher, messenger, minio, mongodb, mosquitto, mounts, mssql, n8n, nats, networkmanager, nextcloud, nfs-server, nftables, node-env, nodered, only-office, pacman, picom, polychromatic, postgres, power, powerlevel10k, records, redis, restic, rofi, route-adapter, route-proxy, screen-lock, searxng, slack, ssh-client, sshd, step-ca, sudo, supabase, systemd-networkd, time-sync, triggerhappy, umami, unifi, xdg, xorg, xterm, zfs, zsh, zsh-autosuggestions, zsh-syntax-highlighting, new: modules/de-spiegel, modules/hello-web, modules/local-model-consumer, modules/mesh-config, modules/mesh-provisioner, modules/mesh-provisioner-client, modules/model-usage, modules/showcase → ace, g14, novox, shanks; merging this needs a person's bus upgrade; 26 wait(s) for a person
mesh_call mesh-controller.bus {"upgrade": "true", "why": "…", "reversible" or "irreversible": "true"}runs, nothing else is sent to novox either — unless the new build turns out the same as the one running there (issue 280)Machines
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.Merge check at
a31ad48bJudged: head
a31ad48b024dmerged into trunkee1b15d7f066; read beside it: mesh-controller18c58b4903ad, mesh-controller-main18c58b4903ad, mesh-hostcd13f7726ef0, mesh-tools6b3e15042feemesh/merge-gate: PASS, WITH A NOTE — a merge rebuilds 94 module(s) in 1 tier(s) (modules: adwaita, artifact-store-tools, asus-zephyrus-g14, baserow, betterbird, build-agent, ca-trust, claude-code, claude-licence-manager, clipmenu, confluence, desk-channel, dnsmasq, docker, dunst, fail2ban, feh, fonts, gitea, gitlab, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, invoicing, jira, kernel, keycloak, lab, lemurs, letta, localization, logrotate, mailu, matrix, memory-pressure, mesh-catalog, mesh-cli, mesh-issues, mesh-knowledge, mesh-mail, mesh-vault, mesh-watcher, messenger, minio, mongodb, mosquitto, mounts, mssql, n8n, nats, networkmanager, nextcloud, nfs-server, nftables, node-env, nodered, only-office, pacman, picom, polychromatic, postgres, power, powerlevel10k, records, redis, restic, rofi, route-adapter, route-proxy, screen-lock, searxng, slack, ssh-client, sshd, step-ca, sudo, supabase, systemd-networkd, time-sync, triggerhappy, umami, unifi, xdg, xorg, xterm, zfs, zsh, zsh-autosuggestions, zsh-syntax-highlighting, new:modules/de-spiegel, new:modules/hello-web, new:modules/local-model-consumer, new:modules/mesh-config, new:modules/mesh-provisioner, new:modules/mesh-provisioner-client, new:modules/model-usage, new:modules/showcase)mesh/repo-check: PASS — THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): main's version judged it; the change's judges the pull requests after it merges; its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)Delivery plan — builds adwaita, artifact-store-tools, asus-zephyrus-g14, baserow, betterbird, build-agent, ca-trust, claude-code, claude-licence-manager, clipmenu, confluence, desk-channel, dnsmasq, docker, dunst, fail2ban, feh, fonts, gitea, gitlab, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, invoicing, jira, kernel, keycloak, lab, lemurs, letta, localization, logrotate, mailu, matrix, memory-pressure, mesh-catalog, mesh-cli, mesh-issues, mesh-knowledge, mesh-mail, mesh-vault, mesh-watcher, messenger, minio, mongodb, mosquitto, mounts, mssql, n8n, nats, networkmanager, nextcloud, nfs-server, nftables, node-env, nodered, only-office, pacman, picom, polychromatic, postgres, power, powerlevel10k, records, redis, restic, rofi, route-adapter, route-proxy, screen-lock, searxng, slack, ssh-client, sshd, step-ca, sudo, supabase, systemd-networkd, time-sync, triggerhappy, umami, unifi, xdg, xorg, xterm, zfs, zsh, zsh-autosuggestions, zsh-syntax-highlighting, new: modules/de-spiegel, modules/hello-web, modules/local-model-consumer, modules/mesh-config, modules/mesh-provisioner, modules/mesh-provisioner-client, modules/model-usage, modules/showcase → ace, g14, novox, shanks; merging this needs a person's bus upgrade; 26 wait(s) for a person
mesh_call mesh-controller.bus {"upgrade": "true", "why": "…", "reversible" or "irreversible": "true"}runs, nothing else is sent to novox either — unless the new build turns out the same as the one running there (issue 280)Run by the build seat on shanks as
build-1792143929667880283(builds --log build-1792143929667880283).Merge check at
a31ad48bmesh/merge-gate: ERROR — the check could not run: build-1792144784550985319-store never became ready (modules: adwaita, artifact-store-tools, asus-zephyrus-g14, baserow, betterbird, build-agent, ca-trust, claude-code, claude-licence-manager, clipmenu, confluence, desk-channel, dnsmasq, docker, dunst, fail2ban, feh, fonts, gitea, gitlab, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, invoicing, jira, kernel, keycloak, lab, lemurs, letta, localization, logrotate, mailu, matrix, memory-pressure, mesh-catalog, mesh-cli, mesh-issues, mesh-knowledge, mesh-mail, mesh-vault, mesh-watcher, messenger, minio, mongodb, mosquitto, mounts, mssql, n8n, nats, networkmanager, nextcloud, nfs-server, nftables, node-env, nodered, only-office, pacman, picom, polychromatic, postgres, power, powerlevel10k, records, redis, restic, rofi, route-adapter, route-proxy, screen-lock, searxng, slack, ssh-client, sshd, step-ca, sudo, supabase, systemd-networkd, time-sync, triggerhappy, umami, unifi, xdg, xorg, xterm, zfs, zsh, zsh-autosuggestions, zsh-syntax-highlighting, new:modules/de-spiegel, new:modules/hello-web, new:modules/local-model-consumer, new:modules/mesh-config, new:modules/mesh-provisioner, new:modules/mesh-provisioner-client, new:modules/model-usage, new:modules/showcase)mesh/repo-check: ERROR — the check could not run: build-1792144784550985319-store never became readyDelivery plan — builds adwaita, artifact-store-tools, asus-zephyrus-g14, baserow, betterbird, build-agent, ca-trust, claude-code, claude-licence-manager, clipmenu, confluence, desk-channel, dnsmasq, docker, dunst, fail2ban, feh, fonts, gitea, gitlab, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, invoicing, jira, kernel, keycloak, lab, lemurs, letta, localization, logrotate, mailu, matrix, memory-pressure, mesh-catalog, mesh-cli, mesh-issues, mesh-knowledge, mesh-mail, mesh-vault, mesh-watcher, messenger, minio, mongodb, mosquitto, mounts, mssql, n8n, nats, networkmanager, nextcloud, nfs-server, nftables, node-env, nodered, only-office, pacman, picom, polychromatic, postgres, power, powerlevel10k, records, redis, restic, rofi, route-adapter, route-proxy, screen-lock, searxng, slack, ssh-client, sshd, step-ca, sudo, supabase, systemd-networkd, time-sync, triggerhappy, umami, unifi, xdg, xorg, xterm, zfs, zsh, zsh-autosuggestions, zsh-syntax-highlighting, new: modules/de-spiegel, modules/hello-web, modules/local-model-consumer, modules/mesh-config, modules/mesh-provisioner, modules/mesh-provisioner-client, modules/model-usage, modules/showcase → ace, g14, novox, shanks; merging this needs a person's bus upgrade; 26 wait(s) for a person
mesh_call mesh-controller.bus {"upgrade": "true", "why": "…", "reversible" or "irreversible": "true"}runs, nothing else is sent to novox either — unless the new build turns out the same as the one running there (issue 280)Run by the build seat on novox as
build-1792144784550985319(builds --log build-1792144784550985319).Merge check at
a31ad48bJudged: head
a31ad48b024dmerged into trunkee1b15d7f066; read beside it: mesh-controllera20680dfe769, mesh-controller-maina20680dfe769, mesh-hostcd13f7726ef0, mesh-tools6b3e15042feemesh/merge-gate: PASS, WITH A NOTE — a merge rebuilds 94 module(s) in 1 tier(s) (modules: adwaita, artifact-store-tools, asus-zephyrus-g14, baserow, betterbird, build-agent, ca-trust, claude-code, claude-licence-manager, clipmenu, confluence, desk-channel, dnsmasq, docker, dunst, fail2ban, feh, fonts, gitea, gitlab, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, invoicing, jira, kernel, keycloak, lab, lemurs, letta, localization, logrotate, mailu, matrix, memory-pressure, mesh-catalog, mesh-cli, mesh-issues, mesh-knowledge, mesh-mail, mesh-vault, mesh-watcher, messenger, minio, mongodb, mosquitto, mounts, mssql, n8n, nats, networkmanager, nextcloud, nfs-server, nftables, node-env, nodered, only-office, pacman, picom, polychromatic, postgres, power, powerlevel10k, records, redis, restic, rofi, route-adapter, route-proxy, screen-lock, searxng, slack, ssh-client, sshd, step-ca, sudo, supabase, systemd-networkd, time-sync, triggerhappy, umami, unifi, xdg, xorg, xterm, zfs, zsh, zsh-autosuggestions, zsh-syntax-highlighting, new:modules/de-spiegel, new:modules/hello-web, new:modules/local-model-consumer, new:modules/mesh-config, new:modules/mesh-provisioner, new:modules/mesh-provisioner-client, new:modules/model-usage, new:modules/showcase)mesh/repo-check: PASS — THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): main's version judged it; the change's judges the pull requests after it merges; its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)Delivery plan — builds adwaita, artifact-store-tools, asus-zephyrus-g14, baserow, betterbird, build-agent, ca-trust, claude-code, claude-licence-manager, clipmenu, confluence, desk-channel, dnsmasq, docker, dunst, fail2ban, feh, fonts, gitea, gitlab, gnome-keyring, grafana, home-assistant, hostname, i3, i3status-rust, icecast, influxdb, invoicing, jira, kernel, keycloak, lab, lemurs, letta, localization, logrotate, mailu, matrix, memory-pressure, mesh-catalog, mesh-cli, mesh-issues, mesh-knowledge, mesh-mail, mesh-vault, mesh-watcher, messenger, minio, mongodb, mosquitto, mounts, mssql, n8n, nats, networkmanager, nextcloud, nfs-server, nftables, node-env, nodered, only-office, pacman, picom, polychromatic, postgres, power, powerlevel10k, records, redis, restic, rofi, route-adapter, route-proxy, screen-lock, searxng, slack, ssh-client, sshd, step-ca, sudo, supabase, systemd-networkd, time-sync, triggerhappy, umami, unifi, xdg, xorg, xterm, zfs, zsh, zsh-autosuggestions, zsh-syntax-highlighting, new: modules/de-spiegel, modules/hello-web, modules/local-model-consumer, modules/mesh-config, modules/mesh-provisioner, modules/mesh-provisioner-client, modules/model-usage, modules/showcase → ace, g14, novox, shanks; merging this needs a person's bus upgrade; 26 wait(s) for a person
mesh_call mesh-controller.bus {"upgrade": "true", "why": "…", "reversible" or "irreversible": "true"}runs, nothing else is sent to novox either — unless the new build turns out the same as the one running there (issue 280)Run by the build seat on ace as
build-1792147612302406640(builds --log build-1792147612302406640).ready at
a31ad48b02Tree
571ef079= the reviewed release branch (#328: feature r3, sync, 874, 877, 894, 820) merged with mainee1b15d7(adds only #329, issue 902). Both checks pass on ace (12:56). The operator's word for releasing feature 57: 10:10, 10:26, 12:46.