Skip to content

[Gastown] PR 16: Multi-Rig Support #223

@jrf0110

Description

@jrf0110

Parent: #204 | Phase 3: Multi-Rig + Scaling

Revised: All rigs in a town share the same Town Container. Each rig's agents get their own git clones and worktrees inside the container.

Goal

A Town with multiple rigs, cross-rig mail routing, and the dashboard reflecting all rigs.

Changes

  • Town DO maintains rig registry, routes cross-rig mail via Rig DO RPCs
  • Dashboard shows all rigs in a town with drill-down
  • Convoys can span multiple rigs
  • Mayor can distribute beads across rigs based on rig capabilities/load
  • All rigs in a town share the same container — each rig's agents get their own git clones and worktrees

Cross-Rig Mail Routing

When an agent in Rig A needs to communicate with an agent in Rig B:

  1. Agent sends mail via gt_mail_send with target agent identity
  2. Rig DO A forwards to Town DO
  3. Town DO resolves target rig from agent identity
  4. Town DO forwards to Rig DO B
  5. Target agent receives on next gt_mail_check

Container Impact

Multiple rigs sharing one container means:

  • Multiple git clones (one per rig) in /workspace/rigs/{rigId}/repo
  • More worktrees, more processes
  • Disk usage scales with number of rigs × repo size
  • May need to scale to larger instance type or shard to container-per-rig for large towns

Dashboard Changes

  • Town overview shows all rigs with summary stats
  • Rig selector/navigation
  • Cross-rig convoy view showing beads distributed across rigs

Dependencies

  • PR 9 (Town DO)
  • PR 10 (Multiple Polecats)
  • PR 14 (Convoy Lifecycle)

Acceptance Criteria

  • Town DO rig registry with add/remove
  • Cross-rig mail routing via Town DO
  • Multi-rig convoy support
  • Dashboard multi-rig view with drill-down
  • Mayor can distribute work across rigs
  • Multiple rigs sharing container with isolated git clones

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions