A node's answer holds as today what it holds today, and the seed carries its nodes' differences, named (issue 1126) #125

Merged
mesh-tools merged 5 commits from fix/1126-seed-sdk into main 2026-10-28 21:59:48 +00:00
Member

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 77b48a4f1a

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-tools added 5 commits 2026-10-28 21:54:48 +00:00
Show in a proposal's brief what stays held as each node holds it today (issue 1126)
mesh/delivery-group group fix/1126-seed-held rejected: composed together: the checker's verdict at the members' heads (2b8e3078c117): the composition
mesh/delivery closed: a newer head of the same pull request
mesh/check failed: the composition: the manifest of mesh-delivery-assigner uses what mesh-controller at ba4d15657343d3116bd6657f85e53630a7dbabf2 (mesh…
06b13ec1cc
Name in the seed's brief the first differing field's value as it runs and as composed, so the operator sees what changes (issue 1126)
mesh/delivery-group group fix/1126-seed-held rejected: composed together: the checker's verdict at the members' heads (63905bd4b284): the composition
mesh/delivery merged: source.main moved to novox/mesh-sdk@f9afe328881f
mesh/check being carried to 77b48a4f1aff on f9afe328881f | from 53f26493697e
77b48a4f1a
Author
Member

Delivery novox/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`.
mesh-tools merged commit f9afe32888 into main 2026-10-28 21:59:48 +00:00
mesh-tools deleted branch fix/1126-seed-sdk 2026-10-28 21:59:49 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-sdk#125