diff --git a/04-ISSUES/107-a-declaration-carries-no-order/01-diagnosis.md b/04-ISSUES/107-a-declaration-carries-no-order/01-diagnosis.md index de7e24e..8d3c55e 100644 --- a/04-ISSUES/107-a-declaration-carries-no-order/01-diagnosis.md +++ b/04-ISSUES/107-a-declaration-carries-no-order/01-diagnosis.md @@ -66,3 +66,11 @@ Left `located`. The owner is unchanged, the shape of the fix is agreed, and the [issue 142](../142-the-host-is-the-one-thing-the-mesh-does-not-deliver/00-report.md) rather than anything in this record. **This is a judgement about order, not a refusal** — it is cheap to overrule, and the code is a day's work once a host can be delivered. + +## The gate has opened (2026-09-30, evening) + +The mesh delivers the host now — built by its own toolchain, published to its own registry, delivered +over the bus and started by the launcher, on all four machines +([issue 142](../142-the-host-is-the-one-thing-the-mesh-does-not-deliver/01-progress.md)). A declaration +field is a build and a push, not an expedition. The order this record asked for — hosts first, then +the controller — is now two commands and a status line that says when the first has finished. diff --git a/04-ISSUES/142-the-host-is-the-one-thing-the-mesh-does-not-deliver/01-progress.md b/04-ISSUES/142-the-host-is-the-one-thing-the-mesh-does-not-deliver/01-progress.md index 3114ee0..945696c 100644 --- a/04-ISSUES/142-the-host-is-the-one-thing-the-mesh-does-not-deliver/01-progress.md +++ b/04-ISSUES/142-the-host-is-the-one-thing-the-mesh-does-not-deliver/01-progress.md @@ -138,3 +138,48 @@ push. The control node is worth last. One thing this found on the way out: an archive cannot be undeclared, and the attempt stops the machine applying anything at all — [issue 162](../162-an-archive-cannot-be-undeclared/00-report.md). It is how undoing the first delivery froze the workstation, and it is not specific to the host. + +## Every machine self-updates (2026-09-30, evening) + +``` +shanks 76f4566bef3d/nox-mesh-host active +g14 76f4566bef3d/nox-mesh-host active +novox 76f4566bef3d/nox-mesh-host active +ace 76f4566bef3d/nox-mesh-host active + +mesh-controller status: (no host split) +``` + +The last delivery was unattended on all four: the fixed host was built, pushed, each machine stood +aside exactly once for the genuinely newer version, and the delivered launcher started it — no +restart by hand. A following push that delivered nothing new was applied and reported by every +machine and stood nobody aside, which is the check +[issue 163](../163-a-delivered-host-stood-aside-on-every-push-and-reported-nothing/00-report.md) asks +for. + +**Two more faults on the way, both mine, both found by reading the machine rather than the success +line.** A delivered host compared the newest delivered version against its link-time stamp rather +than the version it was running, so it stood aside on every push and — because standing aside cancels +the report — never reported again (163). And the adopted machine kept its found launcher as the +adoption rule says, so the delivery there needed a `take` before the launcher moved. + +**The crossover needs one restart of the unit per machine, once.** The launcher process that was +running on each machine was the old script, executing from its own inode; a new file beside it +changes nothing until the unit restarts. Every subsequent delivery is unattended. + +**Timing, measured:** on a machine, hearing a declaration to reporting it applied is about three +seconds. A push as the operator sees it takes 17–20 seconds, and the difference is the control plane +composing the declaration before it sends. A `--wait` shorter than that reads as "did not report" for +a machine that did; the three-minute default read as slowness for a machine that never would. Neither +number is a defect being chased here, and both are worth knowing before reading a push's answer. + +## What this leaves + +- [Issue 162](../162-an-archive-cannot-be-undeclared/00-report.md): an archive cannot be undeclared, so + the host module — and any module with an archive — cannot be unassigned, and trying stops the machine + applying anything. +- [Issue 107](../107-a-declaration-carries-no-order/00-report.md) is unblocked: a declaration field is + now a build and a push rather than an expedition. +- Three stale version directories on the workstation from the first attempts, moved aside under + `/var/lib/mesh-host/versions-held-back/`, and a backup of the adopted machine's hand-placed binary + beside its state. Both are safe to delete and are not the mesh's to delete.