internal/selfcompose/shadow.go: the shadow composer watches every candidate key, lays each group's keys over the trunk's placement, composes with the node's own sealed values, applies nothing, and answers in .node only when the answer changes; Keep restarts it with backoff, each run on its own context from empty state.
The node's own composition carries its sealed values in its have, so a node-engine restart no longer re-seals and re-applies it (review round 3 finding 1 of the earlier L2); Policy takes the agent's context.
H8 extended: a candidate equal to the placement is answered 'same' at its head and revision, and nothing moves.
Safety (review question 3): nothing here applies differently on a node until it is placed; delivering this changes nothing a node runs.
Rule bent, said: the node-agent integration tests (H8) were run locally against an embedded bus, seconds and no mesh build capacity; that run found H8's missing facts stream.
Tests: whole unit suite, go vet -tags integration pass; no new test functions.
Milestone L2b (issue 1126), ADR 0559 §4. Delivery group feat/1126-l2b; pins mesh-sdk cadd7b1b exactly.
- internal/selfcompose/shadow.go: the shadow composer watches every candidate key, lays each group's keys over the trunk's placement, composes with the node's own sealed values, applies nothing, and answers in <node>.node only when the answer changes; `Keep` restarts it with backoff, each run on its own context from empty state.
- The node's own composition carries its sealed values in its have, so a node-engine restart no longer re-seals and re-applies it (review round 3 finding 1 of the earlier L2); `Policy` takes the agent's context.
- H8 extended: a candidate equal to the placement is answered 'same' at its head and revision, and nothing moves.
Safety (review question 3): nothing here applies differently on a node until it is placed; delivering this changes nothing a node runs.
Rule bent, said: the node-agent integration tests (H8) were run locally against an embedded bus, seconds and no mesh build capacity; that run found H8's missing facts stream.
Tests: whole unit suite, go vet -tags integration pass; no new test functions.
Reviewed-by: review-l2b@shanks at 1803d25c3a6708e9a54ccede458a2539940e0f09
Deliverynovox/mesh-host@1803d25c3a67 — merged since 2026-10-27T07:21:23Z
Source — source.main moved to novox/mesh-host@0d22776b20. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
2026-10-27 01:49 (new) → proposed (announced): novox/mesh-host#151's head announced
2026-10-27 01:49 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-27 07:21 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-host@1803d25c3a67` — **merged** since 2026-10-27T07:21:23Z
**Source** — source.main moved to novox/mesh-host@0d22776b20ef. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Group** `feat/1126-l2b`: novox/hq@043f8ecf9cfa, novox/mesh-catalog@2ac511ce6b19, novox/mesh-delivery@06d4f45e1885, novox/mesh-host@1803d25c3a67, novox/mesh-sdk@cadd7b1b2f8f
**Transitions**
- 2026-10-27 01:49 (new) → proposed (announced): novox/mesh-host#151's head announced
- 2026-10-27 01:49 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-27 07:21 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: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
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.
Milestone L2b (issue 1126), ADR 0559 §4. Delivery group feat/1126-l2b; pins mesh-sdk cadd7b1b exactly.
Keeprestarts it with backoff, each run on its own context from empty state.Policytakes the agent's context.Safety (review question 3): nothing here applies differently on a node until it is placed; delivering this changes nothing a node runs.
Rule bent, said: the node-agent integration tests (H8) were run locally against an embedded bus, seconds and no mesh build capacity; that run found H8's missing facts stream.
Tests: whole unit suite, go vet -tags integration pass; no new test functions.
Reviewed-by: review-l2b@shanks at
1803d25c3aDelivery
novox/mesh-host@1803d25c3a67— merged since 2026-10-27T07:21:23ZSource — source.main moved to novox/mesh-host@0d22776b20. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Group
feat/1126-l2b: novox/hq@043f8ecf9c, novox/mesh-catalog@2ac511ce6b, novox/mesh-delivery@06d4f45e18, novox/mesh-host@1803d25c3a, novox/mesh-sdk@cadd7b1b2fTransitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.