Three commits from this evening's fault (hq issue 188):
theRestOfTheMesh's second pass resolved every other machine without its pins. Under #195/#196's rule a machine with two providers of one provision is refused unless a pin names one, so the control node — pinned or not — was refused there and vanished: every seat it holds read as unheld, the builder's and proxy's builds were refused for want of the git seat's clone base, the roll-out was refused, and the first tiered plan failed at tier 0. Each machine is now resolved as its plan resolves it, with its pins. Proven against the live store with a diagnostic build: git — gitea on novox, mesh-build-machine — builder on novox, mesh-store, mesh-vault held again.
Both passes that skipped a refusing machine in silence (onTheNetwork, theRestOfTheMesh) now say which machine and the resolver's words.
A built-by edge orders and gates a plan but never widens it: the first live plan took 75 modules along for a controller change because everything is built by the builder and the builder packages the controller. Reachability follows code and build edges only; a controller merge is now the builder, then the controller and the proxy. plans stop <id> ends a plan by hand.
make check on the branch. Roll-out note: the running controller cannot build the builder (it still drops the control node), so this is built with build novox/mesh-controller --self --ref main --wait and pushed from a one-shot of the new image, as #197 was.
Three commits from this evening's fault (hq issue 188):
- `theRestOfTheMesh`'s second pass resolved every other machine **without its pins**. Under #195/#196's rule a machine with two providers of one provision is refused unless a pin names one, so the control node — pinned or not — was refused there and vanished: every seat it holds read as unheld, the builder's and proxy's builds were refused for want of the git seat's clone base, the roll-out was refused, and the first tiered plan failed at tier 0. Each machine is now resolved as its plan resolves it, with its pins. Proven against the live store with a diagnostic build: `git — gitea on novox`, `mesh-build-machine — builder on novox`, `mesh-store`, `mesh-vault` held again.
- Both passes that skipped a refusing machine in silence (`onTheNetwork`, `theRestOfTheMesh`) now say which machine and the resolver's words.
- A `built-by` edge orders and gates a plan but never widens it: the first live plan took 75 modules along for a controller change because everything is built by the builder and the builder packages the controller. Reachability follows code and build edges only; a controller merge is now the builder, then the controller and the proxy. `plans stop <id>` ends a plan by hand.
`make check` on the branch. Roll-out note: the running controller cannot build the builder (it still drops the control node), so this is built with `build novox/mesh-controller --self --ref main --wait` and pushed from a one-shot of the new image, as #197 was.
onTheNetwork resolves every machine unchecked and skipped one whose resolution refused. A machine
skipped there has no address, so its own plan fails on the first placeholder that needs one, in another
module's words, every seat held on it reads as unheld, and what is built from it cannot be built — four
symptoms, none naming the refusal (2026-10-01, the control node, forty minutes). The refusal is now said
where it happens, in the resolver's own words.
The first live plan took seventy-five modules along for a controller change: the builder packages the
controller's source, everything is built by the builder, so everything was reachable. A module built by
the build machine is not changed by a new build machine. Reachability now follows the code and build
edges only; built-by still orders a tier after the build machine and gates it on the machine's roll-out.
plans stop <id> ends a plan by hand: what was asked still builds and registers, nothing further is asked.
The second pass of theRestOfTheMesh resolved every machine without its pins. Since a machine with two
providers of one provision is refused unless a pin names one (195/196), the control node was refused
there and vanished: every seat it holds read as unheld, the build machine refused what needs the git
seat, the roll-out was refused — and nothing said why (hq issue 188). Each machine is now resolved as
its plan resolves it, with its pins; a machine left out is named with the resolver's words.
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.
Three commits from this evening's fault (hq issue 188):
theRestOfTheMesh's second pass resolved every other machine without its pins. Under #195/#196's rule a machine with two providers of one provision is refused unless a pin names one, so the control node — pinned or not — was refused there and vanished: every seat it holds read as unheld, the builder's and proxy's builds were refused for want of the git seat's clone base, the roll-out was refused, and the first tiered plan failed at tier 0. Each machine is now resolved as its plan resolves it, with its pins. Proven against the live store with a diagnostic build:git — gitea on novox,mesh-build-machine — builder on novox,mesh-store,mesh-vaultheld again.onTheNetwork,theRestOfTheMesh) now say which machine and the resolver's words.built-byedge orders and gates a plan but never widens it: the first live plan took 75 modules along for a controller change because everything is built by the builder and the builder packages the controller. Reachability follows code and build edges only; a controller merge is now the builder, then the controller and the proxy.plans stop <id>ends a plan by hand.make checkon the branch. Roll-out note: the running controller cannot build the builder (it still drops the control node), so this is built withbuild novox/mesh-controller --self --ref main --waitand pushed from a one-shot of the new image, as #197 was.