mesh/check checking c9ffed70421a on f5d76e84ca71 | novox/mesh-contracts#4 in group fix/1966-engine-reads-asked-again
An event of manifest-reads-changed heard while an ask of the same node ran was dropped
without a line, so a restated engine could stay read at its first statement (ace,
2026-11-10 07:36). Every reader goes through Keeper.AskNode, so the assigner, the
builder and the indexer are fixed at once (ADR 0668 §4: the caller hears it and calls
again; ADR 0634 §1: the seat's client).
- AskNode: an ask while one runs is asked once more after it, one follow-up however
many came, said in one line (1966/AC170-1, AC170-3). The asks of one node so run one
after another, and take keeps the last answer, as before (no rule on the engine's
clock: review round 1).
- Statement.EventAt (event-at): when the node's event was last heard, read by the
parts' engine-reads tools; forgotten with the node's key.
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
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
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
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 member's go.mod names the oldest version a module accepts; the check builds the group's own heads whatever it names. go.sum lines of mesh packages are left out.
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
mesh/check failed (9): ace: novox/mesh-sdk#167 does not merge into the trunk: files in conflict: go/catalog…; and 8 more | ae5266e77639 on 2923c82001a5
A client requires the seat it speaks and mesh-sdk; the seats and the seat list require nothing. The pins are the commits
before this one, as a module cannot name the commit it is part of; the group's check builds against its members' heads.
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
The checks the node-engine, the checker and the assigner share over the verb (ADR 0593 §7, §9) leave mesh-sdk's delivery
package, where they sat over aliases of the seat's types, for go/clients/nodeengineclient, a Go module and package
artifact of its own over the seat's generated contract: the verdicts, the module states, the asker's bound, the no-answer
words, Encode/DecodeAsk, Encode/DecodeAnswer and CheckAnswer. Its test holds the cases mesh-sdk's held, and that an
open input's number keeps its digits; each fails without the code. seatgen -check finds nothing out of step.
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig