The runtime says a bundle's state or log operation that failed or timed out, with its time (issue 1966, recovery) #63

Merged
mesh-tools merged 2 commits from fix/1966-hand-acts-answers into main 2026-11-09 07:03:43 +00:00
Member

Recovery fix (instruction recovery-fixes-merge-and-tell; nothing-moved-in-five-minutes: make it visible), issue 1966.

Why. Every call of the seat mesh-hand-acts' verbs times out at 30 s since 2026-11-08 15:21 UTC (its log's last act), so every hand tool that records a hand act first hangs. The runtime says nothing: the bundle's own state and log requests mostly get no answer, and nothing logs it. The bus's refusals of its replies are late answers (allow_responses ttl 1 minute), not the cause. Cause not yet known; this makes it readable.

Change. node-tools/internal/launch/launch.go: when a bundle's mesh/state., mesh/log. or bus-state request fails, the runtime logs [mesh-tools] <module>'s bundle asked <method> and it failed after <time>: <error>. A lost compare-and-set (code -32010, the normal answer of two writers) is not said. The answer the bundle gets is unchanged; no value reaches the log.

Quick or thorough. Quick: this log line (chosen: the only part proven, and it names the failing request on the next hang). Thorough: note 105's test, the real runtime in front of the real bundle on a bus loaded with the composed users; a harness for that is to be built.

Tests. TestAFailedStateOperationIsSaidInTheRuntimesLog (a refused get is said, a lost compare-and-set is not; waits on a channel, no sleep); go vet, go vet -tags integration, go test ./... in node-tools pass; mutation-checked both ways.

Reviewed-by: mesh-code-reviewer@shanks at 634c77f90f

Undo: revert this merge.

https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i

Recovery fix (instruction recovery-fixes-merge-and-tell; nothing-moved-in-five-minutes: make it visible), issue 1966. **Why.** Every call of the seat mesh-hand-acts' verbs times out at 30 s since 2026-11-08 15:21 UTC (its log's last act), so every hand tool that records a hand act first hangs. The runtime says nothing: the bundle's own state and log requests mostly get no answer, and nothing logs it. The bus's refusals of its replies are late answers (allow_responses ttl 1 minute), not the cause. Cause not yet known; this makes it readable. **Change.** node-tools/internal/launch/launch.go: when a bundle's mesh/state.*, mesh/log.* or bus-state request fails, the runtime logs `[mesh-tools] <module>'s bundle asked <method> and it failed after <time>: <error>`. A lost compare-and-set (code -32010, the normal answer of two writers) is not said. The answer the bundle gets is unchanged; no value reaches the log. **Quick or thorough.** Quick: this log line (chosen: the only part proven, and it names the failing request on the next hang). Thorough: note 105's test, the real runtime in front of the real bundle on a bus loaded with the composed users; a harness for that is to be built. **Tests.** TestAFailedStateOperationIsSaidInTheRuntimesLog (a refused get is said, a lost compare-and-set is not; waits on a channel, no sleep); go vet, go vet -tags integration, go test ./... in node-tools pass; mutation-checked both ways. Reviewed-by: mesh-code-reviewer@shanks at 634c77f90f9813746d58d1d5b83361c5415dd858 **Undo:** revert this merge. https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
mesh-tools added 2 commits 2026-11-09 01:24:49 +00:00
Author
Member

Delivery novox/mesh-tools@634c77f90f98 — merged since 2026-11-09T07:03:45Z

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

Transitions

  • 2026-11-09 01:24 (new) → proposed (announced): novox/mesh-tools#63's head announced
  • 2026-11-09 01:24 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 07: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-tools@634c77f90f98` — **merged** since 2026-11-09T07:03:45Z **Source** — source.main moved to novox/mesh-tools@27710ccabd53. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Transitions** - 2026-11-09 01:24 (new) → proposed (announced): novox/mesh-tools#63's head announced - 2026-11-09 01:24 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 07: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 merged commit 27710ccabd into main 2026-11-09 07:03:43 +00:00
mesh-tools deleted branch fix/1966-hand-acts-answers 2026-11-09 07:03:43 +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#63