Grants compose each membership from the build that runs as well as the trunk's, so a running build keeps its reads (issue 1966, recovery) #178

Merged
mesh-tools merged 3 commits from fix/1966-membership-keeps-running-reads into main 2026-11-08 16:03:19 +00:00
Member

Recovery fix under the instruction section recovery-fixes-merge-and-tell; blocking.

Cause. mesh-grants 2fc5d828 (put on novox 15:20 UTC, list unsealed) published every module's membership, held since 2026-11-07 23:49, composed from the trunk's manifests. Running builds older than trunk lost reads: mesh-vault and mesh-config refuse with "keeps and reads no state called mesh-delivery-assigner.placement", so every node-engine's pass (shanks, ace, novox) fails on the vault's credential answers and config changes are refused.

Change. Memberships are composed from ListRecords: the union of the have's build (new Inputs.Had), the want's build and the trunk's. A have or build that cannot be read is a failed gap and that membership keeps the last published one (union), said in NotPublished. Holder order is unchanged (follow-up).

Undo. Revert the merge commit and put mesh-grants 2fc5d828 back on novox.

Reviewed-by: mesh-code-reviewer@shanks at 5452fa92a7

https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5

Recovery fix under the instruction section recovery-fixes-merge-and-tell; blocking. **Cause.** mesh-grants 2fc5d828 (put on novox 15:20 UTC, list unsealed) published every module's membership, held since 2026-11-07 23:49, composed from the trunk's manifests. Running builds older than trunk lost reads: mesh-vault and mesh-config refuse with "keeps and reads no state called mesh-delivery-assigner.placement", so every node-engine's pass (shanks, ace, novox) fails on the vault's credential answers and config changes are refused. **Change.** Memberships are composed from ListRecords: the union of the have's build (new Inputs.Had), the want's build and the trunk's. A have or build that cannot be read is a failed gap and that membership keeps the last published one (union), said in NotPublished. Holder order is unchanged (follow-up). **Undo.** Revert the merge commit and put mesh-grants 2fc5d828 back on novox. Reviewed-by: mesh-code-reviewer@shanks at 5452fa92a7318d2b163d913c3c493743fdb2b918 https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
mesh-tools added 3 commits 2026-11-08 16:03:15 +00:00
A running build older than the trunk lost reads it still uses (the vault's read of the assigner's placement), failing every node-engine pass. Memberships now come from the union of the have's build, the want's and the trunk's manifest.

Claude-Session: https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
Claude-Session: https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
Grants keep the last published membership when the running build cannot be read; holders stay as merged (issue 1966, review round 2)
mesh/delivery merged: source.main moved to novox/mesh-delivery@f9cadbfdbb93
mesh/check failed (2): integration: mesh-delivery-assigner/cmd/mesh-delivery-assigner.TestAProposalIsAnswer…; and 1 more | 5452fa92a731 on f9cadbfdbb93
5452fa92a7
Claude-Session: https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
mesh-tools merged commit f9cadbfdbb into main 2026-11-08 16:03:19 +00:00
Author
Member

Delivery novox/mesh-delivery@5452fa92a731 — merged since 2026-11-08T16:03:21Z

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

Transitions

  • 2026-11-08 16:03 (new) → proposed (announced): novox/mesh-delivery#178's head announced
  • 2026-11-08 16:03 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 16:03 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@5452fa92a731` — **merged** since 2026-11-08T16:03:21Z **Source** — source.main moved to novox/mesh-delivery@f9cadbfdbb93. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Transitions** - 2026-11-08 16:03 (new) → proposed (announced): novox/mesh-delivery#178's head announced - 2026-11-08 16:03 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 16:03 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 deleted branch fix/1966-membership-keeps-running-reads 2026-11-08 16:03: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#178