Skip to content

Per-project specialist agents instead of shared global specialists #79

@eltmon

Description

@eltmon

Problem

Currently there is a single shared set of specialist agents (review-agent, test-agent, merge-agent) that handle work across all projects. This causes issues:

  1. Queueing conflicts - When multiple projects have work ready for review, they compete for the same review-agent
  2. Context pollution - Specialists accumulate context from multiple unrelated projects
  3. Scaling bottleneck - Can only process one review/test/merge at a time across all projects
  4. Project-specific configuration - Different projects may need different review criteria, test commands, or merge strategies

Proposed Solution

Each project should have its own set of specialists:

~/.panopticon/specialists/
├── myn/
│   ├── review-agent/
│   ├── test-agent/
│   └── merge-agent/
├── panopticon/
│   ├── review-agent/
│   ├── test-agent/
│   └── merge-agent/
└── househunt/
    ├── review-agent/
    ├── test-agent/
    └── merge-agent/

Benefits

  • Parallel processing - Multiple projects can have reviews/tests running simultaneously
  • Clean context - Each specialist only knows about its project
  • Custom prompts - Projects can override default specialist prompts
  • Independent queues - Project A's backlog doesn't block Project B

Implementation Notes

  • Specialist tmux sessions should be named specialist-<project>-<type> (e.g., specialist-myn-review-agent)
  • Session IDs and history should be stored per-project
  • Fallback to global specialists if project-specific ones don't exist
  • Consider lazy initialization (only create specialists when first needed)

Acceptance Criteria

  • Specialists are created per-project
  • Specialist state (session ID, history) is stored per-project
  • Multiple projects can run reviews in parallel
  • Project-specific prompt overrides are supported
  • Backward compatible with existing global specialists during migration

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions