Pending: Project discovery — manual registration or auto-detect?
Pending: Where do external project tasks live — Opus vault or in-repo?
Pending: Isolation model — separate worktrees per project or Docker?
User Tasks
Summary
Enable Opus to accept and execute coding tasks on repositories other than itself, transforming it from a self-improving system into a general-purpose coding agency.
Problem / Motivation
Currently the entire pipeline (FR-056 orchestrator, FR-058 git workflow, FR-055 sandbox) assumes work happens within the Opus repo.
The orchestrator polls vault/10_features/ for FRs — this only contains Opus tasks.
Sandbox worktrees are created inside Opus’s git repo — won’t work for external projects.
A coding agency that can only work on itself has limited value. The real payoff is “here’s a GitHub repo, implement this feature.”
External projects have different languages, test frameworks, CI pipelines, and conventions — the system needs to discover and adapt.
Proposed Solution
A project registry where external repos are registered with metadata (repo URL, language, test command, lint command, conventions). The orchestrator can receive tasks for any registered project, clone/checkout in an isolated workspace, and run the standard pipeline (plan → code → test → review → PR) adapted to that project’s tooling.
Open Questions
1. Project Registration
Question: How are external projects added to Opus?
Option
Description
A) Registry file
src/opus/projects/registry.yaml with repo URL, language, commands
B) Auto-detect from GitHub
Point at a GitHub user/org, discover repos
C) Per-task specification
Each task includes repo URL and context
Recommendation: Option A for Phase 1 — explicit is safe. Option C as fallback for ad-hoc tasks.
Decision:
2. Task Location
Question: Where do tasks for external projects live?
Option
Description
A) Opus vault with project tag
vault/10_features/02_new/FR-XXX-project-name-task.md with project: repo-name
B) In the external repo
Each registered repo has its own task tracking
C) GitHub Issues
Pull tasks from GitHub Issues on registered repos
Recommendation: Option A for Phase 1 (centralized), Option C for Phase 2 (pull from GitHub).
Decision:
3. Project Context Discovery
Question: How does the system learn an external project’s conventions?
Option
Description
A) Read project files
Parse README, pyproject.toml/package.json, CI config, CLAUDE.md if present
B) Manual config
User specifies everything in registry
C) Trial run
Run tests/lint, observe what works
Recommendation: Option A + B — auto-detect what’s possible, allow manual overrides.