Current Architecture — The Problem

Multiple entry points, each hardwired to one pipeline type

GitHub Actions Triggers
label: ai-feature
→ feature-build.yml
→ build_feature.py
→ Orchestrator (hardcoded)
label: ai-fix
→ bug-fix.yml
→ fix_issue.py
→ BugFixOrchestrator (hardcoded)
label: documentation
→ (manual only)
→ DocOrchestrator (hardcoded)
Watcher (Polling)
watcher.py + repos.yaml
polls every hour

feature_label → Orchestrator
bug_label → BugFixOrchestrator
doc_label → DocOrchestrator
still 3 hardcoded pipeline types
CLI (Manual)
main.py
→ Orchestrator only
+ --config-builder
Problems
❌ Adding a new pipeline type = new .py file + new .yml + modify watcher
❌ build_feature.py & fix_issue.py duplicate watcher logic
❌ Pipeline sequence is hardcoded — can't use pipeline.yaml per label
Proposed Direction

One watcher process. Config maps labels → pipeline sequences (using the pipeline.yaml format). Adding a new pipeline = add a block to the config. No new Python files.