- 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
3.0 KiB
3.0 KiB
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")orsessions_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