Apply again a module whose resources are gone, move a module with nothing to back up, and report ok for a running module with nothing to watch (issue 1944)
#137
Merged
jschoubbenmerged 3 commits from fix/r6-reapply-missing into main2026-10-25 10:11:20 +00:00
After the R6 switch, node's own applies removed modules on shanks (02:32), ace and g14 (05:41). Their wants and compositions exist, but the engine never wrote them again: baseline() believed a have or the kept declaration without checking the machine, and R6 removed the periodic reconcile (issue 1944). Now: a module counts as running only when the engine's applied state records every resource of its composition (filled files left to the client skipped), otherwise it is applied again at start; a resource the runtime or service manager no longer has at all is applied again once, when it newly goes missing. A module this machine backs nothing of moves without a backup (redis, searxng on ace were held). And a running module with nothing the liveness look judges reports ok after the first look, so the canary of mesh-host can turn healthy and novox and shanks finally get the new node-engine (assigner rule 3).
Once delivered, each engine's start applies again ca-trust, matrix (its database is kept), power, the resolver guard, mesh-reads, mesh-files and the rest that were removed.
Tries: try-1792922896910053425 passed on 958ccbd (1004 unit, 1008 integration).
Reviewed-by: reviewer-r6m@shanks at 958ccbde3e
Pushed-by: lead-47@shanks
After the R6 switch, node's own applies removed modules on shanks (02:32), ace and g14 (05:41). Their wants and compositions exist, but the engine never wrote them again: baseline() believed a have or the kept declaration without checking the machine, and R6 removed the periodic reconcile (issue 1944). Now: a module counts as running only when the engine's applied state records every resource of its composition (filled files left to the client skipped), otherwise it is applied again at start; a resource the runtime or service manager no longer has at all is applied again once, when it newly goes missing. A module this machine backs nothing of moves without a backup (redis, searxng on ace were held). And a running module with nothing the liveness look judges reports ok after the first look, so the canary of mesh-host can turn healthy and novox and shanks finally get the new node-engine (assigner rule 3).
Once delivered, each engine's start applies again ca-trust, matrix (its database is kept), power, the resolver guard, mesh-reads, mesh-files and the rest that were removed.
Tries: try-1792922896910053425 passed on 958ccbd (1004 unit, 1008 integration).
Reviewed-by: reviewer-r6m@shanks at 958ccbde3ed4b5c9b43b2a75db8b30e5165157e1
Pushed-by: lead-47@shanks
Deliverynovox/mesh-host@958ccbde3ed4 — held since 2026-10-25T10:11:21Z
Held for a person: merged without a passing check: only a person decides what follows — the merge reached the trunk without a passing check.
Source — source.main moved to novox/mesh-host@f06058390c. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
Transitions
2026-10-25 10:10 (new) → proposed (announced): novox/mesh-host#137's head announced
2026-10-25 10:11 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides what follows
The commit's note under refs/notes/mesh-plan keeps every transition of this change up to its merge: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-host@958ccbde3ed4` — **held** since 2026-10-25T10:11:21Z
Held for a person: merged without a passing check: only a person decides what follows — the merge reached the trunk without a passing check.
**Source** — source.main moved to novox/mesh-host@f06058390c0f. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Transitions**
- 2026-10-25 10:10 (new) → proposed (announced): novox/mesh-host#137's head announced
- 2026-10-25 10:11 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides what follows
The commit's note under `refs/notes/mesh-plan` keeps every transition of this change up to its merge: `git log --notes=mesh-plan`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
After the R6 switch, node's own applies removed modules on shanks (02:32), ace and g14 (05:41). Their wants and compositions exist, but the engine never wrote them again: baseline() believed a have or the kept declaration without checking the machine, and R6 removed the periodic reconcile (issue 1944). Now: a module counts as running only when the engine's applied state records every resource of its composition (filled files left to the client skipped), otherwise it is applied again at start; a resource the runtime or service manager no longer has at all is applied again once, when it newly goes missing. A module this machine backs nothing of moves without a backup (redis, searxng on ace were held). And a running module with nothing the liveness look judges reports ok after the first look, so the canary of mesh-host can turn healthy and novox and shanks finally get the new node-engine (assigner rule 3).
Once delivered, each engine's start applies again ca-trust, matrix (its database is kept), power, the resolver guard, mesh-reads, mesh-files and the rest that were removed.
Tries: try-1792922896910053425 passed on
958ccbd(1004 unit, 1008 integration).Reviewed-by: reviewer-r6m@shanks at
958ccbde3ePushed-by: lead-47@shanks
Delivery
novox/mesh-host@958ccbde3ed4— held since 2026-10-25T10:11:21ZHeld for a person: merged without a passing check: only a person decides what follows — the merge reached the trunk without a passing check.
Source — source.main moved to novox/mesh-host@f06058390c. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.