R6: the composition's layout, its signature and digest, the want's digest, the judgement values; the hand tool is mesh-hand-compose (issue 1943) #78

Merged
jschoubben merged 14 commits from feat/r6 into main 2026-10-24 23:17:32 +00:00
Member

The shared contract of release 6 (issue 1943): the composition key layout per module per node and its per-node bucket, the mesh-controller_composed value (digest and judgement, unchanged for a composition equal to the one the node last applied), the signature of a composition, the want's composition digest and backup answer, the node key's want layout, the have's new fields, and the seat verb tables without the plan verbs. The hand path's command is mesh-hand-compose, since main's mesh-compose is the composer.

Tries: try-1792877550578606443 passed on 748c564c.

Delivery group feat/r6 (design 47, milestone R6; ADR 0539, ADR 0540): mesh-sdk, mesh-host, mesh-delivery, mesh-catalog, hq, mesh-controller. One Approve for the group; its delivery is the last delivery plan the controller runs, and after it a merged change reaches each machine through its wants alone.

After the delivery: the operator's signing key is set as mesh-host's operator-signers setting, and acceptance test 18 is read live.

Release-switch: 6
Reviewed-by: reviewer-r6m@shanks at 748c564cdf
Pushed-by: lead-47@shanks

The shared contract of release 6 (issue 1943): the composition key layout per module per node and its per-node bucket, the `mesh-controller_composed` value (digest and judgement, `unchanged` for a composition equal to the one the node last applied), the signature of a composition, the want's composition digest and backup answer, the node key's want layout, the have's new fields, and the seat verb tables without the plan verbs. The hand path's command is `mesh-hand-compose`, since main's `mesh-compose` is the composer. Tries: try-1792877550578606443 passed on 748c564c. Delivery group feat/r6 (design 47, milestone R6; ADR 0539, ADR 0540): mesh-sdk, mesh-host, mesh-delivery, mesh-catalog, hq, mesh-controller. One Approve for the group; its delivery is the last delivery plan the controller runs, and after it a merged change reaches each machine through its wants alone. After the delivery: the operator's signing key is set as mesh-host's operator-signers setting, and acceptance test 18 is read live. Release-switch: 6 Reviewed-by: reviewer-r6m@shanks at 748c564cdf7cd2cad57073cdf54bd752c1947025 Pushed-by: lead-47@shanks
mesh-tools added 14 commits 2026-10-24 22:17:00 +00:00
The controller writes one module's composition per node and fingerprint, and the assigner reads its digest and
judgement before it writes a want (ADR 0539 clauses 1, 2 and 14).
A node applies one module's composition at a time, so each carries only its own module's resources, checked
resource by resource as the node-engine reads them, and its digest follows its content alone (ADR 0539 clauses 1
and 4). The fixtures are the controller's plan answers for ace and g14, their sealed resources taken out.
The node agent applies only the composition its want names, and the assigner writes a want only once that
composition exists (ADR 0539 clauses 1, 6, 14 and 16).
With no delivery plan nothing starts, stops, retries or reads one; each removed verb stays a row with no input so a
caller is told its replacement, optional on the delivery seat so the gate of before and of release 6 both hold it
(ADR 0539 clauses 15, 17 and 18).
The node-engine applies only a composition signed by the controller or the operator, and when the controller cannot
compose its own fix the operator composes, signs and writes one at the terminal (ADR 0539 clauses 3 and 10).
The assigner holds a move of a module of policy record, and only the controller knows a person's own choice of
policy (ADR 0539 clause 14).
The controller's identity store signs a message and never hands its key out, as it signed declarations.
ADR 0539 clause 13 has the controller delete the plan-state buckets once and say each as its event.
A revision that changes only the user list is written into the bus node's want at once, outside the record hold
(ADR 0539 clause 7), so the assigner must tell it apart from a move that recreates or moves data.
No plan is kept or sent in release 6 (ADR 0539), and the messenger now hears the delivery view's events instead.
The controller's broker tests read the catalogue's main, whose gate and messenger still consume plan-moved; nothing
emits them (ADR 0539).
The first want at the switch skips the record hold only where the composition changes nothing on the node.
Merge main (the R4g finish: the composer command) into feat/r6 (issue 1943)
mesh/delivery-group group feat/r6 merged: every member is merged
mesh/delivery delivering: 0 machine step(s) passed
mesh/check failed: the composition: the composer of the mesh-sdk mesh-controller at bdb8193456e17c9df59215c7f3e69a83a2e5a262 pins did not run: failed …
748c564cdf
main's mesh-compose is the composer command (ADR 0482 clause 4) and keeps its name, which composer.Package and the
build steps name; feat/r6's hand path tool, which composes one module for one node and signs it with the operator's key
(ADR 0539 clause 10), moves to cmd/mesh-hand-compose.
Author
Member

Delivery novox/mesh-sdk@748c564cdf7c — delivering since 2026-10-24T23:19:25Z

Delivery plan — builds mesh-sdk, sent nowhere; no bus step

  • tier 0: mesh-sdk

Group feat/r6: novox/hq@ba09497092, novox/mesh-catalog@d09cbf1523, novox/mesh-controller@9c38aed789, novox/mesh-delivery@3e863884fd, novox/mesh-host@81758b24a8, novox/mesh-sdk@748c564cdf

  • composed together: pass — the checker's verdict at the members' heads (d2bc2f317716)

Transitions

  • 2026-10-24 22:17 (new) → proposed (announced): novox/mesh-sdk#78's head announced
  • 2026-10-24 22:59 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
  • 2026-10-24 22:59 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-24 23:19 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
  • 2026-10-24 23:19 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path — not a failed walk that carried a later commit for it, after which it waits for a walk of its own commit

The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-sdk@748c564cdf7c` — **delivering** since 2026-10-24T23:19:25Z **Delivery plan** — builds mesh-sdk, sent nowhere; no bus step - tier 0: mesh-sdk **Group** `feat/r6`: novox/hq@ba09497092ec, novox/mesh-catalog@d09cbf152317, novox/mesh-controller@9c38aed78905, novox/mesh-delivery@3e863884fda8, novox/mesh-host@81758b24a8e4, novox/mesh-sdk@748c564cdf7c - composed together: pass — the checker's verdict at the members' heads (d2bc2f317716) **Transitions** - 2026-10-24 22:17 (new) → proposed (announced): novox/mesh-sdk#78's head announced - 2026-10-24 22:59 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit - 2026-10-24 22:59 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-24 23:19 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move - 2026-10-24 23:19 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path — not a failed walk that carried a later commit for it, after which it waits for a walk of its own commit The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
jschoubben merged commit da7f045575 into main 2026-10-24 23:17:32 +00:00
jschoubben deleted branch feat/r6 2026-10-24 23:17:32 +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#78