Issue 1126 (milestone L2 of design 47: nodes compose). Member of the delivery group feat/1126-nodes-compose, which the milestone's one review approved.
One read-only verb, placement-export {node?}: per node, the placement file's JSON (frombus.Export of the controller's own input: readMeshAndNodes + readSettings), nothing written. It is the source of the seed of the catalogue's placement files (ADR 0555 §6).
The one exception to "the controller is not changed" (ADR 0547 §1): the operator allowed this verb on Telegram on 2026-10-26 at 19:06:40 ("Allow one export verb").
Piece of the research "The controller, NATS-native" it moves: the controller's last owned node data leaves it for the catalogue.
Integration test against the real store: each node's export equals frombus.Export of the controller's input; a single node works; an unknown node is refused.
Pins mesh-sdk 979644420117 (the group's head) exactly; CAPTURED names it, and the conformance capture is unchanged between the two sdk heads.
Issue 1126 (milestone L2 of design 47: nodes compose). Member of the delivery group feat/1126-nodes-compose, which the milestone's one review approved.
- One read-only verb, `placement-export` {node?}: per node, the placement file's JSON (`frombus.Export` of the controller's own input: readMeshAndNodes + readSettings), nothing written. It is the source of the seed of the catalogue's placement files (ADR 0555 §6).
- The one exception to "the controller is not changed" (ADR 0547 §1): the operator allowed this verb on Telegram on 2026-10-26 at 19:06:40 ("Allow one export verb").
- Piece of the research "The controller, NATS-native" it moves: the controller's last owned node data leaves it for the catalogue.
- Integration test against the real store: each node's export equals frombus.Export of the controller's input; a single node works; an unknown node is refused.
- Pins mesh-sdk 979644420117 (the group's head) exactly; CAPTURED names it, and the conformance capture is unchanged between the two sdk heads.
Reviewed-by: review-1126@shanks at df8ebf6a77c161b5362c5feb36aaa8749f8f1b85
Deliverynovox/mesh-controller@df8ebf6a77c1 — merged since 2026-10-26T21:11:23Z
Source — source.main moved to novox/mesh-controller@82d212a2a1. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
2026-10-26 21:09 (new) → proposed (announced): novox/mesh-controller#474'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-controller@df8ebf6a77c1` — **merged** since 2026-10-26T21:11:23Z
**Source** — source.main moved to novox/mesh-controller@82d212a2a1ff. 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:09 (new) → proposed (announced): novox/mesh-controller#474'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/check failed: ace: novox/mesh-catalog#505 does not merge into the trunk: files in conflict: .gitignore | 7c8a2e03dd8e on 2ecfbb3a29cb | unit 1245…
mesh/check failed: unit: ..test: ✔ a transient empty list for four passes retires nothing; five stable passes retire, data kept (290.408814ms) | 4e9e5…
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.
Issue 1126 (milestone L2 of design 47: nodes compose). Member of the delivery group feat/1126-nodes-compose, which the milestone's one review approved.
placement-export{node?}: per node, the placement file's JSON (frombus.Exportof the controller's own input: readMeshAndNodes + readSettings), nothing written. It is the source of the seed of the catalogue's placement files (ADR 0555 §6).Reviewed-by: review-1126@shanks at
df8ebf6a77Delivery
novox/mesh-controller@df8ebf6a77c1— merged since 2026-10-26T21:11:23ZSource — source.main moved to novox/mesh-controller@82d212a2a1. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.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@9796444201Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.