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