- 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
135 lines
4.4 KiB
Markdown
135 lines
4.4 KiB
Markdown
# DELIBERATION-PROTOCOL.md - Private Fleet Coordination
|
|
|
|
## Tailscale Deliberation Process
|
|
|
|
### When Deliberation is Required
|
|
- **Complex technical decisions** requiring multiple perspectives
|
|
- **Conflicting specialty areas** (e.g., code deployment affecting infrastructure)
|
|
- **High-stakes client work** needing validation
|
|
- **Coordination failures** in public channels
|
|
- **Mike explicitly requests** fleet deliberation
|
|
|
|
### Deliberation Triggers
|
|
**Auto-triggers:**
|
|
- Multiple bots want to respond to same complex query
|
|
- Technical solution has cross-domain impact
|
|
- Client deliverable needs review before sending
|
|
- Error/mistake needs coordinated correction
|
|
|
|
**Manual triggers:**
|
|
- Any bot can call for deliberation: `/fleet-deliberate`
|
|
- Mike requests private coordination
|
|
- Public coordination protocol breakdown
|
|
|
|
### Tailscale Communication Method
|
|
**Primary**: Direct machine-to-machine messaging via OpenClaw sessions
|
|
- **Beast**: `sessions_send("5070-main", "message")`
|
|
- **5070**: `sessions_send("beast-main", "message")`
|
|
- **Mac**: `sessions_send("beast-main", "message")` or `sessions_send("5070-main", "message")`
|
|
|
|
**Fallback**: SSH between machines if OpenClaw sessions unavailable
|
|
|
|
### Deliberation Limits
|
|
|
|
**Strict Limits to Prevent Endless Debate:**
|
|
- **Maximum 3 inputs per bot** per deliberation
|
|
- **Maximum 3-minute timer** from start to decision (1 min per round)
|
|
- **Maximum 2 rounds** of back-and-forth
|
|
- **Single decision maker** if no consensus (follows hierarchy: Beast → 5070 → Mac)
|
|
|
|
### Mike Notification & Oversight
|
|
|
|
**Required Notifications:**
|
|
- **Primary notifies Mike** when deliberation starts: "Fleet deliberation initiated: [topic]"
|
|
- **Primary notifies Mike** when deliberation concludes: "Fleet decision: [outcome]"
|
|
|
|
**Note-Taking Responsibility (Failover Chain):**
|
|
1. **Beast** (if available) - primary note taker
|
|
2. **Mac** (if Beast unavailable) - failover note taker
|
|
3. **5070** (if both Beast and Mac unavailable) - last resort
|
|
|
|
**Required documentation**: Topic, positions, decision, reasoning
|
|
**Mike reviews notes** at his discretion
|
|
**Store in**: `memory/deliberation-YYYY-MM-DD-HHMM.md`
|
|
|
|
### Deliberation Structure
|
|
|
|
**Round 1: Initial Positions (1 minute max)**
|
|
- Each bot states position in 1-2 sentences
|
|
- Include confidence level (Low/Medium/High)
|
|
- Identify key concerns/blockers
|
|
|
|
**Round 2: Synthesis (1 minute max)**
|
|
- Address others' concerns
|
|
- Propose compromise solutions
|
|
- Final position with rationale
|
|
|
|
**Decision Phase (1 minute max)**
|
|
- Attempt consensus
|
|
- If no consensus: Hierarchy decides (Beast > 5070 > Mac)
|
|
- Note taker documents decision reasoning
|
|
|
|
### Deliberation Topics by Priority
|
|
|
|
**Tier 1 (Always Deliberate):**
|
|
- Client deliverables before sending
|
|
- Infrastructure changes affecting multiple systems
|
|
- Security decisions
|
|
- Fleet coordination protocol changes
|
|
|
|
**Tier 2 (Deliberate if Conflict):**
|
|
- Technical implementation approaches
|
|
- Resource allocation (which bot handles what)
|
|
- Complex troubleshooting strategies
|
|
|
|
**Tier 3 (Optional Deliberation):**
|
|
- General technical questions
|
|
- Documentation improvements
|
|
- Tool recommendations
|
|
|
|
### Output Protocols
|
|
|
|
**After Deliberation:**
|
|
- **Primary notifies Mike** of conclusion
|
|
- **Primary responder** delivers coordinated answer publicly
|
|
- **Other bots** stay silent unless asked for specifics
|
|
- **Note taker documents** key decisions in memory files
|
|
- **No "we discussed privately"** - present as unified conclusion
|
|
|
|
### Notification Templates
|
|
|
|
**Start Notification (Primary to Mike):**
|
|
```
|
|
Fleet deliberation initiated: [brief topic description]
|
|
Participants: [list of bots involved]
|
|
Note taker: [Beast/Mac/5070]
|
|
Expected duration: 3 minutes max
|
|
```
|
|
|
|
**End Notification (Primary to Mike):**
|
|
```
|
|
Fleet decision reached: [outcome summary]
|
|
Decision maker: [consensus/Beast hierarchy/etc.]
|
|
Note taker: [Beast/Mac/5070]
|
|
Notes: memory/deliberation-YYYY-MM-DD-HHMM.md
|
|
```
|
|
|
|
### Emergency Bypass
|
|
- **Mike override** ends deliberation immediately
|
|
- **Time-sensitive issues** skip deliberation (< 5 min needed)
|
|
- **Simple specialty questions** don't need deliberation
|
|
|
|
### Deliberation Examples
|
|
|
|
**Good deliberation trigger:**
|
|
> Client asks: "Should we migrate to Azure or AWS for email security?"
|
|
> → Cross-domain (infrastructure + security), high-stakes, needs unified answer
|
|
|
|
**Bad deliberation trigger:**
|
|
> User asks: "How do I restart a service on Linux?"
|
|
> → Simple, clear specialty (5070), no deliberation needed
|
|
|
|
---
|
|
|
|
*Implementation: 2026-03-25*
|
|
*Updated: Note-taking failover chain (Beast → Mac → 5070)* |