SeatsToPassOn moves into the SDK and a holder whose manifest left its seat counts as left (ADR 0660, issue 1966, recovery) #172

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

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

Cause. The grants part's user list is held since 2026-11-07 23:49: "publishing would lose the last holder of mesh-catalog". The holder on record is novox/mesh-catalog, whose manifest no longer claims the seat; the indexer claims it. ADR 0449 §4 passed a seat only when its holder is assigned nowhere, so nothing passed it. With the list held, ace's node-engine has no grant for mesh-catalog.seat-definitions and refuses every pass.

Change. ADR 0660 (accepted 14:30 UTC): catalogue.SeatsToPassOn lives here, widened so a holder whose every assignment's manifest no longer claims the seat (or CanHold refuses) has left it; claimants are assignments (node, module); Assignment.Unread marks an assignment whose manifest cannot be read (still assigned, no claimant). One table test, 14 cases.

Undo. Revert the merge commit; mesh-host and mesh-delivery of this group then fail to build, so revert those too.

Reviewed-by: mesh-code-reviewer@shanks at 3379b24c80

https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5

Recovery fix under the instruction section recovery-fixes-merge-and-tell; one delivery group with mesh-host and mesh-delivery on the same branch. **Cause.** The grants part's user list is held since 2026-11-07 23:49: "publishing would lose the last holder of mesh-catalog". The holder on record is novox/mesh-catalog, whose manifest no longer claims the seat; the indexer claims it. ADR 0449 §4 passed a seat only when its holder is assigned nowhere, so nothing passed it. With the list held, ace's node-engine has no grant for `mesh-catalog.seat-definitions` and refuses every pass. **Change.** ADR 0660 (accepted 14:30 UTC): `catalogue.SeatsToPassOn` lives here, widened so a holder whose every assignment's manifest no longer claims the seat (or `CanHold` refuses) has left it; claimants are assignments (node, module); `Assignment.Unread` marks an assignment whose manifest cannot be read (still assigned, no claimant). One table test, 14 cases. **Undo.** Revert the merge commit; mesh-host and mesh-delivery of this group then fail to build, so revert those too. Reviewed-by: mesh-code-reviewer@shanks at 3379b24c8092c62718045baa4487bce0b0da3ada https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
mesh-tools added 2 commits 2026-11-08 14:46:18 +00:00
Claude-Session: https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
SeatsToPassOn tests: a claimant whose running manifest does not claim is not counted; the answer names the settling command
mesh/delivery merged: source.main moved to novox/mesh-sdk@c861bd8adf96
mesh/delivery-group group fix/1966-seat-pass-shared merged: every member is merged
mesh/check checking 3379b24c8092 on c861bd8adf96 | novox/mesh-sdk#172 in group fix/1966-seat-pass-shared
3379b24c80
Claude-Session: https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
Author
Member

Delivery novox/mesh-sdk@3379b24c8092 — merged since 2026-11-08T14:47:07Z

Source — source.main moved to novox/mesh-sdk@c861bd8adf. 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-sdk#172'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-sdk@3379b24c8092` — **merged** since 2026-11-08T14:47:07Z **Source** — source.main moved to novox/mesh-sdk@c861bd8adf96. 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-sdk#172'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 c861bd8adf into main 2026-11-08 14:47:05 +00:00
mesh-tools deleted branch fix/1966-seat-pass-shared 2026-11-08 14:47:06 +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#172