Issue 774 (L3). 38 route provisions (27 on ace, 11 on novox) stayed "asked" since the 23:33 provisions group, so the assigner (rule 8) withholds new builds of those modules (grafana on ace confirmed). Cause: route-proxy's provider helper pinned mesh-sdk 104533e (2026-10-22), which watches only mesh-controller_assignments; route-only plans for modules not handed exist only in the seat mesh-provisioner's plans. ADR 0570 §2 moved every helper to the seat's plans and provisions; route-proxy was the one left behind.
Change: route-proxy pins mesh-sdk b9ef1e4; its manifest reads mesh-provisioner.plans and mesh-provisioner.provisions instead of mesh-controller.assignments (the same reads as gitea, keycloak, postgres, route-adapter); route-provider starts its helper only after stdio.Served(), so a first watch is never refused "before Serve" and the helper never stays stopped. The web front (cmd/route-proxy) changes only by the sdk's busretry and kvlimit wrappers on State; routes, certificates and the membership follow are unchanged (reviewer read the sdk diff per imported package). Delivery restarts the web front on ace and novox once.
Quick vs thorough: quick = this module catches up with ADR 0570 §2. Thorough = the provisioner names a provider that reads no plans (mesh-catalog #575) and a catalogue check refusing a helper-answered provider without the seat's reads (next). Test TestAConsumerOfARouteIsToldItsNamesFromItsPlanEntry (handed gitea + route-only grafana) fails on the old pin. gofmt, vet (both tags), go test pass; test count unchanged.
Issue 774 (L3). 38 route provisions (27 on ace, 11 on novox) stayed "asked" since the 23:33 provisions group, so the assigner (rule 8) withholds new builds of those modules (grafana on ace confirmed). Cause: route-proxy's provider helper pinned mesh-sdk 104533e (2026-10-22), which watches only mesh-controller_assignments; route-only plans for modules not handed exist only in the seat mesh-provisioner's plans. ADR 0570 §2 moved every helper to the seat's plans and provisions; route-proxy was the one left behind.
Change: route-proxy pins mesh-sdk b9ef1e4; its manifest reads mesh-provisioner.plans and mesh-provisioner.provisions instead of mesh-controller.assignments (the same reads as gitea, keycloak, postgres, route-adapter); route-provider starts its helper only after stdio.Served(), so a first watch is never refused "before Serve" and the helper never stays stopped. The web front (cmd/route-proxy) changes only by the sdk's busretry and kvlimit wrappers on State; routes, certificates and the membership follow are unchanged (reviewer read the sdk diff per imported package). Delivery restarts the web front on ace and novox once.
Quick vs thorough: quick = this module catches up with ADR 0570 §2. Thorough = the provisioner names a provider that reads no plans (mesh-catalog #575) and a catalogue check refusing a helper-answered provider without the seat's reads (next). Test TestAConsumerOfARouteIsToldItsNamesFromItsPlanEntry (handed gitea + route-only grafana) fails on the old pin. gofmt, vet (both tags), go test pass; test count unchanged.
Reviewed-by: rev-routes@shanks at 62c05c681cfb333cc4c378321ae5c1e107399049
Deliverynovox/mesh-controller@62c05c681cfb — merged since 2026-10-30T23:43:17Z
Source — source.main moved to novox/mesh-controller@4c9be8efc8. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
Transitions
2026-10-30 23:33 (new) → proposed (announced): novox/mesh-controller#486's head announced
2026-10-30 23:33 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 23:43 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-controller@62c05c681cfb` — **merged** since 2026-10-30T23:43:17Z
**Source** — source.main moved to novox/mesh-controller@4c9be8efc83a. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Transitions**
- 2026-10-30 23:33 (new) → proposed (announced): novox/mesh-controller#486's head announced
- 2026-10-30 23:33 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 23:43 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 774 (L3). 38 route provisions (27 on ace, 11 on novox) stayed "asked" since the 23:33 provisions group, so the assigner (rule 8) withholds new builds of those modules (grafana on ace confirmed). Cause: route-proxy's provider helper pinned mesh-sdk 104533e (2026-10-22), which watches only mesh-controller_assignments; route-only plans for modules not handed exist only in the seat mesh-provisioner's plans. ADR 0570 §2 moved every helper to the seat's plans and provisions; route-proxy was the one left behind.
Change: route-proxy pins mesh-sdk b9ef1e4; its manifest reads mesh-provisioner.plans and mesh-provisioner.provisions instead of mesh-controller.assignments (the same reads as gitea, keycloak, postgres, route-adapter); route-provider starts its helper only after stdio.Served(), so a first watch is never refused "before Serve" and the helper never stays stopped. The web front (cmd/route-proxy) changes only by the sdk's busretry and kvlimit wrappers on State; routes, certificates and the membership follow are unchanged (reviewer read the sdk diff per imported package). Delivery restarts the web front on ace and novox once.
Quick vs thorough: quick = this module catches up with ADR 0570 §2. Thorough = the provisioner names a provider that reads no plans (mesh-catalog #575) and a catalogue check refusing a helper-answered provider without the seat's reads (next). Test TestAConsumerOfARouteIsToldItsNamesFromItsPlanEntry (handed gitea + route-only grafana) fails on the old pin. gofmt, vet (both tags), go test pass; test count unchanged.
Reviewed-by: rev-routes@shanks at
62c05c681cDelivery
novox/mesh-controller@62c05c681cfb— merged since 2026-10-30T23:43:17ZSource — source.main moved to novox/mesh-controller@4c9be8efc8. 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.