The web front's route helper reads the seat's plans, so a route-only module's route is provided (issue 774) #486

Merged
mesh-tools merged 2 commits from fix/route-proxy-reads-plans into main 2026-10-30 23:43:15 +00:00
Member

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 62c05c681c

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
mesh-tools added 2 commits 2026-10-30 23:33:41 +00:00
Author
Member

Delivery novox/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`.
mesh-tools merged commit 4c9be8efc8 into main 2026-10-30 23:43:15 +00:00
mesh-tools deleted branch fix/route-proxy-reads-plans 2026-10-30 23:43:16 +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-controller#486