# Agent fleet config — single source of truth for bootstrap.sh and save_scrollback.sh
#
# Each agent gets its own tmux window. The bootstrap script:
#   1. cd's into `cwd`
#   2. launches `claude --dangerously-skip-permissions`
#   3. sends an onboarding prompt that tells the agent to read its ROLE.md,
#      shared/GUIDELINES.md, shared/REPORT_FORMAT.md, and (if present) its
#      latest scrollback log to recover prior context.
#
# Service windows do NOT run claude — they run long-running processes
# (Flask dashboard, cloudflared tunnel, etc.).

session: agents

agents:
  manager:
    description: Orchestrator — coordinates agents, manages infrastructure
    cwd: /data/cameron/agents_stuff
    role_file: agents/manager/ROLE.md

  project_highlevel:
    description: High-level project strategy, scoping, and scientific discussion
    cwd: /data/cameron/para
    role_file: agents/project_highlevel/ROLE.md

  life_manager:
    description: Personal advisor and life knowledge base manager
    cwd: /data/cameron/life
    role_file: agents/life_manager/ROLE.md

  backbones:
    description: OOD object position and viewpoint generalization experiments
    cwd: /data/cameron/para
    role_file: agents/backbones/ROLE.md

  vid_model:
    description: Video model backbone training and lightweight PARA wrapper
    cwd: /data/cameron/para
    role_file: agents/vid_model/ROLE.md

  droid:
    description: Downloading and preparing DROID for large-scale pretraining
    cwd: /data/cameron/para
    role_file: agents/droid/ROLE.md

  panda:
    description: Franka Panda real robot experiments (remote via SSH)
    cwd: /data/cameron/para
    role_file: agents/panda/ROLE.md

  567_project:
    description: 567 course project — augmentation and viewpoint robustness
    cwd: /data/cameron/567_augmentation_viewpoint_project
    role_file: agents/567_project/ROLE.md

  paper_writer:
    description: LaTeX paper writing and formatting
    cwd: /data/cameron/para
    role_file: agents/paper_writer/ROLE.md

  figure_maker:
    description: Generating publication-quality visualizations and figures
    cwd: /data/cameron/para
    role_file: agents/figure_maker/ROLE.md

  data_visualizer:
    description: Dataset viewer and data visualization tools
    cwd: /data/cameron/para
    role_file: agents/data_visualizer/ROLE.md

  website_builder:
    description: Building the PARA project website
    cwd: /data/cameron/para
    role_file: agents/website_builder/ROLE.md

  mobile_chat:
    description: Mobile chat assistant with iframe viewer
    cwd: /data/cameron/para
    role_file: agents/mobile_chat/ROLE.md

  mac:
    description: Mac-side robotics work — MuJoCo/URDF, dataset collection, local inference (operates on Mac via SSHFS mount + ssh exec)
    cwd: /home/cameronsmith
    role_file: agents/mac/ROLE.md

  yams:
    description: TRI workstation specialist — YAM robot, DGX compute, on-site data pipeline (via school→mac→TRI ssh chain). Replaces panda.
    cwd: /data/cameron
    role_file: agents/yams/ROLE.md

# Service windows — long-running processes, no claude.
# The single `dashboard` window runs the existing Flask serve.py which
# exposes all three websites Cameron mentioned (project_site, mobile_chat
# UI, agents dashboard) on different routes of omidlab.net. Split into
# multiple windows later if needed.
services:
  dashboard:
    description: Flask dashboard + cloudflared tunnel — serves omidlab.net
    cwd: /data/cameron/para/.agents/reports
    # bootstrap.sh prints this command in the window — run manually so
    # secrets aren't auto-injected. See README for details.
    command_hint: |
      source /data/cameron/agents_stuff/.env
      python serve.py --port 8090 &
      while true; do
        cloudflared tunnel --url http://localhost:8090 run para-dashboard
        echo 'Tunnel died, restarting in 3s...'
        sleep 3
      done
