Placement from the catalogue: the bridge carries it, the indexer writes it, the assigner compares it (issue 1126) #76

Merged
mesh-tools merged 9 commits from feat/1126-nodes-compose into main 2026-10-26 21:11:27 +00:00
Member

Milestone L2 "nodes compose" (issue 1126; ADR 0549 §2, §5; ADR 0555). Member of the delivery group feat/1126-nodes-compose, which the milestone's one review approved; its five changed modules pin mesh-sdk 979644420117 (mesh-sdk #98's head) exactly.

  • forge bridge: a merge of the catalogue carries every placement/<node>.json of its merge commit, read whole or retried (gitea_commit_trees listed, mesh-catalog's part of the group).
  • indexer: writes placement.<node> in its state placement only where it changed and says placement-changed with the modules added, removed or changed (ADR 0549 §2).
  • view: indexer_placement reads it by node or by module.
  • assigner: until the third milestone a pair the controller's assignments and the catalogue's placement do not both name gets no want (the one written before stays) and one condition, cleared when they agree; before any placement is read the assignments alone hold (ADR 0549 §5).

Reviewed-by: review-1126@shanks at 297992a4ae

Milestone L2 "nodes compose" (issue 1126; ADR 0549 §2, §5; ADR 0555). Member of the delivery group feat/1126-nodes-compose, which the milestone's one review approved; its five changed modules pin mesh-sdk 979644420117 (mesh-sdk #98's head) exactly. - forge bridge: a merge of the catalogue carries every `placement/<node>.json` of its merge commit, read whole or retried (gitea_commit_trees `listed`, mesh-catalog's part of the group). - indexer: writes `placement.<node>` in its state `placement` only where it changed and says `placement-changed` with the modules added, removed or changed (ADR 0549 §2). - view: `indexer_placement` reads it by node or by module. - assigner: until the third milestone a pair the controller's assignments and the catalogue's placement do not both name gets no want (the one written before stays) and one condition, cleared when they agree; before any placement is read the assignments alone hold (ADR 0549 §5). Reviewed-by: review-1126@shanks at 297992a4ae5573248e25c84f3d4bbff617588222
Author
Member

Delivery novox/mesh-delivery@297992a4ae55 — merged since 2026-10-26T21:11:35Z

Source — source.main moved to novox/mesh-delivery@4b36cc29a6. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.

Group feat/1126-nodes-compose: novox/hq@28d84f31bf, novox/mesh-catalog@c085975146, novox/mesh-controller@df8ebf6a77, novox/mesh-delivery@297992a4ae, novox/mesh-host@1d44288514, novox/mesh-sdk@9796444201

Transitions

  • 2026-10-26 21:10 (new) → proposed (announced): novox/mesh-delivery#76's head announced
  • 2026-10-26 21:10 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-26 21:11 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-delivery@297992a4ae55` — **merged** since 2026-10-26T21:11:35Z **Source** — source.main moved to novox/mesh-delivery@4b36cc29a6ae. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `feat/1126-nodes-compose`: novox/hq@28d84f31bfcb, novox/mesh-catalog@c0859751461a, novox/mesh-controller@df8ebf6a77c1, novox/mesh-delivery@297992a4ae55, novox/mesh-host@1d442885148a, novox/mesh-sdk@979644420117 **Transitions** - 2026-10-26 21:10 (new) → proposed (announced): novox/mesh-delivery#76's head announced - 2026-10-26 21:10 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-26 21:11 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`.
jschoubben added 1 commit 2026-10-26 18:30:31 +00:00
Nodes compose: placement from the catalogue, node records, self wants, own and pair credentials, core boxes and the authority from the vault (issue 1126)
mesh/delivery closed: a newer head of the same pull request
mesh/check failed: unit: git.novox.be/novox/mesh-catalog/checks/nobinaries.TestTheCatalogueHoldsNoCompiledProgram: modules/mesh-config/cmd/mesh-config…
4f75925410
One commit for the branch feat/1126-nodes-compose of mesh-delivery: its 16 commits squashed so its history does not carry the 17.8 MB compiled mesh-delivery-assigner a commit added by mistake and a later one removed (issue 1577). The tree equals the former head ff6c038d. The operator allowed this rewrite of the feature branch on 2026-10-26.
jschoubben force-pushed feat/1126-nodes-compose from ff6c038d59 to 4f75925410 2026-10-26 18:30:31 +00:00 Compare
jschoubben added 1 commit 2026-10-26 18:33:29 +00:00
The grants part composes what the catalogue's placement places beside the assignments, and holds a seat held once for the mesh where placement says (issue 1126, ADR 0549 §3, G5)
mesh/delivery closed: a newer head of the same pull request
mesh/check failed: unit: git.novox.be/novox/mesh-catalog/checks/nobinaries.TestTheCatalogueHoldsNoCompiledProgram: modules/mesh-config/cmd/mesh-config…
85c89b16ef
jschoubben added 1 commit 2026-10-26 18:40:41 +00:00
Pin mesh-sdk feat/1126-nodes-compose 9713c30: placement carries a settings-form module's values (issue 1126)
mesh/delivery closed: a newer head of the same pull request
mesh/check failed: ace: novox/mesh-catalog#505 does not merge into the trunk: files in conflict: .gitignore | 2493aa65299e on df8b9ac3b1b5 | unit 1245…
2493aa6529
jschoubben added 1 commit 2026-10-26 18:44:57 +00:00
The assigner's wants test goes on to placement: a placed node's want names the build alone and its own want says it composes its own (issue 1126, ADR 0547 §2)
mesh/delivery closed: a newer head of the same pull request
mesh/check failed: ace: novox/mesh-catalog#505 does not merge into the trunk: files in conflict: .gitignore | 2e0013ec2500 on df8b9ac3b1b5 | unit 1245…
2e0013ec25
jschoubben added 1 commit 2026-10-26 19:12:02 +00:00
Review of L2: the assigner binds the indexer's placement state when it appears, with no restart (D1); the three new unit tests folded into existing ones, so no count rises (D2); pin mesh-sdk 3968849 (issue 1126)
mesh/delivery closed: a newer head of the same pull request
mesh/check checking 352066dde611 on 3dd94f714d6e | novox/mesh-delivery#76 in group feat/1126-nodes-compose
352066dde6
jschoubben added 1 commit 2026-10-26 19:35:48 +00:00
Pin mesh-sdk feat/1126-nodes-compose 03dce12, the group's head: the checker refuses a pin that is neither trunk nor the group's head (issue 1126)
mesh/delivery-group group feat/1126-nodes-compose checking: 4 of 6 member(s) ready
mesh/delivery closed: a newer head of the same pull request
mesh/check checking 8fee764c734e on d581f9659a78 | novox/mesh-delivery#76 in group feat/1126-nodes-compose
8fee764c73
mesh-tools marked the pull request as ready for review 2026-10-26 21:09:30 +00:00
jschoubben added 3 commits 2026-10-26 21:10:00 +00:00
# Conflicts:
#	modules/mesh-delivery-view/go.mod
#	modules/mesh-delivery-view/go.sum
Pin mesh-sdk 9796444 (l2-next: feat/1126-nodes-compose merged with sdk main #101, the standing-test race fixes) (issue 1126)
mesh/delivery merged: source.main moved to novox/mesh-delivery@4b36cc29a6ae
mesh/delivery-group group feat/1126-nodes-compose merged: every member is merged
mesh/check checking 297992a4ae55 on 4b36cc29a6ae | novox/mesh-delivery#76 in group feat/1126-nodes-compose
297992a4ae
mesh-tools merged commit 4b36cc29a6 into main 2026-10-26 21:11:27 +00:00
mesh-tools deleted branch feat/1126-nodes-compose 2026-10-26 21:11:28 +00:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-delivery#76