Issue 274: a provider is granted only the consumers bound to it #138

Merged
mesh-admin merged 1 commits from issues/274-a-provider-was-granted-consumers-bound-elsewhere into main 2026-10-06 14:09:29 +00:00
Contributor

Opens issue 274 (status located, fixed-by novox/mesh-controller PR #87).

A provider's grants were derived from the pair credentials on record from it, not from where each consumer's resolution binds it. After the issue 273 pin-back, the control node's store stayed granted the home server's five database consumers, counted them as asked and never retired them under ADR 0230.

Rule: a provider is granted exactly the consumers whose own current resolution binds them to it; a credential bound elsewhere is withdrawn (retired, data kept), said on plan/push, and kept on record. Left open: forgetting the kept credential after cleanup delete, rotate on an unbound holder, and the existing skip of grants for a consumer whose set does not resolve (a withdrawal-on-failed-read, same class as issue 152).

Checks: records.py, index.py, cycle.py pass. Role names only.

Opens issue 274 (status `located`, fixed-by novox/mesh-controller PR #87). A provider's grants were derived from the pair credentials on record from it, not from where each consumer's resolution binds it. After the issue 273 pin-back, the control node's store stayed granted the home server's five database consumers, counted them as asked and never retired them under ADR 0230. Rule: a provider is granted exactly the consumers whose own current resolution binds them to it; a credential bound elsewhere is withdrawn (retired, data kept), said on plan/push, and kept on record. Left open: forgetting the kept credential after `cleanup delete`, `rotate` on an unbound holder, and the existing skip of grants for a consumer whose set does not resolve (a withdrawal-on-failed-read, same class as issue 152). Checks: records.py, index.py, cycle.py pass. Role names only.
mesh-admin added 1 commit 2026-10-06 14:08:38 +00:00
mesh-admin merged commit 0c55ebf125 into main 2026-10-06 14:09:29 +00:00
mesh-admin deleted branch issues/274-a-provider-was-granted-consumers-bound-elsewhere 2026-10-06 14:09:29 +00:00
Author
Contributor

Delivery novox/hq@0c55ebf12549 — held since 2026-10-06T23:05:28Z

Held for a person: merged without a passing check: only a person decides that it goes on — mesh-delivery.release with why lets it go on.

Delivery plan — builds nothing: the change touches no module of the mesh's graph

Transitions

  • 2026-10-06 23:05 (new) → proposed (announced): novox/hq#138 merged; its head was not heard by this owner, so it is made from the forge's word
  • 2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on

The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/hq@0c55ebf12549` — **held** since 2026-10-06T23:05:28Z Held for a person: merged without a passing check: only a person decides that it goes on — `mesh-delivery.release` with why lets it go on. **Delivery plan** — builds nothing: the change touches no module of the mesh's graph **Transitions** - 2026-10-06 23:05 (new) → proposed (announced): novox/hq#138 merged; its head was not heard by this owner, so it is made from the forge's word - 2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/hq#138