Issue a key-value entry asked in requires as a state, by its local name (issue 1966, recovery) #66

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

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

Live case. From 11:38 UTC every publish to the store failed "distribution keeps and reads no state called transfers ... issued: none": the tool runner read the old state list alone. This head's build runs on novox since 12:3x UTC, placed by hand at the operator's terminal (the fix could not be stored through the seat it repairs); after it, novox issues distribution's findings, idle and transfers.

Change. issuedState (node-tools/internal/bus/state.go) reads mesh-sdk's membership.StateIssued; the refusal names requires too.

Quick or thorough. Thorough: the rule lives in mesh-sdk (its pull request in this group), not a fallback here. Tests: rows in internal/runtime/state_test.go (a bound module gets, puts and watches by its local name; another module is refused), which fail without the change.

Check. Expected to fail on the checker's composition-size fault (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 8052fd14f4

https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i

Issue 1966, a recovery fix (instruction recovery-fixes-merge-and-tell). Group fix/1966-requires-state: mesh-sdk, mesh-tools (this), mesh-delivery. **Live case.** From 11:38 UTC every publish to the store failed "distribution keeps and reads no state called transfers ... issued: none": the tool runner read the old `state` list alone. This head's build runs on novox since 12:3x UTC, placed by hand at the operator's terminal (the fix could not be stored through the seat it repairs); after it, novox issues distribution's findings, idle and transfers. **Change.** `issuedState` (node-tools/internal/bus/state.go) reads mesh-sdk's `membership.StateIssued`; the refusal names `requires` too. **Quick or thorough.** Thorough: the rule lives in mesh-sdk (its pull request in this group), not a fallback here. Tests: rows in internal/runtime/state_test.go (a bound module gets, puts and watches by its local name; another module is refused), which fail without the change. **Check.** Expected to fail on the checker's composition-size fault (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 8052fd14f4fd6f86d9db80214e529c6a5cfb2717 https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
mesh-tools added 1 commit 2026-11-09 12:49:02 +00:00
Issue a key-value entry asked in requires as a state, by its local name
mesh/check checking 8052fd14f4fd on 2ea4f019e594 | novox/mesh-tools#66 in group fix/1966-requires-state
mesh/delivery merged: source.main moved to novox/mesh-tools@2ea4f019e594
mesh/delivery-group group fix/1966-requires-state merged: every member is merged
8052fd14f4
A bundle's state call on a key-value entry its module asks for in requires
(ADR 0595 §1) was refused "keeps and reads no state called", because the
tool runner read the old state list alone (issue 1966). It now reads mesh-sdk's
one rule, membership.StateIssued.

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

Delivery novox/mesh-tools@8052fd14f4fd — merged since 2026-11-09T12:56:39Z

Source — source.main moved to novox/mesh-tools@2ea4f019e5. 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-tools#66'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-tools@8052fd14f4fd` — **merged** since 2026-11-09T12:56:39Z **Source** — source.main moved to novox/mesh-tools@2ea4f019e594. 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-tools#66'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 2ea4f019e5 into main 2026-11-09 12:56:38 +00:00
mesh-tools deleted branch fix/1966-requires-state 2026-11-09 12:56:38 +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-tools#66