Say which modules wait for a person's push; announce a merge's deleted files (hq ADR 0236) #95

Merged
mesh-admin merged 1 commits from feat/core-upgrades-that-roll-back into main 2026-10-06 17:32:58 +00:00
Contributor

With the gate on the first machine and the rollback after it (hq ADR 0236), a module's build rolls out by default. The modules kept at record say why in their manifest (upgrade: {policy: record, why}):

  • nats — the bus, a planned step (the controller holds it whatever this says)
  • dnsmasq, nftables, networkmanager, systemd-networkd — a build that cuts a machine off from the bus cannot be put back from outside
  • sshd — the way in when the mesh cannot reach a machine, which no gate sees
  • postgres, mssql, mongodb, minio, keycloak — every consumer on the machine drops with them; mongodb and minio hold the photos

(plex and photos record by their irreplaceable data, with nothing to say here.)

The gitea announcer now says which of a merge's files were deleted (removed), so a module whose manifest went is forgotten rather than asked to build — the public-acme plan failure of 2026-10-06. Its test covers it.

Merge after mesh-controller's PR is rolled out: upgrade is a manifest field the builder older than it refuses. All 112 manifests pass module check with the new controller. Merges cleanly with feat/bus-snapshot.

With the gate on the first machine and the rollback after it (hq ADR 0236), a module's build rolls out by default. The modules kept at `record` say why in their manifest (`upgrade: {policy: record, why}`): - nats — the bus, a planned step (the controller holds it whatever this says) - dnsmasq, nftables, networkmanager, systemd-networkd — a build that cuts a machine off from the bus cannot be put back from outside - sshd — the way in when the mesh cannot reach a machine, which no gate sees - postgres, mssql, mongodb, minio, keycloak — every consumer on the machine drops with them; mongodb and minio hold the photos (plex and photos record by their irreplaceable data, with nothing to say here.) The gitea announcer now says which of a merge's files were deleted (`removed`), so a module whose manifest went is forgotten rather than asked to build — the public-acme plan failure of 2026-10-06. Its test covers it. **Merge after mesh-controller's PR is rolled out**: `upgrade` is a manifest field the builder older than it refuses. All 112 manifests pass `module check` with the new controller. Merges cleanly with `feat/bus-snapshot`.
mesh-admin added 1 commit 2026-10-06 16:40:00 +00:00
With a gate on the first machine and a rollback after it, a module's build rolls out by
default. The ones kept back say why: the network path a rollback could not cross, the
providers every consumer on a machine drops with, and the stores holding the photos.
A merge's deleted files are announced, so a module whose manifest went is forgotten
rather than asked to build (the public-acme plan failure).
mesh-admin merged commit 6e4d12e5a4 into main 2026-10-06 17:32:58 +00:00
mesh-admin deleted branch feat/core-upgrades-that-roll-back 2026-10-06 17:32:58 +00:00
Author
Contributor

Delivery novox/mesh-catalog@6e4d12e5a495 — delivered since 2026-10-06T23:05:28Z

Machines

  • gitea on novox: passed — healthy 3 times over 2m42s
  • gitea on the rest running it: sent

Transitions

  • 2026-10-06 23:05 (new) → proposed (announced): novox/mesh-catalog#95 merged; its head was not heard by this owner, so it is made from the forge's word
  • 2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on
  • 2026-10-06 23:05 held → delivering (go): its walk started on a word that was not this owner's: the controller's own path, which waits for nobody, or a person's plans go
  • 2026-10-06 23:05 delivering → delivered (done): its walk is done: 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@6e4d12e5a495` — **delivered** since 2026-10-06T23:05:28Z **Machines** - gitea on novox: passed — healthy 3 times over 2m42s - gitea on the rest running it: sent **Transitions** - 2026-10-06 23:05 (new) → proposed (announced): novox/mesh-catalog#95 merged; its head was not heard by this owner, so it is made from the forge's word - 2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on - 2026-10-06 23:05 held → delivering (go): its walk started on a word that was not this owner's: the controller's own path, which waits for nobody, or a person's `plans go` - 2026-10-06 23:05 delivering → delivered (done): its walk is done: 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`.
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-catalog#95