Grants compose holders through the SDK's SeatsToPassOn, so mesh-catalog is granted to its only claimant (ADR 0660, issue 1966, recovery) #177

Merged
mesh-tools merged 2 commits from fix/1966-seat-pass-shared into main 2026-11-08 14:47:20 +00:00
Member

Recovery fix under the instruction section recovery-fixes-merge-and-tell; one delivery group with mesh-sdk and mesh-host on the same branch.

Cause. The user list is held since 2026-11-07 23:49 ("publishing would lose the last holder of mesh-catalog"): the holder on record novox/mesh-catalog no longer claims the seat, the indexer does. Sealed, the list grants ace's node-engine no mesh-catalog.seat-definitions, so it refuses every pass. Replaces the refused branch fix/1966-grants-stale-holder (910e2d64): no rule of the grants part's own.

Change. records.go holdersAfterPass applies catalogue.SeatsToPassOn to the assigner's holdings, each assignment read by the build its node runs, else the trunk's, else unread; heldWherePlaced grants the seat to the holder the rule answers; the pass is said as a gap in left_out; nothing is written to the record. Test rows: the live case (indexer granted, list not held back), the running build still claims, two claimants.

Undo. Revert the merge commit and put the previous mesh-grants build back on novox.

Reviewed-by: mesh-code-reviewer@shanks at d88c0f269d

https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5

Recovery fix under the instruction section recovery-fixes-merge-and-tell; one delivery group with mesh-sdk and mesh-host on the same branch. **Cause.** The user list is held since 2026-11-07 23:49 ("publishing would lose the last holder of mesh-catalog"): the holder on record novox/mesh-catalog no longer claims the seat, the indexer does. Sealed, the list grants ace's node-engine no `mesh-catalog.seat-definitions`, so it refuses every pass. Replaces the refused branch fix/1966-grants-stale-holder (910e2d64): no rule of the grants part's own. **Change.** `records.go` `holdersAfterPass` applies `catalogue.SeatsToPassOn` to the assigner's holdings, each assignment read by the build its node runs, else the trunk's, else unread; `heldWherePlaced` grants the seat to the holder the rule answers; the pass is said as a gap in `left_out`; nothing is written to the record. Test rows: the live case (indexer granted, list not held back), the running build still claims, two claimants. **Undo.** Revert the merge commit and put the previous mesh-grants build back on novox. Reviewed-by: mesh-code-reviewer@shanks at d88c0f269d5f81c52138e52c7129e9f0bcd08ba7 https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
mesh-tools added 2 commits 2026-11-08 14:46:29 +00:00
Claude-Session: https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
Grants test: compare the record against a deep copy, so a written holding fails it (issue 1966)
mesh/delivery merged: source.main moved to novox/mesh-delivery@37e7ea379429
mesh/delivery-group group fix/1966-seat-pass-shared merged: every member is merged
mesh/check checking d88c0f269d5f on f9cadbfdbb93 | novox/mesh-delivery#177 in group fix/1966-seat-pass-shared
d88c0f269d
Claude-Session: https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
Author
Member

Delivery novox/mesh-delivery@d88c0f269d5f — merged since 2026-11-08T14:47:22Z

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

Group fix/1966-seat-pass-shared: novox/mesh-delivery@d88c0f269d, novox/mesh-host@60f413f9bc, novox/mesh-sdk@3379b24c80

Transitions

  • 2026-11-08 14:46 (new) → proposed (announced): novox/mesh-delivery#177's head announced
  • 2026-11-08 14:46 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-11-08 14:47 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-delivery@d88c0f269d5f` — **merged** since 2026-11-08T14:47:22Z **Source** — source.main moved to novox/mesh-delivery@37e7ea379429. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `fix/1966-seat-pass-shared`: novox/mesh-delivery@d88c0f269d5f, novox/mesh-host@60f413f9bc6a, novox/mesh-sdk@3379b24c8092 **Transitions** - 2026-11-08 14:46 (new) → proposed (announced): novox/mesh-delivery#177's head announced - 2026-11-08 14:46 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-11-08 14:47 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 37e7ea3794 into main 2026-11-08 14:47:20 +00:00
mesh-tools deleted branch fix/1966-seat-pass-shared 2026-11-08 14:47:20 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-delivery#177