Design: Unified Pipeline Architecture

Section 3 of 4 — GitHub Actions Workflows

Deleted
❌ build_feature.py
❌ fix_issue.py
Workflows Updated
📝 .github/workflows/feature-build.yml
📝 .github/workflows/bug-fix.yml
New workflow step (same for all workflows)
- name: Run pipeline
  run: |
    python watcher.py \
      --once \
      --repo ${{ github.repository }} \
      --issue ${{ github.event.issue.number }} \
      --label ${{ github.event.label.name }}

--once means: process this single issue, then exit. No polling loop.
--label tells watcher which pipeline YAML to load.
Works for ANY label — add new label in repos.yaml + create pipelines/<label>.yaml → it works.

Adding a new pipeline in future
Before (today): create my_pipeline.py + add GitHub Actions workflow .github/workflows/my-pipeline.yml + modify watcher dispatch logic

After: create pipelines/ai-refactor.yaml (define stages), add ai-refactor label to repos.yaml entry. Done. The existing workflows auto-dispatch via --label ai-refactor.
# pipelines/ai-refactor.yaml (new pipeline in 10 lines)
stages:
  - name: analyze
    type: engineer
    prompt: "Analyze the code and suggest refactoring improvements"
  - name: refactor
    type: engineer
    depends_on: analyze
  - name: review
    type: code_reviewer
    depends_on: refactor