chore(labels): add performance to the canonical label set#463
Merged
Conversation
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.
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
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new canonical severity/modifier label (performance) to the org label taxonomy so existing legacy performance 🚀 labels can be migrated consistently and the label can be created across repos during sync.
Changes:
- Add canonical
performancelabel definition tolib/labels.ymland map legacyperformance 🚀vialegacy_migrations. - Update
runbooks/labels.mdto listperformanceamong modifiers and document the legacy migration mapping. - Update
runbooks/triage.mdseverity/modifiers table to includeperformance.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| runbooks/triage.md | Adds performance to the severity/modifiers table for triage guidance. |
| runbooks/labels.md | Documents performance in the canonical modifier set and legacy migration table. |
| lib/labels.yml | Defines the canonical performance label and maps performance 🚀 → performance for migration. |
Comments suppressed due to low confidence (1)
runbooks/labels.md:95
- The runbook’s cleanup steps still direct maintainers to update
.github/lib/labels.yml, butscripts/labels-sync.rbreadslib/labels.yml(seescripts/labels-sync.rb:18). With the newperformancelabel added to the canonical set, these instructions can lead to editing the wrong (stale) file and a silent no-op when running the sync script.
| `performance 🚀` | `performance` |
| `invalid ⚠️` | `invalid` |
Also retire spaced namespace variants such as `type: bug`, `area: docs`, `priority: high`, and `status: triage`.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #462.
Problem
Repos across the org carry a local
performance 🚀label (#006b75) with no canonical equivalent and nolegacy_migrationsentry.sync_policytherefore treats it as an unknown local label: preserved on the issues that have it, but never migrated, and never created in repos that lack it.Surfaced while relabelling z-shell/zsh-fancy-completions#47. The migration table cleanly resolved
bug 🐞,ci 🤖,enhancement ✨, andplugin ⚙️;performance 🚀had nowhere to go. That left two related issues inconsistent — #47 kept the legacy label (correctly preserved), while zsh-fancy-completions#49, the benchmark issue supporting it, carries no performance signal at all, because applying the legacy form to a new issue would reintroduce exactly what the taxonomy exists to remove.Change
Adds
performanceas a severity/modifier, alongsideregression,security, andbreaking-change. Those mark cross-cutting concerns rather than work types, which is the right shape here: performance work can be a bug, a maintenance task, or a feature, and thetype:axis already carries that distinction.Colour reuses the
#006b75repos already apply, so migrating an existing label is visually seamless and a later sync is a no-op.Also updates the two human enumerations that define the canonical set —
runbooks/labels.md(modifiers list and legacy migration table) andrunbooks/triage.md(severity table). A canonical label missing from the canonical-labels runbook is only half-added.Two commits, deliberately
lib/labels.ymlpredates Prettier, so touching it triggers a quote-style rewrite on 8 unrelated lines. PerCLAUDE.md("separate mechanical cleanup from behavioral change") that churn is isolated indbfd9ce, leaving the second commit a clean 7-line addition. Review22e0507for the actual decision..github/lib/labels.ymlis deliberately untouchedThat second copy is a stale duplicate the tooling does not read —
scripts/labels-sync.rbusesDEFAULT_LABELS_FILE = lib/labels.yml. It is missinglegacy_migrations,sync_policy, and the automation labels, and itsmeta:org-trackeddescription still describes the retired GitHub Projects tracker. Adding one label to it would imply it is maintained.Filed separately as #461, including the detail that all 8 documentation references point at the stale copy — so a maintainer who follows the runbook edits a dead file and their change silently does nothing.
Verification
scripts/labels-sync.rb --repo z-shell/zsh-fancy-completionsnow reports, where it previously reported neither:trunk check --filter=prettier,markdownlintclean on all three files.Follow-up
Once merged,
performanceshould be created in z-shell/zsh-fancy-completions and applied to #47 (replacing the legacy label) and #49.🤖 Generated with Claude Code