From dbfd9cea60c7d9c9e4b6bba819c089a68139fb8e Mon Sep 17 00:00:00 2001 From: Sall Date: Tue, 21 Jul 2026 16:57:26 +0100 Subject: [PATCH 1/2] style(labels): normalize quote style in labels.yml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Prettier rewrites the single-quoted colour values to double quotes. The file predates the formatter, so this churn would otherwise land inside an unrelated change and obscure it. Mechanical only — no label, colour, or mapping is altered. --- lib/labels.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/labels.yml b/lib/labels.yml index 4c0c10acb..cca68e166 100644 --- a/lib/labels.yml +++ b/lib/labels.yml @@ -22,19 +22,19 @@ labels: color: 0e8a16 description: A request for new behavior or capability. - name: type:docs - color: '0052cc' + color: "0052cc" description: Documentation-only work. - name: type:question color: d4c5f9 description: Support, clarification, or usage question. - name: type:maintenance - color: '531999' + color: "531999" description: Non-feature maintenance, cleanup, or org work. - name: type:membership color: 6f42c1 description: Membership and organization-role requests. - name: type:handoff - color: '5319e7' + color: "5319e7" description: Cross-agent or cross-maintainer handoff context. # Area @@ -51,10 +51,10 @@ labels: color: 3e16f3 description: Package or package-management work. - name: area:docs - color: '0052cc' + color: "0052cc" description: Documentation systems, content, or publishing. - name: area:ci - color: '5319e7' + color: "5319e7" description: Continuous integration or GitHub Actions work. - name: area:dependencies color: fbca04 @@ -89,10 +89,10 @@ labels: color: f9d0c4 description: Waiting on more detail before work can continue. - name: good first issue - color: '7057ff' + color: "7057ff" description: Well-scoped starter task for a new contributor. - name: help wanted - color: '008672' + color: "008672" description: Maintainers would welcome outside help. - name: invalid color: 0b467f @@ -104,17 +104,17 @@ labels: color: ffffff description: Acknowledged but not planned for implementation. - name: meta:org-tracked - color: '5319e7' + color: "5319e7" description: Indicates this issue has cross-repository tracking implications (synced to Linear). # External automation labels retained for compatibility. # These are not part of the triage taxonomy but appear in z-shell/.github # and are commonly managed by Dependabot / dependency automation. - name: dependencies - color: '0366d6' + color: "0366d6" description: Pull requests that update a dependency file - name: github_actions - color: '000000' + color: "000000" description: Pull requests that update GitHub Actions code legacy_migrations: From 22e050742ba8ba4e8e8ef3762fedc3e249039385 Mon Sep 17 00:00:00 2001 From: Sall Date: Tue, 21 Jul 2026 17:01:00 +0100 Subject: [PATCH 2/2] chore(labels): add performance to the canonical label set MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Repos carry a local `performance 🚀` label (#006b75) with no canonical equivalent and no legacy_migrations entry, so sync_policy classifies it as an unknown local label: preserved, but never migrated and never created where it is missing. Surfaced while relabelling z-shell/zsh-fancy-completions#47. The migration table resolved every other legacy label on it; this one had nowhere to go. The result was an inconsistency between two related issues — #47 kept the legacy label, while the benchmark issue supporting it carried no performance signal at all, because applying the legacy form to a new issue would reintroduce exactly what the taxonomy exists to remove. Added as a severity/modifier alongside regression, security, and breaking-change. Those mark cross-cutting concerns rather than work types, which is the right shape: performance work can be a bug, a maintenance task, or a feature, and the type: axis already carries that. Colour reuses the #006b75 that repos already apply, so migrating an existing label is visually seamless. .github/lib/labels.yml is deliberately untouched — it is a stale duplicate that the tooling does not read. See #461. Closes #462 --- lib/labels.yml | 4 ++++ runbooks/labels.md | 2 ++ runbooks/triage.md | 1 + 3 files changed, 7 insertions(+) diff --git a/lib/labels.yml b/lib/labels.yml index cca68e166..59c6fe22d 100644 --- a/lib/labels.yml +++ b/lib/labels.yml @@ -76,6 +76,9 @@ labels: - name: security color: ee0701 description: Security-sensitive issue or hardening work. + - name: performance + color: "006b75" + description: Performance-sensitive work or a measured regression in speed or memory. - name: breaking-change color: d93f0b description: Breaks backward compatibility or changes a public contract. @@ -147,6 +150,7 @@ legacy_migrations: help-wanted: help wanted breaking-change 💥: breaking-change security 🛡️: security + performance 🚀: performance invalid ⚠️: invalid sync_policy: diff --git a/runbooks/labels.md b/runbooks/labels.md index 00b2d5ef9..139c5870d 100644 --- a/runbooks/labels.md +++ b/runbooks/labels.md @@ -44,6 +44,7 @@ The org tracker auto-add label is `meta:org-tracked`. - `priority:high` - `regression` - `security` +- `performance` - `breaking-change` - `status:triage` - `status:blocked` @@ -87,6 +88,7 @@ Common legacy labels: | `help-wanted` | `help wanted` | | `breaking-change 💥` | `breaking-change` | | `security 🛡️` | `security` | +| `performance 🚀` | `performance` | | `invalid ⚠️` | `invalid` | Also retire spaced namespace variants such as `type: bug`, `area: docs`, `priority: high`, and `status: triage`. diff --git a/runbooks/triage.md b/runbooks/triage.md index 232df0ca9..7975f8765 100644 --- a/runbooks/triage.md +++ b/runbooks/triage.md @@ -62,6 +62,7 @@ The organization label set in `.github/lib/labels.yml` is the source of truth. A | high priority | `priority:high` | | breaking change | `breaking-change` | | security-sensitive | `security` | +| performance-sensitive | `performance` | | good first issue | `good first issue` | | help wanted | `help wanted` | | invalid | `invalid` |