Issue 1126 (the controller's removal), a blocking fault in release sdk1's delivery, fixed with the operator's yes (2026-11-02 22:2x).
The loop: the indexer running on novox (mesh-delivery 511e4b7, before sdk1) refuses the new checker's manifest, which invokes the node-engine's new verb compose-candidate. One refused manifest makes the grants part hold its whole bus user list (holdsBack, Inputs.ReadFailures): no new grant is written for the new indexer, grants part, assigner and view, so none of them moves, and the old indexer keeps refusing the checker. Every machine keeps running what it ran; nothing is lost.
Quick fix, chosen: drop the invoke for now; the old judge then accepts every manifest of the release (the reviewer ran the old judge's whole-shelf judgement over 155 manifests: one refusal before, the checker; none after). A follow-up adds it back once the new indexer runs. Until then the checker's compose-candidate calls are refused on the bus; engines.go files each as a node that did not answer, so a check passes with that warning (ADR 0593 §9). Thorough fix, after: the grants part keeps only a refused module's grants from the list in force instead of holding the whole list, and the judge does not refuse a verb its own release adds; it cannot go first, since the grants part's own new build waits on the same held list.
Tests: the checker's manifest test asks for the forge's reads alone; vet with and without the integration tag and the module's unit tests pass.
Issue 1126 (the controller's removal), a blocking fault in release sdk1's delivery, fixed with the operator's yes (2026-11-02 22:2x).
The loop: the indexer running on novox (mesh-delivery 511e4b7, before sdk1) refuses the new checker's manifest, which invokes the node-engine's new verb compose-candidate. One refused manifest makes the grants part hold its whole bus user list (holdsBack, Inputs.ReadFailures): no new grant is written for the new indexer, grants part, assigner and view, so none of them moves, and the old indexer keeps refusing the checker. Every machine keeps running what it ran; nothing is lost.
Quick fix, chosen: drop the invoke for now; the old judge then accepts every manifest of the release (the reviewer ran the old judge's whole-shelf judgement over 155 manifests: one refusal before, the checker; none after). A follow-up adds it back once the new indexer runs. Until then the checker's compose-candidate calls are refused on the bus; engines.go files each as a node that did not answer, so a check passes with that warning (ADR 0593 §9). Thorough fix, after: the grants part keeps only a refused module's grants from the list in force instead of holding the whole list, and the judge does not refuse a verb its own release adds; it cannot go first, since the grants part's own new build waits on the same held list.
Tests: the checker's manifest test asks for the forge's reads alone; vet with and without the integration tag and the module's unit tests pass.
Reviewed-by: review-1126@shanks at 22f3658a36a63096e542a8b746cb6b003d7dd977
https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
The running indexer, built before the verb existed, refuses a manifest invoking it, and one refused manifest holds the
grants part's whole list: no new grant is written, so the new indexer never moves (issue 1126, 2026-11-02). Quick fix,
chosen because the thorough one (the grants part keeps only the refused module's grants) cannot be delivered while the
list is held; a follow-up adds the invoke back. Until then a check's compose-candidate call is refused on the bus and the
node is named silent: the check passes with that warning (engines.go, ADR 0593 §9).
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Deliverynovox/mesh-delivery@22f3658a36a6 — merged since 2026-11-02T21:55:31Z
Source — source.main moved to novox/mesh-delivery@15d28ddf5b. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
Transitions
2026-11-02 21:24 (new) → proposed (announced): novox/mesh-delivery#142's head announced
2026-11-02 21:24 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-02 21:55 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@22f3658a36a6` — **merged** since 2026-11-02T21:55:31Z
**Source** — source.main moved to novox/mesh-delivery@15d28ddf5bd3. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Transitions**
- 2026-11-02 21:24 (new) → proposed (announced): novox/mesh-delivery#142's head announced
- 2026-11-02 21:24 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-02 21:55 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.
Issue 1126 (the controller's removal), a blocking fault in release sdk1's delivery, fixed with the operator's yes (2026-11-02 22:2x).
The loop: the indexer running on novox (mesh-delivery
511e4b7, before sdk1) refuses the new checker's manifest, which invokes the node-engine's new verb compose-candidate. One refused manifest makes the grants part hold its whole bus user list (holdsBack, Inputs.ReadFailures): no new grant is written for the new indexer, grants part, assigner and view, so none of them moves, and the old indexer keeps refusing the checker. Every machine keeps running what it ran; nothing is lost.Quick fix, chosen: drop the invoke for now; the old judge then accepts every manifest of the release (the reviewer ran the old judge's whole-shelf judgement over 155 manifests: one refusal before, the checker; none after). A follow-up adds it back once the new indexer runs. Until then the checker's compose-candidate calls are refused on the bus; engines.go files each as a node that did not answer, so a check passes with that warning (ADR 0593 §9). Thorough fix, after: the grants part keeps only a refused module's grants from the list in force instead of holding the whole list, and the judge does not refuse a verb its own release adds; it cannot go first, since the grants part's own new build waits on the same held list.
Tests: the checker's manifest test asks for the forge's reads alone; vet with and without the integration tag and the module's unit tests pass.
Reviewed-by: review-1126@shanks at
22f3658a36https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Delivery
novox/mesh-delivery@22f3658a36a6— merged since 2026-11-02T21:55:31ZSource — source.main moved to novox/mesh-delivery@15d28ddf5b. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.