## 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