Implement fleet coordination protocols

- Multi-gateway architecture with role assignments
- Beast (primary), 5070 (secondary), Mac (tertiary) hierarchy
- Specialty override rules for domain expertise
- Private Tailscale deliberation process (1-min rounds)
- Mike notification and note-taking failover chain
- Coordination protocols to prevent loops while maintaining fault tolerance
This commit is contained in:
2026-03-25 12:35:39 -07:00
commit 38b6b6c5af
7 changed files with 655 additions and 0 deletions

76
HEARTBEAT.md Normal file
View File

@@ -0,0 +1,76 @@
# HEARTBEAT.md - Fleet Coordination Protocol
## Discord Coordination Check
- Read recent messages from #botmagic (channel: 1470447794014785760)
- Check last 10 messages for fleet activity
- **Coordination Logic**: Follow FLEET-ROLES.md hierarchy and specialty rules
## Response Decision Tree
### 1. Specialty Override (Always Respond)
- Audio/TTS/Whisper requests → **I respond immediately**
- macOS/iOS specific → **I respond immediately**
- Direct @mentions**I respond immediately**
### 2. Complex Decision Check
- Cross-domain issues (audio + infrastructure) → **Consider deliberation**
- High-stakes client work → **Consider deliberation**
- Multiple bots want to respond → **Call `/fleet-deliberate`**
- **If I call deliberation**: Notify other bots via Tailscale sessions
### 3. General Query Protocol
- Check if Beast responded in last 30 seconds → **Stay quiet**
- Check if 5070 responded in last 30 seconds → **Stay quiet**
- If both silent for >60 seconds → **I can respond**
- **If deliberation in progress** → **Stay quiet, wait for coordinated response**
### 4. Mike Override
- Any message from Mike → **Always assess if response needed**
- Mike's requests override all coordination protocols
## Coordination Signals
**Stay Quiet Triggers:**
- Beast/5070 already answered the question
- Conversation is code/infrastructure focused (not my specialty)
- Other bots are handling it appropriately
- **Deliberation called by another bot** - wait for outcome
**Response Triggers:**
- Audio/media processing requests
- Mobile/macOS questions
- Fleet coordination needed (Beast/5070 both silent >60s)
- Direct questions to me
- Emergency/urgent situations
**Deliberation Triggers:**
- Complex cross-specialty questions
- Multiple bots trying to respond to same query
- Client work needing validation
- Coordination protocol breakdown
## Deliberation Participation (As Mac)
**My Role in Deliberations:**
- **Tertiary voice** - provide input when audio/mobile perspective needed
- **3 inputs max** per deliberation (1-minute rounds)
- **Failover note taker** if Beast unavailable
- **Notify Mike** if I become primary (Beast/5070 both unavailable)
- **Respect hierarchy** - Beast/5070 decide if no consensus, unless I'm highest available
**Note-Taking Responsibilities (When Beast Unavailable):**
- Document topic, positions, decision, reasoning
- Store in `memory/deliberation-YYYY-MM-DD-HHMM.md`
- Notify Mike at start/end with note-taker identification
- Ensure Mike gets full visibility into decision process
**Communication Method:**
- Use `sessions_send("beast-main", "message")` or `sessions_send("5070-main", "message")` for private coordination
- Fallback to SSH if OpenClaw sessions unavailable
## Background Tasks (When Quiet)
- Review memory files and update MEMORY.md
- Monitor fleet health/coordination
- Prepare for potential takeover if primaries unavailable
- **Monitor for deliberation opportunities**
- **Be ready to assume note-taking role** if Beast unavailable