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
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.
Deliverynovox/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.
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`.
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.
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
6c5a8ef893Delivery
novox/mesh-sdk@6c5a8ef893b4— merged since 2026-10-30T22:33:52ZSource — source.main moved to novox/mesh-sdk@125bb91771. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Group
fix/one-rule-for-provisions: novox/mesh-catalog@843c1c337c, novox/mesh-delivery@6298d9d67c, novox/mesh-sdk@6c5a8ef893Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.