A module held for a missing secret gets no runtime of its own, so it never refuses its node's whole composition (issue 774) #142

Merged
mesh-tools merged 1 commits from fix/held-module-and-assigner-contract into main 2026-10-30 21:17:38 +00:00
Member

At 21:04 three newly assigned modules had no bus account; each was held, its bare stub kept RunsAs, ownRuntimes refused it, and that refused every module on novox (79) and ace (74): the fourth whole-node refusal of the day. ownRuntimes skips Stubbed modules; runtimeProcess gives no process for a held runtime; NoRuntimeToRunError{Held}; blames makes a held runtime the culprit. aHeldModuleOfItsOwnAccountNeverRefusesTheNode replays it.

Group fix/held-module-and-assigner-contract (mesh-sdk, mesh-host, mesh-delivery, mesh-catalog), issue 774. The lead merges once mesh/check and mesh/delivery-group are green (operator, 2026-10-30 20:41); mesh-sdk first.
Reviewed-by: rev-sweep@shanks at eff81f1220

At 21:04 three newly assigned modules had no bus account; each was held, its bare stub kept RunsAs, ownRuntimes refused it, and that refused every module on novox (79) and ace (74): the fourth whole-node refusal of the day. ownRuntimes skips Stubbed modules; runtimeProcess gives no process for a held runtime; NoRuntimeToRunError{Held}; blames makes a held runtime the culprit. aHeldModuleOfItsOwnAccountNeverRefusesTheNode replays it. Group fix/held-module-and-assigner-contract (mesh-sdk, mesh-host, mesh-delivery, mesh-catalog), issue 774. The lead merges once mesh/check and mesh/delivery-group are green (operator, 2026-10-30 20:41); mesh-sdk first. Reviewed-by: rev-sweep@shanks at eff81f1220e22ee6ba6c17cb036753a69a266a47
mesh-tools added 1 commit 2026-10-30 20:31:01 +00:00
Never refuse a node for a held module's stand-in by its own runtime's rules (issue 774)
mesh/delivery merged: source.main moved to novox/mesh-sdk@b74e23f973ab
mesh/delivery-group group fix/held-module-and-assigner-contract merged: every member is merged
mesh/check checking eff81f1220e2 on b74e23f973ab | novox/mesh-sdk#142 in group fix/held-module-and-assigner-contract
eff81f1220
On 2026-10-30 at 21:04 mesh-self-check (ace) and mesh-conditions, mesh-healers (novox) were placed before
their bus accounts were issued. Each was held for "needs a secret called broker and none was made"; its bare
stub then lost its own secrets and was refused by ownRuntimes ("runs as its own account and declares no own
secret broker"), a refusal no culprit takes, so 74 modules on ace and 79 on novox failed. A held runtime's stub
met the same kind earlier today ("its build produced 0 bundle(s)").

Quick fix: let the bare stub keep its broker own secret, for this one rule.
Thorough fix (chosen, the fourth of the kind today): a held module's stand-in (Stubbed) has no runtime
composed at all, so no rule about its runtime, bundle or broker can refuse it: ownRuntimes passes it over and
runtimeProcess composes none for a held runtime (what runs of either is carried, as before). A module of its
own account left without its runtime by a held runtime is refused with a typed NoRuntimeToRunError, which makes
the held runtime the culprit, so those modules are held after it and the node composes the rest.
Author
Member

Delivery novox/mesh-sdk@eff81f1220e2 — merged since 2026-10-30T21:17:41Z

Source — source.main moved to novox/mesh-sdk@b74e23f973. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.

Group fix/held-module-and-assigner-contract: novox/mesh-catalog@b5475cfa5c, novox/mesh-delivery@8fe6442c47, novox/mesh-host@62cfb45789, novox/mesh-sdk@eff81f1220

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

Transitions

  • 2026-10-30 20:31 (new) → proposed (announced): novox/mesh-sdk#142's head announced
  • 2026-10-30 20:31 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-30 21:17 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-sdk@eff81f1220e2` — **merged** since 2026-10-30T21:17:41Z **Source** — source.main moved to novox/mesh-sdk@b74e23f973ab. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `fix/held-module-and-assigner-contract`: novox/mesh-catalog@b5475cfa5c3d, novox/mesh-delivery@8fe6442c4754, novox/mesh-host@62cfb45789c1, novox/mesh-sdk@eff81f1220e2 - composed together: pass — the checker's verdict at the members' heads (e5a2974f3e1e) **Transitions** - 2026-10-30 20:31 (new) → proposed (announced): novox/mesh-sdk#142's head announced - 2026-10-30 20:31 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-30 21:17 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`.
Author
Member

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.
Author
Member

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-tools merged commit b74e23f973 into main 2026-10-30 21:17:38 +00:00
mesh-tools deleted branch fix/held-module-and-assigner-contract 2026-10-30 21:17:38 +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#142