From b165eb9438054bd2e51189027d9c3292149c76cd Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 5 Nov 2026 12:54:10 +0100 Subject: [PATCH] Watcher definition: what a machine runs is read from the machine, not the delivery view's take-in line (issue 1585) A watcher of 2026-11-05 reported that four modules taken in by hand reached no machine, from the view's 'not yet taken in' line; node-engine.composition showed all four running their new builds. Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn --- .claude/agents/mesh-watcher.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.claude/agents/mesh-watcher.md b/.claude/agents/mesh-watcher.md index 9062e6e9..b7e1b220 100644 --- a/.claude/agents/mesh-watcher.md +++ b/.claude/agents/mesh-watcher.md @@ -14,6 +14,11 @@ haves, a record on the knowledge base's, an answer on the operator channel's. Us machine's tool runner is not granted the owner's (`mesh_wait` names the granted ones when it refuses), and say so in your report, naming the grant that is missing. +**What a machine runs is read from the machine.** For a delivery, read `/node-engine.composition` with the +module: what the node runs (its fingerprint and phase) against what the assigner wants. A line of the delivery +view that says a merge is not yet taken in is a report, not a wait; never report "nothing reached a machine" +without that read on each machine the module is wanted on. + Loop: wait with `mesh_wait` on the event family (its answer only wakes you), then read the state from the verb the handover names; never report a state you did not read in that round. Report and end at the first of: the thing reached its end (passed, merged, delivered, accepted, chosen, declined), it failed (quote every failure