A module a node holds today, that the seed holds too, counts as the same. L2's seed was refused on novox for de-spiegel, mailu, nftables, postgres, route-proxy and node, all held there today under the controller too.
The fix: CandidateAnswer.Held, filled by frombus.Answer from Scope.HeldToday, carries each such module with why; VerdictOf ignores it, and a refused module not held today stays a refusal. The proposal's brief (judge.Brief) says "stays held as today" by node, so the operator sees what stays held.
And the seed carries its nodes' differences, named in its Approve (the operator, 2026-10-28 22:34 CET): PlacementVerdict.Carried, by node, each the first differing field with its value as it runs and as composed ("node-tools: MESH_OWNED_PATHS[/etc/resolv.conf] networkmanager (node-uplink) → systemd-resolved (node-resolver)"), cut to 60 characters, "(value cut)" where a body is cut. A refusal or a silent node still fails.
Rows: every refused module held today answers no refusal; only one held leaves the rest refused; the brief shows a held module; the seed carries a difference, named with both values.
This replaces #124, split out of group fix/1126-seed-held: with a mesh-sdk member the group's composition judged the manifests it moves against a stand-by controller build (ba4d156, mesh-sdk 748c564). mesh-host #169 and mesh-delivery #107 pin this head and follow it.
A module a node holds today, that the seed holds too, counts as the same. L2's seed was refused on novox for de-spiegel, mailu, nftables, postgres, route-proxy and node, all held there today under the controller too.
The fix: `CandidateAnswer.Held`, filled by `frombus.Answer` from `Scope.HeldToday`, carries each such module with why; `VerdictOf` ignores it, and a refused module not held today stays a refusal. The proposal's brief (`judge.Brief`) says "stays held as today" by node, so the operator sees what stays held.
And the seed carries its nodes' differences, named in its Approve (the operator, 2026-10-28 22:34 CET): `PlacementVerdict.Carried`, by node, each the first differing field with its value as it runs and as composed ("node-tools: MESH_OWNED_PATHS[/etc/resolv.conf] networkmanager (node-uplink) → systemd-resolved (node-resolver)"), cut to 60 characters, "(value cut)" where a body is cut. A refusal or a silent node still fails.
Rows: every refused module held today answers no refusal; only one held leaves the rest refused; the brief shows a held module; the seed carries a difference, named with both values.
This replaces #124, split out of group fix/1126-seed-held: with a mesh-sdk member the group's composition judged the manifests it moves against a stand-by controller build (ba4d156, mesh-sdk 748c564). mesh-host #169 and mesh-delivery #107 pin this head and follow it.
Issue 1126, ADR 0567 §3-4
Reviewed-by: rev-l2@shanks at 77b48a4f1affb6315cdfc801d8cb6dc75686253e
mesh/check failed: the composition: the manifest of mesh-delivery-assigner uses what mesh-controller at ba4d15657343d3116bd6657f85e53630a7dbabf2 (mesh…
Deliverynovox/mesh-sdk@77b48a4f1aff — merged since 2026-10-28T21:59:50Z
Source — source.main moved to novox/mesh-sdk@f9afe32888. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
Transitions
2026-10-28 21:55 (new) → proposed (announced): novox/mesh-sdk#125's head announced; #124 with the same head closed unmerged
2026-10-28 21:55 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
2026-10-28 21:59 ready → merged (merged): on the trunk its modules follow: merged there
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-sdk@77b48a4f1aff` — **merged** since 2026-10-28T21:59:50Z
**Source** — source.main moved to novox/mesh-sdk@f9afe328881f. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Transitions**
- 2026-10-28 21:55 (new) → proposed (announced): novox/mesh-sdk#125's head announced; #124 with the same head closed unmerged
- 2026-10-28 21:55 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
- 2026-10-28 21:59 ready → merged (merged): on the trunk its modules follow: merged there
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.
A module a node holds today, that the seed holds too, counts as the same. L2's seed was refused on novox for de-spiegel, mailu, nftables, postgres, route-proxy and node, all held there today under the controller too.
The fix:
CandidateAnswer.Held, filled byfrombus.AnswerfromScope.HeldToday, carries each such module with why;VerdictOfignores it, and a refused module not held today stays a refusal. The proposal's brief (judge.Brief) says "stays held as today" by node, so the operator sees what stays held.And the seed carries its nodes' differences, named in its Approve (the operator, 2026-10-28 22:34 CET):
PlacementVerdict.Carried, by node, each the first differing field with its value as it runs and as composed ("node-tools: MESH_OWNED_PATHS[/etc/resolv.conf] networkmanager (node-uplink) → systemd-resolved (node-resolver)"), cut to 60 characters, "(value cut)" where a body is cut. A refusal or a silent node still fails.Rows: every refused module held today answers no refusal; only one held leaves the rest refused; the brief shows a held module; the seed carries a difference, named with both values.
This replaces #124, split out of group fix/1126-seed-held: with a mesh-sdk member the group's composition judged the manifests it moves against a stand-by controller build (ba4d156, mesh-sdk
748c564). mesh-host #169 and mesh-delivery #107 pin this head and follow it.Issue 1126, ADR 0567 §3-4
Reviewed-by: rev-l2@shanks at
77b48a4f1aDelivery
novox/mesh-sdk@77b48a4f1aff— merged since 2026-10-28T21:59:50ZSource — source.main moved to novox/mesh-sdk@f9afe32888. 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.