Skip to content

chore: manage Dispatch labels from labels.yaml#210

Merged
joryirving merged 1 commit into
mainfrom
codex/dispatch-labels
Jun 15, 2026
Merged

chore: manage Dispatch labels from labels.yaml#210
joryirving merged 1 commit into
mainfrom
codex/dispatch-labels

Conversation

@joryirving

@joryirving joryirving commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Why

Dispatch worker queues and PR workflows depend on stable labels such as status/*, priority/*, agent/*, and ai-review. This moves the canonical Dispatch-managed label set into .github/labels.yaml so label setup is version-controlled instead of manual GitHub UI state.

What changed

  • Added .github/labels.yaml with Dispatch status, priority, classification, workflow, stable agent, ai-review, and active umbrella labels.
  • Added a pinned label sync workflow using EndBug/label-sync@52074158190acb45f3077f9099fea818aa43f97a.
  • The workflow supports workflow_dispatch and runs when .github/labels.yaml changes on main.

Safety

  • Add/update only for the first rollout.
  • Unknown labels are not pruned: delete-other-labels: false.
  • Repo-specific labels, Renovate labels, and dynamic agent/* labels remain untouched unless explicitly listed in the config.
  • No Dispatch runtime state, app behavior, DB data, issues, or home-ops files were changed.

Validation

  • Parsed .github/labels.yaml as YAML.
  • Parsed .github/workflows/label-sync.yaml as YAML.
  • Verified required status/*, priority/*, stable agent/*, and ai-review labels are present.
  • Verified pinned actions/checkout and pinned EndBug/label-sync references.
  • Verified minimal workflow permissions: contents: read, issues: write.
  • Verified delete-other-labels: false is present.
  • Generated a local label report from the public GitHub Labels API: create=9, update=14, delete=0.

Dispatch worker labels are now version-controlled.

@joryirving joryirving force-pushed the codex/dispatch-labels branch from 4b27e95 to 4308163 Compare June 15, 2026 02:58

@its-saffron its-saffron Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI Automated Review

Full PR review.

Analysis engine: MiniMax-M2.7@https://litellm.jory.dev/v1 (anthropic) — escalated (fast_low_confidence)

Review: PR PR 210 — chore: manage Dispatch labels from labels.yaml

Recommendation: Approve

This PR adds version-controlled label management for Dispatch worker queues by introducing a canonical label configuration file and a sync workflow. The changes are scoped to GitHub infrastructure (.github/ only) and do not touch any game code, GDScript, or runtime behavior.


Change-by-Change Findings

.github/labels.yaml (new file, 76 lines)

Defines the canonical Dispatch-managed label set:

  • Status labels (status/backlog, status/ready, status/in-progress, status/in-review, status/done)
  • Priority labels (priority/p0 through priority/p3)
  • Classification labels (bug, enhancement, documentation, dependencies, audit, pr-review-fix, ai-review, umbrella)
  • Dispatch/workflow labels (needs-info, needs-human, needs-escalation, blocked)
  • Stable agent labels (agent/saffron-normal, agent/saffron-escalated)

The file includes a comment encouraging repo-specific labels to be appended below, preserving local customization.

.github/workflows/label-sync.yaml (new file, 39 lines)

Triggers on:

  • workflow_dispatch with an optional dry_run boolean input
  • push to main when .github/labels.yaml changes

The workflow:

  • Checks out only .github/labels.yaml via sparse-checkout (minimal footprint)
  • Runs EndBug/label-sync@v2.3.3 with delete-other-labels: false
  • Permissions: contents: read (top-level) + issues: write (job-level) — appropriate for label mutation
  • Uses pinned commit hash 52074158190acb45f3077f9099fea818aa43f97a for the action
  • Uses actions/checkout@v6.0.3 (pinned commit df4cb1c)

Standards Compliance

The PR follows repository conventions for GitHub Actions:

  • Pinned action references: Both actions/checkout and EndBug/label-sync use full commit SHAs with version comments, matching the pattern seen in other workflows (e.g., ai-pr-review.yaml, release.yml).
  • Minimal permissions: Top-level contents: read is sufficient; job-level issues: write is the minimum required for label mutation. This follows least-privilege principles documented in ai-review-rules.md.
  • No release tags created: As noted in AGENTS.md, releases are tag-driven and this is scoped infrastructure work — no release discussion or tag needed.
  • Repository history confirms actions/checkout versioning: The repo has updated actions/checkout from v4 → v6 and between v6 patch versions (6b09134, 486b39b), so this PR's use of v6.0.3 is consistent with established upgrade practices.

Linked Issue Fit

No linked issue was present in the PR body. The PR is self-describing: it establishes version-controlled label management for Dispatch worker queues, which is a workflow-infrastructure improvement. No acceptance criteria to verify against.


Evidence Provider Findings

No evidence providers were configured for this review.


Tool Harness Findings

No tool harness output was provided. The CI check results table shows all three checks passed:

  • macOS validation: success
  • Headless smoke test: success
  • Script test suite: success

These are standard validation gates for this repository (as documented in CONTRIBUTING.md and AGENTS.md) and confirm no regressions.


Safety Verification

The PR body explicitly states and the diff confirms:

  • delete-other-labels: false is set, so existing labels are preserved
  • The sparse-checkout fetches only .github/labels.yaml, minimizing git operations
  • No game code, GDScript, or runtime behavior is touched
  • Permissions are scoped to the minimum required for label management

Unknowns / Needs Verification

None. The diff is complete, the YAML is valid, the action references are pinned, and CI passed.


Conclusion

This is a well-scoped infrastructure PR that moves Dispatch-managed labels into version control. It follows repository conventions for action pinning, minimal permissions, and CI hygiene. The safety guarantees (no label pruning, sparse checkout) are correctly implemented. No game code or runtime behavior is affected. Approve for merge.

@joryirving joryirving merged commit 2495432 into main Jun 15, 2026
4 checks passed
@joryirving joryirving deleted the codex/dispatch-labels branch June 15, 2026 03:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant