Grant the provisioner client every machine's plans, as it watches them (issue 774) #137

Merged
jschoubben merged 1 commits from fix/provisioner-reads-every-plan into main 2026-10-30 15:53:31 +00:00
Member

Production fix, recovery of design 47's release (issue 774). Group fix/provisioner-reads-every-plan: mesh-sdk, mesh-delivery; merge mesh-sdk first.

Fault (live): the provisioner clients on g14 and shanks watch the seat's plans bucket whole to bind a provider's consumers (ADR 0373); the grant gave each only its own machine's keys, so the watch is refused and no files are placed.

Quick fix (chosen, recovery): plans join the buckets a client reads whole, as the assignments mirror already is: every key read, none written; a plan holds names and placement, never a secret value. Tests: the client may watch every plan and get another machine's; still writes none; the rows fail without the change. Thorough fix (queued): the client binds consumers from the seat's provision keys (ADR 0570 clause 3) and plans go back to its own machine's keys. Recovery mode: no check waited on; the operator merges by hand.

Reviewed-by: rev-plans@shanks at af66ccb833

Production fix, recovery of design 47's release (issue 774). Group fix/provisioner-reads-every-plan: mesh-sdk, mesh-delivery; merge mesh-sdk first. Fault (live): the provisioner clients on g14 and shanks watch the seat's plans bucket whole to bind a provider's consumers (ADR 0373); the grant gave each only its own machine's keys, so the watch is refused and no files are placed. Quick fix (chosen, recovery): plans join the buckets a client reads whole, as the assignments mirror already is: every key read, none written; a plan holds names and placement, never a secret value. Tests: the client may watch every plan and get another machine's; still writes none; the rows fail without the change. Thorough fix (queued): the client binds consumers from the seat's provision keys (ADR 0570 clause 3) and plans go back to its own machine's keys. Recovery mode: no check waited on; the operator merges by hand. Reviewed-by: rev-plans@shanks at af66ccb8335aba77b6147e6ab891972b818bd1b5
mesh-tools added 1 commit 2026-10-30 15:42:25 +00:00
Grant the provisioner client every machine's plans, as it watches them, so g14 and shanks read their plans again (issue 774)
mesh/delivery merged: source.main moved to novox/mesh-sdk@1d9de5dbb63b
mesh/delivery-group group fix/provisioner-reads-every-plan merged: every member is merged
mesh/check being carried to af66ccb8335a on 1d9de5dbb63b | from 42988a734b3d | novox/mesh-sdk#137 in group fix/provisioner-reads-every-plan
af66ccb833
The client V3 watches the seat's plans whole to bind a provider's consumers (ADR 0373); the grant gave each machine
only its own keys, so its watch was refused and no files were placed. Quick fix, chosen in a recovery: plans join
the buckets a client reads whole (references, never secret values). Thorough fix, queued: the client fills consumers
from the seat's provision keys (ADR 0570 clause 3) and plans go back to its own machine's keys.
Author
Member

Delivery novox/mesh-sdk@af66ccb8335a — merged since 2026-10-30T15:53:32Z

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

Group fix/provisioner-reads-every-plan: novox/mesh-delivery@f800d672f3, novox/mesh-sdk@af66ccb833

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

Transitions

  • 2026-10-30 15:42 (new) → proposed (announced): novox/mesh-sdk#137's head announced
  • 2026-10-30 15:42 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 15:53 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@af66ccb8335a` — **merged** since 2026-10-30T15:53:32Z **Source** — source.main moved to novox/mesh-sdk@1d9de5dbb63b. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `fix/provisioner-reads-every-plan`: novox/mesh-delivery@f800d672f344, novox/mesh-sdk@af66ccb8335a - composed together: pass — the checker's verdict at the members' heads (92af08c2dcf9) **Transitions** - 2026-10-30 15:42 (new) → proposed (announced): novox/mesh-sdk#137's head announced - 2026-10-30 15:42 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 15:53 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`.
jschoubben merged commit 1d9de5dbb6 into main 2026-10-30 15:53:31 +00:00
jschoubben deleted branch fix/provisioner-reads-every-plan 2026-10-30 15:53:31 +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#137