diff --git a/.beads/formulas/mol-deacon-patrol.formula.toml b/.beads/formulas/mol-deacon-patrol.formula.toml index 64faa07c..0217306d 100644 --- a/.beads/formulas/mol-deacon-patrol.formula.toml +++ b/.beads/formulas/mol-deacon-patrol.formula.toml @@ -257,33 +257,26 @@ For each rig, run: ```bash gt witness status gt refinery status -``` -**IMPORTANT: Do NOT send health pings on every patrol cycle.** -Health check nudges disturb idle agents and waste their context. Only send -a HEALTH_CHECK nudge when you have **concerning signals** (see table below). - -**When to send health pings** (only if concerned): -```bash -# Only if agent appears unresponsive or status check fails: +# Health ping (clears backoff as side effect) gt nudge /witness 'HEALTH_CHECK from deacon' gt nudge /refinery 'HEALTH_CHECK from deacon' ``` +**Health Ping Benefit**: The nudge commands serve dual purposes: +1. **Liveness verification** - Agent responds to prove it's alive +2. **Backoff reset** - Any nudge resets agent's backoff to base interval + +This ensures patrol agents remain responsive even during quiet periods when the +feed has no mutations. Deacon patrols every ~1-2 minutes, so maximum backoff +is bounded by the ping interval. + **Signals to assess:** | Component | Healthy Signals | Concerning Signals | |-----------|-----------------|-------------------| -| Witness | State: running, recent activity | State: not running, no heartbeat, or status check hangs | -| Refinery | State: running, queue processing | Queue stuck, merge failures, or not responding | - -**When NOT to ping:** -- Agent reports state=running with recent activity -- No pending work in queues -- Status check returns promptly with healthy output - -The status commands (`gt witness status`, `gt refinery status`) provide -sufficient liveness information. Reserve nudges for actual problems. +| Witness | State: running, recent activity | State: not running, no heartbeat | +| Refinery | State: running, queue processing | Queue stuck, merge failures | **Tracking unresponsive cycles:** @@ -303,7 +296,7 @@ health_state: | Cycles Unresponsive | Suggested Action | |---------------------|------------------| -| 1-2 | Note it, send HEALTH_CHECK nudge | +| 1-2 | Note it, check again next cycle | | 3-4 | Attempt restart: gt witness restart | | 5+ | Escalate to Mayor with context |