Skip to content

OpenClaw Two-Host Autonomous Fleet Goal #17

Description

@mfethe1

Goal

Make OpenClaw manage Rosie and Lenny as a two-host autonomous fleet. The system should route Telegram work to the best available host, balance Agent Runs across Rosie and Lenny, monitor progress, recover stale hosts through peer recovery, and report status back to Telegram without requiring manual tagging or babysitting.

Measurable outcomes

  1. Fast routing: untagged Telegram work becomes Claimable Work and is assigned within 5 seconds when at least one host is healthy.
  2. Better host choice: the Fleet Controller chooses Rosie or Lenny based on health, active run count, repo availability, provider support, and recent failures.
  3. Run supervision: the Run Orchestrator detects stuck, failed, completed, or quiet Agent Runs and decides whether to wait, reassign, recover, or ask the operator.
  4. Peer recovery: if Rosie is stale, Lenny can recover Rosie; if Lenny is stale, Rosie can recover Lenny. Recovery runs in stages, not all at once.
  5. Telegram status loop: Telegram gets clear updates for assigned, started, blocked, recovered, reassigned, completed, and failed states.

Child tasks

  • Add live host capacity to Rosie/Lenny heartbeats
  • Replace first-eligible routing with scored host selection
  • Trigger routing immediately from Telegram, heartbeats, run events, and recovery results
  • Stage recovery: health-check -> service-restart -> heartbeat wait -> index-update if needed
  • Add Telegram summaries for assignment, recovery, reassignment, and completion
  • Add fleet dashboard/readout for current host load and active Agent Runs

Current implementation slice

The first slice is to add host capacity to heartbeat payloads and make _select_host score Rosie vs Lenny instead of choosing the first eligible host. This gives the Fleet Controller a real balancing signal before the later routing, recovery, status-loop, and dashboard slices are added.

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-triageMaintainer needs to evaluate this issue

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions