selfcompose: Env.Refused takes the held modules; the composer hands every other module and keeps a held module's handed key (no deletion update), saying which it holds and why.
agent: NotComposedEach marks only the held modules, each with its own words (phase failed, 'keeps running what it ran'), and clears the rest; a whole refusal still marks every module. heldAlone/heldOut keep a held module's resources out of the node's own apply until its own composition is handed.
Tests: rows in TestTheNodeComposesItsWantsFromTheBus and the node's-own-apply test (captured de-spiegel manifest), each failing first; no new function. TestNatsANodeThePlacementNamesComposesAndAppliesItsOwn passes (25.8 s).
Reviewed-by: rev-apply-culprit@shanks at 24c23a1d06
Delivery group fix/1126-apply-culprit (mesh-sdk, mesh-host). Issue 1126 notes 102, 105, 106. Pins mesh-sdk 0de30064156a.
- selfcompose: Env.Refused takes the held modules; the composer hands every other module and keeps a held module's handed key (no deletion update), saying which it holds and why.
- agent: NotComposedEach marks only the held modules, each with its own words (phase failed, 'keeps running what it ran'), and clears the rest; a whole refusal still marks every module. heldAlone/heldOut keep a held module's resources out of the node's own apply until its own composition is handed.
Tests: rows in TestTheNodeComposesItsWantsFromTheBus and the node's-own-apply test (captured de-spiegel manifest), each failing first; no new function. TestNatsANodeThePlacementNamesComposesAndAppliesItsOwn passes (25.8 s).
Reviewed-by: rev-apply-culprit@shanks at 24c23a1d066f8c66fe40501b6c54210ac471b854
frombus.Compose now holds a module refused alone (mesh-sdk 0de3006, the rule
its answer follows too): composed as what runs of it, with what depends on
how it is held held too. The composer hands every other module, keeps what it
handed of a held one, and tells the agent which modules it holds and why;
agent.NotComposedEach marks those alone and clears the rest. Only a refusal
of no single module still marks every module (NotComposed).
heldOut also holds out, of the node's own composition as it runs, the
resources of each module held alone, until a composition of its own is
handed: the node's own apply never removes a module leaving the fold with its
names unset (review of the apply, round 1; issue 1945 by a new path).
Pins mesh-sdk fix/1126-apply-culprit at 0de3006 (a group).
Deliverynovox/mesh-host@24c23a1d066f — merged since 2026-10-28T16:34:50Z
Source — source.main moved to novox/mesh-host@9a8b3870ba. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
composed together: pass — the checker's verdict at the members' heads (23be06c61d1b)
Transitions
2026-10-28 16:25 (new) → proposed (announced): novox/mesh-host#165's head announced
2026-10-28 16:25 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-28 16:34 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@24c23a1d066f` — **merged** since 2026-10-28T16:34:50Z
**Source** — source.main moved to novox/mesh-host@9a8b3870bad0. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Group** `fix/1126-apply-culprit`: novox/mesh-host@24c23a1d066f, novox/mesh-sdk@0de30064156a
- composed together: pass — the checker's verdict at the members' heads (23be06c61d1b)
**Transitions**
- 2026-10-28 16:25 (new) → proposed (announced): novox/mesh-host#165's head announced
- 2026-10-28 16:25 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-28 16:34 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`.
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.
Delivery group fix/1126-apply-culprit (mesh-sdk, mesh-host). Issue 1126 notes 102, 105, 106. Pins mesh-sdk 0de30064156a.
Tests: rows in TestTheNodeComposesItsWantsFromTheBus and the node's-own-apply test (captured de-spiegel manifest), each failing first; no new function. TestNatsANodeThePlacementNamesComposesAndAppliesItsOwn passes (25.8 s).
Reviewed-by: rev-apply-culprit@shanks at
24c23a1d06Delivery
novox/mesh-host@24c23a1d066f— merged since 2026-10-28T16:34:50ZSource — source.main moved to novox/mesh-host@9a8b3870ba. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Group
fix/1126-apply-culprit: novox/mesh-host@24c23a1d06, novox/mesh-sdk@0de3006415Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.