From e8f8e60861a980151ab2a89e1b651e6dae2c2180 Mon Sep 17 00:00:00 2001 From: Jory Irving Date: Sun, 14 Jun 2026 20:54:49 -0600 Subject: [PATCH] chore: manage Dispatch labels from labels.yaml --- .github/labels.yaml | 76 +++++++++++++++++++++++++++++++ .github/workflows/label-sync.yaml | 39 ++++++++++++++++ 2 files changed, 115 insertions(+) create mode 100644 .github/labels.yaml create mode 100644 .github/workflows/label-sync.yaml diff --git a/.github/labels.yaml b/.github/labels.yaml new file mode 100644 index 0000000..314743b --- /dev/null +++ b/.github/labels.yaml @@ -0,0 +1,76 @@ +--- +# Status +- name: status/backlog + color: "cfd3d7" + description: Not ready for worker pickup yet. +- name: status/ready + color: "0e8a16" + description: Ready for Dispatch worker pickup. +- name: status/in-progress + color: "fbca04" + description: Work has been claimed or started. +- name: status/in-review + color: "5319e7" + description: Pull request or human review is in progress. +- name: status/done + color: "0e8a16" + description: Work is complete. +# Priority +- name: priority/p0 + color: "b60205" + description: Critical priority. +- name: priority/p1 + color: "d93f0b" + description: High priority. +- name: priority/p2 + color: "fbca04" + description: Normal priority. +- name: priority/p3 + color: "0e8a16" + description: Low priority. +# Type / Classification +- name: bug + color: "d73a4a" + description: Something is not working. +- name: enhancement + color: "a2eeef" + description: New feature or improvement. +- name: documentation + color: "0075ca" + description: Documentation work. +- name: dependencies + color: "0366d6" + description: Dependency update or maintenance. +- name: audit + color: "bfdadc" + description: Audit, review, or investigation work. +- name: pr-review-fix + color: "c5def5" + description: Follow-up work from pull request review. +- name: ai-review + color: "b4f8f8" + description: Request an AI pull request review. +- name: umbrella + color: "5319e7" + description: Parent issue that may need decomposition. +# Dispatch / Workflow +- name: needs-info + color: "d4c5f9" + description: More information is needed before work can continue. +- name: needs-human + color: "e99695" + description: Human input or decision is required. +- name: needs-escalation + color: "b60205" + description: Needs escalated lane attention. +- name: blocked + color: "e11d21" + description: Progress is blocked. +# Stable Agents +- name: agent/saffron-normal + color: "1d76db" + description: Stable normal-lane Saffron worker. +- name: agent/saffron-escalated + color: "0052cc" + description: Stable escalated-lane Saffron worker. +# Repo-specific labels can be appended below. Unknown labels are not pruned. diff --git a/.github/workflows/label-sync.yaml b/.github/workflows/label-sync.yaml new file mode 100644 index 0000000..b1fba8e --- /dev/null +++ b/.github/workflows/label-sync.yaml @@ -0,0 +1,39 @@ +--- +# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json +name: Label Sync + +on: + workflow_dispatch: + inputs: + dry_run: + description: Preview label changes without applying them. + required: false + type: boolean + default: false + push: + branches: ["main"] + paths: [".github/labels.yaml"] + +permissions: + contents: read + +jobs: + main: + name: Label Sync - Sync Labels + runs-on: ubuntu-latest + permissions: + contents: read + issues: write + steps: + - name: Checkout + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + with: + persist-credentials: false + sparse-checkout: .github/labels.yaml + + - name: Sync Labels + uses: EndBug/label-sync@52074158190acb45f3077f9099fea818aa43f97a # v2.3.3 + with: + config-file: .github/labels.yaml + delete-other-labels: false + dry-run: ${{ github.event_name == 'workflow_dispatch' && inputs.dry_run || false }}