One rule for the state a membership issues and a manifest keeps, in both forms (issue 1966, recovery) #177

Merged
mesh-tools merged 1 commits from fix/1966-requires-state into main 2026-11-09 12:56:31 +00:00
Member

Issue 1966, a recovery fix (instruction recovery-fixes-merge-and-tell). Group fix/1966-requires-state: mesh-sdk (this), mesh-tools, mesh-delivery.

Live case. From 11:38 UTC no build could be stored: distribution 19c3a0ff keeps its state as key-value entries in requires (ADR 0595 §1), and the tool runner issued state only from the old state list ("distribution keeps and reads no state called transfers ... issued: none"). The fix's own build could only be stored through that seat, so the tool runner and the grants part built from these heads were placed on novox by hand at the operator's terminal (12:3x and 12:45 UTC); a build stored again at 12:46:31. This group makes those hand builds the normal ones.

Change. Membership.StateIssued and StateNames (an old state entry wins; otherwise a key-value binding is issued by its local name, writable) and catalogue.KeptStates: the one rule the tool runner, the grants part and the manifest validator call.

Quick or thorough. Thorough: one shared rule in mesh-sdk instead of a fallback in each reader; the kind was met twice (issue 249, and now distribution and mesh-knowledge). Tests: rows in the existing membership and catalogue tests, which fail without the change.

Check. Its check is expected to fail on the checker's composition-size fault lead-47 fixes next (issue 1966 note 130), not on this change; the merge needs the operator's Approve of that red check.

Reviewed-by: mesh-code-reviewer@shanks at 17475257d1

https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i

Issue 1966, a recovery fix (instruction recovery-fixes-merge-and-tell). Group fix/1966-requires-state: mesh-sdk (this), mesh-tools, mesh-delivery. **Live case.** From 11:38 UTC no build could be stored: distribution 19c3a0ff keeps its state as key-value entries in `requires` (ADR 0595 §1), and the tool runner issued state only from the old `state` list ("distribution keeps and reads no state called transfers ... issued: none"). The fix's own build could only be stored through that seat, so the tool runner and the grants part built from these heads were placed on novox by hand at the operator's terminal (12:3x and 12:45 UTC); a build stored again at 12:46:31. This group makes those hand builds the normal ones. **Change.** `Membership.StateIssued` and `StateNames` (an old `state` entry wins; otherwise a key-value binding is issued by its local name, writable) and `catalogue.KeptStates`: the one rule the tool runner, the grants part and the manifest validator call. **Quick or thorough.** Thorough: one shared rule in mesh-sdk instead of a fallback in each reader; the kind was met twice (issue 249, and now distribution and mesh-knowledge). Tests: rows in the existing membership and catalogue tests, which fail without the change. **Check.** Its check is expected to fail on the checker's composition-size fault lead-47 fixes next (issue 1966 note 130), not on this change; the merge needs the operator's Approve of that red check. Reviewed-by: mesh-code-reviewer@shanks at 17475257d15f8fc9d0b082dbd30085e83510f973 https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
mesh-tools added 1 commit 2026-11-09 12:48:57 +00:00
One rule for the state a membership issues and a manifest keeps, in both forms
mesh/check checking 17475257d15f on 017743219669 | novox/mesh-sdk#177 in group fix/1966-requires-state
mesh/delivery merged: source.main moved to novox/mesh-sdk@017743219669
mesh/delivery-group group fix/1966-requires-state merged: every member is merged
17475257d1
A key-value entry asked in requires (ADR 0595) was bound but never issued
as a state, because each reader read the old state list alone (issue 1966).
Membership.StateIssued and StateNames, and catalogue.KeptStates, are the one
rule the tool runner, the grants part and the manifest validator call.

Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
Author
Member

Delivery novox/mesh-sdk@17475257d15f — merged since 2026-11-09T12:56:34Z

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

Group fix/1966-requires-state: novox/mesh-delivery@a78c5700fd, novox/mesh-sdk@17475257d1, novox/mesh-tools@8052fd14f4

Transitions

  • 2026-11-09 12:49 (new) → proposed (announced): novox/mesh-sdk#177's head announced
  • 2026-11-09 12:49 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-09 12:56 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@17475257d15f` — **merged** since 2026-11-09T12:56:34Z **Source** — source.main moved to novox/mesh-sdk@017743219669. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `fix/1966-requires-state`: novox/mesh-delivery@a78c5700fdf4, novox/mesh-sdk@17475257d15f, novox/mesh-tools@8052fd14f4fd **Transitions** - 2026-11-09 12:49 (new) → proposed (announced): novox/mesh-sdk#177's head announced - 2026-11-09 12:49 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-09 12:56 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 0177432196 into main 2026-11-09 12:56:31 +00:00
mesh-tools deleted branch fix/1966-requires-state 2026-11-09 12:56: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#177