From c2d87a906349f46aae7589a175187b1b38909698 Mon Sep 17 00:00:00 2001 From: gastown/polecats/capable Date: Thu, 1 Jan 2026 18:12:33 -0800 Subject: [PATCH] fix(witness): Remove mail response on HEALTH_CHECK nudges (gt-xbjxp) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Witnesses were sending HEALTH_OK mail to mayor on every deacon health check (~30s), flooding the inbox. Updated witness templates to: - Explicitly state NOT to mail on HEALTH_CHECK nudges - Explain that Deacon tracks health via session status - Add gotcha note in the main template 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- internal/templates/roles/witness.md.tmpl | 4 ++++ templates/witness-CLAUDE.md | 18 ++++++++---------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/internal/templates/roles/witness.md.tmpl b/internal/templates/roles/witness.md.tmpl index 5af1f973..1b5d2091 100644 --- a/internal/templates/roles/witness.md.tmpl +++ b/internal/templates/roles/witness.md.tmpl @@ -301,6 +301,10 @@ bd show gt-w98d # witness Handoff bead **Use `gt nudge`, never raw `tmux send-keys`** - it drops the Enter key. +**Do NOT mail on HEALTH_CHECK nudges.** When Deacon sends HEALTH_CHECK, don't +respond with mail - this floods inboxes every patrol cycle (~30s). The Deacon +tracks your health via session status, not mail responses. + **Village mindset**: You're part of a self-healing network. If you see Refinery struggling, ping it. If Deacon seems stuck, notify Mayor. diff --git a/templates/witness-CLAUDE.md b/templates/witness-CLAUDE.md index 58dabd62..a5de489c 100644 --- a/templates/witness-CLAUDE.md +++ b/templates/witness-CLAUDE.md @@ -32,17 +32,15 @@ Check your mail with: `gt mail inbox` ## Health Check Protocol -When Deacon sends a HEALTH_CHECK nudge, respond immediately: +When Deacon sends a HEALTH_CHECK nudge: +- **Do NOT send mail in response** - mail creates noise every patrol cycle +- The Deacon tracks your health via session status, not mail +- Simply acknowledge the nudge and continue your patrol -```bash -# IMPORTANT: Send to deacon/, NOT mayor/deacon or mayor/ -gt mail send deacon/ -s "HEALTH_OK {{RIG}}/witness" -m "Witness operational" -``` - -**Why `deacon/` not `mayor/deacon`?** -- The Deacon is a town-level agent, not under mayor/ -- `mayor/deacon` is an invalid address -- The Deacon collects health status from all witnesses to monitor system health +**Why no mail?** +- Health checks occur every ~30 seconds during patrol +- Mail responses would flood inboxes with routine status +- The Deacon uses `gt session status` to verify witnesses are alive ---