Design 47 says what a node composes from: placement, its config layers, and the node record (issue 1126) #482

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

Milestone L2 "nodes compose" (issue 1126; ADR 0549; ADR 0555). Member of the delivery group feat/1126-nodes-compose, which the milestone's one review approved.

Design 47 Compositions, wants and the apply gains:

  • what a node composes from and who writes each input (placement, the node records, the manifests, mesh-config's slice), one composer for three callers;
  • the placement file's layout: the node's decided facts, its modules with host ports, bindings and config placement as two layers (mesh-wide, repeated in each node's file, and the node's own, with a mark for an empty layer), pins and holdings; and what the catalogue's check refuses;
  • the node record in the node's own have key, and the composer copy's one intended grant beyond the controller's (and what a hand-back means for it).

Reviewed-by: review-1126@shanks at 28d84f31bf

Milestone L2 "nodes compose" (issue 1126; ADR 0549; ADR 0555). Member of the delivery group feat/1126-nodes-compose, which the milestone's one review approved. Design 47 *Compositions, wants and the apply* gains: - what a node composes from and who writes each input (placement, the node records, the manifests, mesh-config's slice), one composer for three callers; - the placement file's layout: the node's decided facts, its modules with host ports, bindings and **config placement as two layers** (mesh-wide, repeated in each node's file, and the node's own, with a mark for an empty layer), pins and holdings; and what the catalogue's check refuses; - the node record in the node's own have key, and the composer copy's one intended grant beyond the controller's (and what a hand-back means for it). Reviewed-by: review-1126@shanks at 28d84f31bfcb0596fe5745e7fafbbf9a4a9c00f0
mesh-tools added 5 commits 2026-10-26 17:35:12 +00:00
Author
Member

Delivery novox/hq@28d84f31bfcb — merged since 2026-10-26T21:11:14Z

Source — source.main moved to novox/hq@132aae8433. 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/hq#482'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/hq@28d84f31bfcb` — **merged** since 2026-10-26T21:11:14Z **Source** — source.main moved to novox/hq@132aae843383. 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/hq#482'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 17:49:17 +00:00
Design 47: every read a node's account gains to compose, and that a module with an own secret does not move until the vault seals it to the node (issue 1126, ADR 0555)
mesh/delivery-group group feat/1126-nodes-compose checking: 4 of 5 member(s) ready
mesh/delivery closed: a newer head of the same pull request
mesh/check checking b6572acd72e5 on 515c405c8939 | novox/hq#482 in group feat/1126-nodes-compose
b6572acd72
jschoubben added 1 commit 2026-10-26 18:05:35 +00:00
Design 47: a node never applies a stand-in, and composes nothing of its own until the vault seals its secrets to it (issue 1126)
mesh/delivery closed: a newer head of the same pull request
mesh/check checking a6cc3d2e0b68 on 515c405c8939 | novox/hq#482 in group feat/1126-nodes-compose
a6cc3d2e0b
jschoubben added 2 commits 2026-10-26 18:17:49 +00:00
Design 47: a placed node's want says self and names no composition; a yes names the composition allowed (issue 1126, ADR 0547 §2, §3)
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 | 495d740d5ffc on d698942b1d56 | unit 1245…
495d740d5f
jschoubben added 1 commit 2026-10-26 18:45:34 +00:00
Design 47: a settings-form module's values in the placement file, the vault's own, both sources' readers, the switch when placed, and the order of the delivery and the seed (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 7c88f297fc59 on 278ca42b3df2 | novox/hq#482 in group feat/1126-nodes-compose
7c88f297fc
mesh-tools marked the pull request as ready for review 2026-10-26 21:09:39 +00:00
jschoubben added 1 commit 2026-10-26 21:10:06 +00:00
Merge remote-tracking branch 'origin/main' into feat/1126-nodes-compose
mesh/delivery merged: source.main moved to novox/hq@132aae843383
mesh/delivery-group group feat/1126-nodes-compose merged: every member is merged
mesh/check pass 28d84f31bfcb on 132aae843383 | unit 39 run, 0 kept, 1 skipped | integration 39 run, 0 kept, 1 skipped | composition passed in 2ms
28d84f31bf
mesh-tools merged commit 132aae8433 into main 2026-10-26 21:11:13 +00:00
mesh-tools deleted branch feat/1126-nodes-compose 2026-10-26 21:11:14 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/hq#482