One rule for which provisions a module waits for, so the assigner, the plans and the provisioner agree and grafana gets its route (issue 774) #143

Merged
mesh-tools merged 2 commits from fix/one-rule-for-provisions into main 2026-10-30 22:33:49 +00:00
Member

One rule for which provisions a module waits for and which keys are made. Three parts decided it apart (the assigner by manifest requires, plan composition by moved or helper-answered, the provisioner by what plans name), so since mesh-catalog 395a37dd new builds of grafana, dnsmasq, mesh-knowledge, mesh-mail and mesh-build-* waited for keys nobody made, and grafana (not moved) had no route plan: grafana.novox.be has answered "no route" since at least 2026-10-29. catalogue.Keyed and catalogue.Awaited (keyed.go); Needed.AnsweredByHelper set in compose; provisionsOf filters by Keyed; a module not handed gets a plan of its helper-answered provisions only. Handed modules' plans are unchanged. Tests replay grafana's route, grafana and oidc-client, mesh-build-go and go-toolchain; a compose row covers answeredByHelper.

Group fix/one-rule-for-provisions (mesh-sdk, mesh-delivery, mesh-catalog), issue 774 and L6 (issue 1954). The lead merges once mesh/check and mesh/delivery-group are green AND mesh-catalog #570 (the provisioner client takes a plan with no templates) has reached every node: this group's mesh-provisioner writes route-only plans the old client would report failed. mesh-sdk first.
Reviewed-by: rev-sweep@shanks at 6c5a8ef893

One rule for which provisions a module waits for and which keys are made. Three parts decided it apart (the assigner by manifest requires, plan composition by moved or helper-answered, the provisioner by what plans name), so since mesh-catalog 395a37dd new builds of grafana, dnsmasq, mesh-knowledge, mesh-mail and mesh-build-* waited for keys nobody made, and grafana (not moved) had no route plan: grafana.novox.be has answered "no route" since at least 2026-10-29. catalogue.Keyed and catalogue.Awaited (keyed.go); Needed.AnsweredByHelper set in compose; provisionsOf filters by Keyed; a module not handed gets a plan of its helper-answered provisions only. Handed modules' plans are unchanged. Tests replay grafana's route, grafana and oidc-client, mesh-build-go and go-toolchain; a compose row covers answeredByHelper. Group fix/one-rule-for-provisions (mesh-sdk, mesh-delivery, mesh-catalog), issue 774 and L6 (issue 1954). The lead merges once mesh/check and mesh/delivery-group are green AND mesh-catalog #570 (the provisioner client takes a plan with no templates) has reached every node: this group's mesh-provisioner writes route-only plans the old client would report failed. mesh-sdk first. Reviewed-by: rev-sweep@shanks at 6c5a8ef893b47b440786c9010ca87bccb8418f9a
mesh-tools added 2 commits 2026-10-30 21:32:37 +00:00
The assigner's rule 8 waited for a key for every `requires`, while the plans named only the needs of handed modules:
every new build of grafana, dnsmasq, mesh-knowledge, mesh-mail and the builders waited for a key nobody would make,
and grafana, not handed, had no plan, so no route key and no route on route-proxy.

catalogue.Keyed is the rule (a need a module answers is keyed when its consumer is handed or the provider's helper
answers it), catalogue.Awaited the same rule from manifests for the assigner, and a module not handed now has a plan
for what a helper answers of it. Handed modules' plans are unchanged.

Quick fix: drop the missing-key check from rule 8. Thorough fix (chosen): one rule in mesh-sdk all three parts use,
since the kind (three parts deciding the same set apart) already drifted once and hid failures as waits.
Test that the composition marks a need its provider's helper answers, so the consumer's plan keys it (issue 774)
mesh/delivery merged: source.main moved to novox/mesh-sdk@125bb9177189
mesh/delivery-group group fix/one-rule-for-provisions merged: every member is merged
mesh/check being carried to 6c5a8ef893b4 on 125bb9177189 | from b74e23f973ab | novox/mesh-sdk#143 in group fix/one-rule-for-provisions
6c5a8ef893
The review found answeredByHelper untested: forced false, every test passed. This row fails then.
Author
Member

Delivery novox/mesh-sdk@6c5a8ef893b4 — merged since 2026-10-30T22:33:52Z

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

Group fix/one-rule-for-provisions: novox/mesh-catalog@843c1c337c, novox/mesh-delivery@6298d9d67c, novox/mesh-sdk@6c5a8ef893

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

Transitions

  • 2026-10-30 21:32 (new) → proposed (announced): novox/mesh-sdk#143's head announced
  • 2026-10-30 21:32 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 22:33 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@6c5a8ef893b4` — **merged** since 2026-10-30T22:33:52Z **Source** — source.main moved to novox/mesh-sdk@125bb9177189. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `fix/one-rule-for-provisions`: novox/mesh-catalog@843c1c337cdd, novox/mesh-delivery@6298d9d67c83, novox/mesh-sdk@6c5a8ef893b4 - composed together: pass — the checker's verdict at the members' heads (c3131640479a) **Transitions** - 2026-10-30 21:32 (new) → proposed (announced): novox/mesh-sdk#143's head announced - 2026-10-30 21:32 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 22:33 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 125bb91771 into main 2026-10-30 22:33:49 +00:00
mesh-tools deleted branch fix/one-rule-for-provisions 2026-10-30 22:33:50 +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#143