Blocking fault under issue 774 (design 47, L3), a group of three with mesh-catalog and mesh-tools on branch fix/l3-words-after-judge.
What is broken (live since 2026-11-03 21:16). L3's merge added the manifest words core-credentials and tool-runner. The running indexer (old build) refuses those manifests; the grants part then holds the whole bus user list; no new build gets a grant; the new indexer is held by the assigner (rule 6). Nothing new is delivered.
This member. sdk/toolrunner.Is: a manifest is the tool runner when it says tool-runner, or, until that word is back on node-tools' trunk manifest, when its module is mesh-sdk's kept catalogue.RuntimeModule. Used by the judge's undeliveredBundles and waits rules and by mesh-grants' records (its Declared.ToolRunner). mesh-grants now requires ../../sdk.
Quick or thorough. Quick: this group (words out, judge fallback) recovers the delivery. Thorough, noted on issue 1585 note 42: the checker judges each changed manifest with the running judge too, and the grants part holds only a refused module's users. Chosen quick now: every delivery is blocked.
Bent rule (said to the operator 21:33). ADR 0601 section 4 knows the tool runner never by name; this names it for one release through the SDK's deprecated constant; removed in the change that puts tool-runner back. Order kept: words back and this helper removed before mesh-host's L3 change is delivered.
Reviewed-by: mesh-code-reviewer@shanks at e3ce4b095c
Pushed-by: lead-47@shanks
Blocking fault under issue 774 (design 47, L3), a group of three with mesh-catalog and mesh-tools on branch fix/l3-words-after-judge.
**What is broken (live since 2026-11-03 21:16).** L3's merge added the manifest words core-credentials and tool-runner. The running indexer (old build) refuses those manifests; the grants part then holds the whole bus user list; no new build gets a grant; the new indexer is held by the assigner (rule 6). Nothing new is delivered.
**This member.** sdk/toolrunner.Is: a manifest is the tool runner when it says tool-runner, or, until that word is back on node-tools' trunk manifest, when its module is mesh-sdk's kept catalogue.RuntimeModule. Used by the judge's undeliveredBundles and waits rules and by mesh-grants' records (its Declared.ToolRunner). mesh-grants now requires ../../sdk.
**Quick or thorough.** Quick: this group (words out, judge fallback) recovers the delivery. Thorough, noted on issue 1585 note 42: the checker judges each changed manifest with the running judge too, and the grants part holds only a refused module's users. Chosen quick now: every delivery is blocked.
**Bent rule (said to the operator 21:33).** ADR 0601 section 4 knows the tool runner never by name; this names it for one release through the SDK's deprecated constant; removed in the change that puts tool-runner back. Order kept: words back and this helper removed before mesh-host's L3 change is delivered.
Reviewed-by: mesh-code-reviewer@shanks at e3ce4b095ce9ecaf842bd024ba3dcab07d8d9507
Pushed-by: lead-47@shanks
https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
The running indexer refuses the tool-runner word, so node-tools' trunk manifest takes it out again (mesh-tools
fix/l3-words-after-judge); trunk's judge then refuses node-tools twice (its waits, its runtime bundle) and mesh-grants
would compose its node users as plain modules. One helper, sdk/toolrunner.Is, counts a manifest as the tool runner
when it says tool-runner or its module is the SDK's deprecated catalogue.RuntimeModule; the judge's waits and
undelivered-bundle rules and mesh-grants' declared records ask it. It goes once tool-runner is back on node-tools'
trunk manifest (issue 774, issue 1585 note 42).
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
Deliverynovox/mesh-delivery@e3ce4b095ce9 — merged since 2026-11-03T21:09:11Z
Source — source.main moved to novox/mesh-delivery@007c982ae6. 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 (fd74298189f9)
Transitions
2026-11-03 20:47 (new) → proposed (announced): novox/mesh-delivery#148's head announced
2026-11-03 20:47 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-11-03 21:09 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-delivery@e3ce4b095ce9` — **merged** since 2026-11-03T21:09:11Z
**Source** — source.main moved to novox/mesh-delivery@007c982ae670. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Group** `fix/l3-words-after-judge`: novox/mesh-catalog@f2eb54820469, novox/mesh-delivery@e3ce4b095ce9, novox/mesh-tools@40e0e8282b38
- composed together: pass — the checker's verdict at the members' heads (fd74298189f9)
**Transitions**
- 2026-11-03 20:47 (new) → proposed (announced): novox/mesh-delivery#148's head announced
- 2026-11-03 20:47 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-11-03 21:09 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.
Blocking fault under issue 774 (design 47, L3), a group of three with mesh-catalog and mesh-tools on branch fix/l3-words-after-judge.
What is broken (live since 2026-11-03 21:16). L3's merge added the manifest words core-credentials and tool-runner. The running indexer (old build) refuses those manifests; the grants part then holds the whole bus user list; no new build gets a grant; the new indexer is held by the assigner (rule 6). Nothing new is delivered.
This member. sdk/toolrunner.Is: a manifest is the tool runner when it says tool-runner, or, until that word is back on node-tools' trunk manifest, when its module is mesh-sdk's kept catalogue.RuntimeModule. Used by the judge's undeliveredBundles and waits rules and by mesh-grants' records (its Declared.ToolRunner). mesh-grants now requires ../../sdk.
Quick or thorough. Quick: this group (words out, judge fallback) recovers the delivery. Thorough, noted on issue 1585 note 42: the checker judges each changed manifest with the running judge too, and the grants part holds only a refused module's users. Chosen quick now: every delivery is blocked.
Bent rule (said to the operator 21:33). ADR 0601 section 4 knows the tool runner never by name; this names it for one release through the SDK's deprecated constant; removed in the change that puts tool-runner back. Order kept: words back and this helper removed before mesh-host's L3 change is delivered.
Reviewed-by: mesh-code-reviewer@shanks at
e3ce4b095cPushed-by: lead-47@shanks
https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
Delivery
novox/mesh-delivery@e3ce4b095ce9— merged since 2026-11-03T21:09:11ZSource — source.main moved to novox/mesh-delivery@007c982ae6. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Group
fix/l3-words-after-judge: novox/mesh-catalog@f2eb548204, novox/mesh-delivery@e3ce4b095c, novox/mesh-tools@40e0e8282bTransitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.