From b165eb9438054bd2e51189027d9c3292149c76cd Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 5 Nov 2026 12:54:10 +0100 Subject: [PATCH 1/2] 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 -- 2.54.0 From c70b27518712dbe546555db6ed048b578a0b4efb Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 5 Nov 2026 12:55:21 +0100 Subject: [PATCH 2/2] Watcher definition: the status view, not the delivery view; the assigner's want verb named (review round 1) Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn --- .claude/agents/mesh-watcher.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.claude/agents/mesh-watcher.md b/.claude/agents/mesh-watcher.md index b7e1b220..1ecffb34 100644 --- a/.claude/agents/mesh-watcher.md +++ b/.claude/agents/mesh-watcher.md @@ -15,8 +15,9 @@ machine's tool runner is not granted the owner's (`mesh_wait` names the granted 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" +module: what the node runs (its fingerprint and phase) against what the assigner wants +(`mesh-delivery-view.assigner_want` with the node and the module). A line of the status 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 -- 2.54.0