fix(daemon): respect rig bead docked status in isRigOperational

The daemon's isRigOperational() was only checking wisp config layer
for docked/parked status. However, 'gt rig dock' sets the status:docked
label on the rig identity bead (global/synced), not wisp config.

This caused the daemon to auto-restart agents on docked rigs because
it couldn't see the bead-level docked status.

Fix:
- Check rig bead labels for status:docked and status:parked
- Also updated mol-deacon-patrol formula to explicitly skip
  DOCKED/PARKED rigs in health-scan step

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
mayor
2026-01-25 20:33:23 -08:00
committed by beads/crew/emma
parent 5c21e110d0
commit baec5b6147
3 changed files with 46 additions and 1 deletions

View File

@@ -341,6 +341,19 @@ needs = ["trigger-pending-spawns", "dispatch-gated-molecules", "fire-notificatio
description = """
Check Witness and Refinery health for each rig.
**IMPORTANT: Skip DOCKED/PARKED rigs**
Before checking any rig, verify its operational state:
```bash
gt rig status <rig>
# Check the Status: line - if DOCKED or PARKED, skip entirely
```
DOCKED rigs are globally shut down - do NOT:
- Check their witness/refinery status
- Send health pings
- Attempt restarts
Simply skip them and move to the next rig.
**IMPORTANT: Idle Town Protocol**
Before sending health check nudges, check if the town is idle:
```bash