Engine reads keep the last answer and say an unanswered node; operator-channel asks and watchdogs presence declared (ADR 0668; issue 1966; group fix/1966-call-made-once) #3

Merged
mesh-tools merged 7 commits from fix/1966-call-made-once into main 2026-11-10 07:20:29 +00:00
Member

Member of group fix/1966-call-made-once (mesh-sdk #185 merges first; mesh-host, mesh-delivery). The full description, tests, validator verdicts and review record are on mesh-sdk #185.

This member: enginereads keeps the last answer at a fault while the kept call goes on, asks every node at the consumer's bind, and carries ReadsCalls (call-unanswered after five minutes while the machine is heard, none while away); meshconditionsclient gains the call-unanswered kind; the operator-channel seat declares its asks verb's input and answer; the mesh-watchdogs seat declares presence's answer (seatgen -check clean at the root; no new line in health-and-repair).

Issue 1966 (notes 152-160); decision ADR 0668 (accepted).

Reviewed-by: mesh-code-reviewer@shanks (3 rounds and a narrow check of round 3's fixes) at mesh-sdk 13998c2362d35f0d150e5cdc2d6234800fb5519e, mesh-contracts bb16f99e2d, mesh-host 9cd03a7430cc6b7dca3f5a97a08a5a799a84c673, mesh-delivery 262d21c431b3682f91190363689ab8f58cdb5032
Pushed-by: lead-47@shanks

https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ

Member of group fix/1966-call-made-once (mesh-sdk #185 merges first; mesh-host, mesh-delivery). The full description, tests, validator verdicts and review record are on mesh-sdk #185. This member: enginereads keeps the last answer at a fault while the kept call goes on, asks every node at the consumer's bind, and carries ReadsCalls (call-unanswered after five minutes while the machine is heard, none while away); meshconditionsclient gains the call-unanswered kind; the operator-channel seat declares its asks verb's input and answer; the mesh-watchdogs seat declares presence's answer (seatgen -check clean at the root; no new line in health-and-repair). Issue 1966 (notes 152-160); decision ADR 0668 (accepted). Reviewed-by: mesh-code-reviewer@shanks (3 rounds and a narrow check of round 3's fixes) at mesh-sdk 13998c2362d35f0d150e5cdc2d6234800fb5519e, mesh-contracts bb16f99e2d5e854bb8f6552ce4b256e7c10e8ea0, mesh-host 9cd03a7430cc6b7dca3f5a97a08a5a799a84c673, mesh-delivery 262d21c431b3682f91190363689ab8f58cdb5032 Pushed-by: lead-47@shanks https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
mesh-tools added 7 commits 2026-11-10 04:12:42 +00:00
A manifest-reads-changed said before the part's consumer existed was never heard (note 155), and the
statement taken while an engine restarted stood. AtBind is registered on the hub's OnBound.

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
A kept call still unanswered past five minutes is said in the caller's findings, keyed call.<id>.call-unanswered.

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
A part whose node answers nothing waited out busretry.Bound (30 s) before it acted on the node's record: Once asks the verb once, and its fault is taken at once.

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
The assigner's read at its consumer's bind calls the verb with them; regenerated with seatgen, whose -check passes.

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
The builder and the indexer ask whether a node's machine is heard through this verb instead of reading the watchman's state; regenerated with seatgen, whose -check names nothing new.

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
C7: the node-engine seat's client keeps the wait of every caller's kept manifest-reads calls, ReadsCalls beside Keeper.Unanswered, its bound's end asking once whether the machine is heard (issue 1966, ADR 0668 §3, ADR 0634 §1, ADR 0596 §2; review round 3, findings 1 and 2)
mesh/check checking bb16f99e2d5e on 7fbfd77a76cb | novox/mesh-contracts#3 in group fix/1966-call-made-once
mesh/delivery merged: source.main moved to novox/mesh-contracts@7fbfd77a76cb
mesh/delivery-group group fix/1966-call-made-once merged: every member is merged
bb16f99e2d
The assigner, the builder and the indexer share it instead of two copies; it names no other seat's client (the client check), so each caller writes its finding in mesh-conditions' layout through Raise, stamped with ReadsCalls' clock.

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

Delivery novox/mesh-contracts@bb16f99e2d5e — merged since 2026-11-10T07:20:31Z

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

Group fix/1966-call-made-once: novox/mesh-contracts@bb16f99e2d, novox/mesh-delivery@262d21c431, novox/mesh-host@d581acdeda, novox/mesh-sdk@32b14ce0ef

  • composed together: fail — the checker's verdict at the members' heads (6985553d412c): mesh-delivery-checker

Transitions

  • 2026-11-10 04:12 (new) → proposed (announced): novox/mesh-contracts#3's head announced
  • 2026-11-10 04:12 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-10 07:20 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-contracts@bb16f99e2d5e` — **merged** since 2026-11-10T07:20:31Z **Source** — source.main moved to novox/mesh-contracts@7fbfd77a76cb. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `fix/1966-call-made-once`: novox/mesh-contracts@bb16f99e2d5e, novox/mesh-delivery@262d21c431b3, novox/mesh-host@d581acdedae3, novox/mesh-sdk@32b14ce0ef4b - composed together: fail — the checker's verdict at the members' heads (6985553d412c): mesh-delivery-checker **Transitions** - 2026-11-10 04:12 (new) → proposed (announced): novox/mesh-contracts#3's head announced - 2026-11-10 04:12 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-10 07:20 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`.
Author
Member

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
Author
Member

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
Author
Member

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: its head 9cd03a7430cc is no longer the pull request's head, or the pull request closed. Nothing is merged on it. The operator is asked again once the checks pass at the new head.

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: its head 9cd03a7430cc is no longer the pull request's head, or the pull request closed. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-tools merged commit 7fbfd77a76 into main 2026-11-10 07:20:29 +00:00
mesh-tools deleted branch fix/1966-call-made-once 2026-11-10 07:20:29 +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-contracts#3