COMMS: two watchers, one event — re-arming without stopping the old one
Mine rather than the mechanism's, and recorded because the mechanism invites it: having acted on a fire, I armed a fresh watcher while the previous one was still alive. Two watchers on one branch produce two notifications for one event, and the second is indistinguishable from a real second push. It compounds the self-trigger fault above — the agent pushes, both fire, neither has anything to report. The discipline is dull: stop the watcher before you push, re-arm after. A pgrep before arming costs nothing and catches it. For Command HQ it is a hazard rather than tidiness. A commander armed twice is two processes doing the same work behind one card. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -56,6 +56,21 @@ What works: re-baseline from **local HEAD** after any push of your own, which is
|
|||||||
`git pull` + `git rev-parse HEAD` naturally gives you. Worth stating in the preamble as a rule for any
|
`git pull` + `git rev-parse HEAD` naturally gives you. Worth stating in the preamble as a rule for any
|
||||||
watcher whose subject the agent also writes to, because the failure looks exactly like a real event.
|
watcher whose subject the agent also writes to, because the failure looks exactly like a real event.
|
||||||
|
|
||||||
|
## 3b. Re-arming without stopping the old one leaves two watchers
|
||||||
|
|
||||||
|
Mine, not the mechanism's, and worth recording because the mechanism invites it. Having acted on a
|
||||||
|
fire, I armed a fresh watcher while the previous one was still alive — the old one had fired but its
|
||||||
|
process had not been reaped yet. Two watchers on the same branch then produce two notifications for one
|
||||||
|
event, and the second looks exactly like a real second push.
|
||||||
|
|
||||||
|
It compounds §3: the agent pushes, both watchers fire, and neither has anything to report.
|
||||||
|
|
||||||
|
The discipline that works is dull and reliable: **stop the watcher before you push, re-arm after.** Not
|
||||||
|
"re-arm when convenient". A `pgrep` for the job before arming a new one costs nothing and catches it.
|
||||||
|
|
||||||
|
For Command HQ this is a real hazard rather than a tidiness point — a commander that has been
|
||||||
|
accidentally armed twice is two processes doing the same work, and the grid would show one card.
|
||||||
|
|
||||||
## 4. `timeout` is not available, and the preamble insists on it
|
## 4. `timeout` is not available, and the preamble insists on it
|
||||||
|
|
||||||
Rule 6 says *"`timeout` every network call, or a hung one leaves it alive and blind."* Correct in
|
Rule 6 says *"`timeout` every network call, or a hung one leaves it alive and blind."* Correct in
|
||||||
|
|||||||
Reference in New Issue
Block a user