Skip to content

fix(labels): reconcile canonical label families#418

Merged
ashleyshaw merged 11 commits into
developfrom
codex/issue-95-label-orphan-audit
May 27, 2026
Merged

fix(labels): reconcile canonical label families#418
ashleyshaw merged 11 commits into
developfrom
codex/issue-95-label-orphan-audit

Conversation

@ashleyshaw
Copy link
Copy Markdown
Member

@ashleyshaw ashleyshaw commented May 27, 2026

Summary

  • Adds a live 🏷️ Orphan Labels Detected (30) #95 orphan-label reconciliation report under .github/reports/audits/.
  • Adds docs/MIGRATION.md as the central contributor-facing migration map for legacy label mappings and maintainer-decision labels.
  • Updates canonical label governance so all labels in .github/labels.yml use approved family prefixes.
  • Replaces unprefixed question and support with type:question and type:support, and adds both to .github/issue-types.yml.
  • Adds area:labels plus useful labeler rules for label governance, dependencies, security, accessibility, and language routing.
  • Updates issue-label/type docs, the docs index, and the help issue template to use canonical prefixed labels.

Live GitHub Label Sync

  • Ran create/update-only sync against lightspeedwp/.github.
  • Created/reconciled the missing canonical labels so GitHub now has 0 missing canonical labels.
  • Migrated clear active legacy labels on open issues/PRs to canonical equivalents.
  • Did not delete historical or ambiguous orphan labels.

Current live state after sync/migration:

  • Repository labels on GitHub: 179
  • Canonical labels in .github/labels.yml: 149
  • Canonical labels missing from GitHub: 0
  • Repository labels missing from canonical config: 30

Remaining Maintainer Decisions

The remaining active ambiguous labels are bats, checklist, cross-reference, governance, onboarding, path-resolution, quickstart, and standards. These need maintainer approval before migration, canonicalisation, archival, or deletion. The decision list now lives in docs/MIGRATION.md.

Validation

  • node scripts/agents/includes/check-template-labels.js
  • canonical label family-prefix check via local Node script
  • npx markdownlint-cli2 .github/ISSUE_TEMPLATE/25-help.md docs/ISSUE_LABELS.md docs/ISSUE_TYPES.md .github/reports/audits/issue-95-orphan-labels-audit-2026-05-27.md
  • npx markdownlint-cli2 docs/MIGRATION.md docs/README.md .github/reports/audits/issue-95-orphan-labels-audit-2026-05-27.md
  • git diff --check

Notes

Refs #95. This remains intentionally non-destructive for ambiguous/historical labels.

Summary by CodeRabbit

  • New Features

    • Introduced "Question" and "Support" issue types for improved issue organization.
    • Enhanced label system with standardized prefix format and alias support.
  • Documentation

    • Added comprehensive GitHub issue label migration guide.
    • Updated issue labels and types documentation with current canonical references.
  • Chores

    • Optimized GitHub workflow configurations for labeling and validation processes.

Review Change Stack

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 27, 2026

Caution

Review failed

The pull request is closed.

Note

.coderabbit.yml has unrecognized properties

CodeRabbit is using all valid settings from your configuration. Unrecognized properties (listed below) have been ignored and may indicate typos or deprecated fields that can be removed.

⚠️ Parsing warnings (1)
Validation error: Unrecognized keys: "auto_labels", "auto_assign", "auto_review"
⚙️ Configuration instructions
  • Please see the configuration documentation for more information.
  • You can also validate your configuration using the online YAML validator.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: dc4c867f-8e0b-4a79-9ba3-042d6d51bb76

📥 Commits

Reviewing files that changed from the base of the PR and between 1ccda5e and a54e9dc.

📒 Files selected for processing (12)
  • .github/ISSUE_TEMPLATE/25-help.md
  • .github/issue-types.yml
  • .github/labeler.yml
  • .github/labels.yml
  • .github/reports/audits/issue-95-orphan-labels-audit-2026-05-27.md
  • .github/workflows/changelog-validate.yml
  • .github/workflows/labeling.yml
  • .github/workflows/meta.yml
  • docs/ISSUE_LABELS.md
  • docs/ISSUE_TYPES.md
  • docs/MIGRATION.md
  • docs/README.md

📝 Walkthrough

Walkthrough

This PR standardizes GitHub issue labeling by introducing new Question and Support issue types with type:* prefixed labels, defining canonical label storage in .github/labels.yml with backward-compatible aliases, updating automated labeling rules for branch and file matching, improving workflow validation and link checking, and adding comprehensive migration documentation with an orphan-labels audit.

Changes

Label Infrastructure Unification

Layer / File(s) Summary
New Issue Types and Template Configuration
.github/issue-types.yml, .github/ISSUE_TEMPLATE/25-help.md
Adds Question and Support as new issue types with colors and type:* labels; updates help template to use prefixed labels (type:question, type:support).
Canonical Labels Definition with Aliases
.github/labels.yml
Establishes canonical label registry with new type:question, type:support, and area:labels; adds backward-compatible aliases to existing type/area/language labels so legacy unprefixed names are recognized.
Automated Labeling Rules for Branches and Files
.github/labeler.yml
Extends automated labeling with branch patterns for status:needs-review, introduces type:build for CI branches, consolidates type:chore handling, expands area mappings for labels/dependencies/security/a11y, and adds language detection for markdown/json/yaml.
Workflow Enhancements for Validation and Link Checking
.github/workflows/labeling.yml, .github/workflows/changelog-validate.yml, .github/workflows/meta.yml
Disables actions/labeler due to schema incompatibility and delegates to agent-based labeling; gates changelog validation on meta:no-changelog label; refactors link checking to scan only changed markdown files instead of all files.
Migration Guide and Updated Documentation
docs/MIGRATION.md, docs/ISSUE_TYPES.md, docs/ISSUE_LABELS.md, docs/README.md
Introduces comprehensive migration guide with legacy-to-canonical mappings and governance rules; updates issue type and label guidance docs; indexes migration resources in documentation.
Orphan Labels Audit Report
.github/reports/audits/issue-95-orphan-labels-audit-2026-05-27.md
Documents label audit findings including reconciliation metrics, completed migrations, pending decisions, and recommended cleanup paths.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related issues

  • #419: Directly related—disables actions/labeler in this PR (citing schema incompatibility) while issue #419 aims to make the labeler schema-compatible to re-enable it.
  • #95: Both changes address the same orphan-labels governance issue—the PR implements the label structure and audit referenced in #95.

Suggested labels

documentation

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/issue-95-label-orphan-audit

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@ashleyshaw ashleyshaw added type:documentation Documentation area:labels Label governance and routing status:needs-review Awaiting code review labels May 27, 2026 — with ChatGPT Codex Connector
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request adds a new audit report documenting the reconciliation of repository labels against the canonical configuration. The reviewer noted that the proposed legacy-to-canonical label mappings should be documented in a central /docs/MIGRATION.md file to align with repository standards.

Comment on lines +95 to +98
2. Migrate actively used legacy labels to canonical equivalents where the mapping
is clear, for example `bug` to `type:bug`, `documentation` to
`type:documentation`, `security` to `type:security`, and `ci` to `area:ci`
or `type:build` depending on context.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

The proposed migration path lists several legacy-to-canonical label mappings (e.g., 'bug' to 'type:bug', 'documentation' to 'type:documentation'). According to the repository's general rules, all migration maps and notes should be documented in a central '/docs/MIGRATION.md' file to ensure contributors can easily follow them. Please add these mappings to '/docs/MIGRATION.md' or reference it here.

References
  1. Document migration maps and notes in a central /docs/MIGRATION.md file to ensure contributors can follow migration rules mentioned in README files across the repository.

@github-actions
Copy link
Copy Markdown
Contributor

🔍 Reviewer Summary for PR #418

CI Status:success
Files changed: 1

Recommendations

  • Ready to proceed pending human review

@github-actions
Copy link
Copy Markdown
Contributor

🔍 Reviewer Summary for PR #418

CI Status:success
Files changed: 7

Recommendations

  • Ready to proceed pending human review

@ashleyshaw ashleyshaw changed the title docs(labels): audit orphan label drift fix(labels): reconcile canonical label families May 27, 2026
Signed-off-by: Ash Shaw <ashley@lightspeedwp.agency>
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Reviewer Summary for PR #418

CI Status:success
Files changed: 8

Recommendations

  • Ready to proceed pending human review

1 similar comment
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Reviewer Summary for PR #418

CI Status:success
Files changed: 8

Recommendations

  • Ready to proceed pending human review

@github-actions
Copy link
Copy Markdown
Contributor

🔍 Reviewer Summary for PR #418

CI Status:success
Files changed: 8

Recommendations

  • Ready to proceed pending human review

@github-actions
Copy link
Copy Markdown
Contributor

🔍 Reviewer Summary for PR #418

CI Status:success
Files changed: 9

Recommendations

  • Ready to proceed pending human review

@ashleyshaw ashleyshaw added the meta:no-changelog No changelog needed label May 27, 2026
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Reviewer Summary for PR #418

CI Status:success
Files changed: 11

Recommendations

  • Ready to proceed pending human review

@github-actions github-actions Bot added the priority:normal Default priority label May 27, 2026
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Reviewer Summary for PR #418

CI Status:success
Files changed: 12

Recommendations

  • Ready to proceed pending human review

@github-actions
Copy link
Copy Markdown
Contributor

🔍 Reviewer Summary for PR #418

CI Status:success
Files changed: 12

Recommendations

  • Ready to proceed pending human review

@github-actions
Copy link
Copy Markdown
Contributor

🔍 Reviewer Summary for PR #418

CI Status:success
Files changed: 27

Recommendations

  • Ready to proceed pending human review

@github-actions
Copy link
Copy Markdown
Contributor

🔍 Reviewer Summary for PR #418

CI Status:success
Files changed: 12

Recommendations

  • Ready to proceed pending human review

@ashleyshaw ashleyshaw marked this pull request as ready for review May 27, 2026 11:13
@ashleyshaw ashleyshaw merged commit b72a7d8 into develop May 27, 2026
12 checks passed
@ashleyshaw ashleyshaw deleted the codex/issue-95-label-orphan-audit branch May 27, 2026 11:13
@ashleyshaw ashleyshaw self-assigned this May 27, 2026
@ashleyshaw ashleyshaw removed the meta:no-changelog No changelog needed label May 28, 2026
@github-actions github-actions Bot added the meta:needs-changelog Requires a changelog entry before merge label May 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:labels Label governance and routing meta:needs-changelog Requires a changelog entry before merge priority:normal Default priority status:needs-review Awaiting code review type:documentation Documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant