Skip to content

feat(labels): estate label tooling + auto-triage for new issues - #676

Merged
hyperpolymath merged 1 commit into
mainfrom
automated/label-tooling
Aug 28, 2026
Merged

feat(labels): estate label tooling + auto-triage for new issues#676
hyperpolymath merged 1 commit into
mainfrom
automated/label-tooling

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Ships the canonical label set and the classifier that labels newly-filed issues. Additive only: it never removes a label, never overrides a human's classification, stays silent when unsure, and never fails an issue.

Also adds this repo's two new workflows to .github/workflows/actions.lock as '[]'. That lock is keyed by workflow path and refuses any workflow it does not list -- a startup_failure, which produces no check run and is therefore silent. gh actions-lock cannot add these: it records action versions, and both workflows deliberately use no actions.

Summary

Closes #

Type of change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 💥 Breaking change (would change existing behaviour)
  • 🕳️ Soundness fix (fixes a checker/proof false-negative)
  • 📖 Documentation
  • 🧹 Refactor / tech debt (behaviour-preserving)
  • ⚡ Performance
  • 🔧 Build / CI / tooling

How has this been verified?

Checklist

  • My commits are signed (git commit -S).
  • I ran the project's own checks/tests locally and they pass.
  • New files carry the correct SPDX-License-Identifier (code/config MPL-2.0,
    prose CC-BY-SA-4.0); I did not relicense existing files.
  • Docs are updated, and no public claim now overstates what the code does.
  • I have not introduced a soundness hole (or I have flagged where I might have).

Notes for reviewers

@coderabbitai

coderabbitai Bot commented Aug 27, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 72839c86-3e27-4665-8ace-aaf4cdff28ab

📥 Commits

Reviewing files that changed from the base of the PR and between 266440f and 2862de9.

📒 Files selected for processing (2)
  • .github/workflows/label-triage.yml
  • .github/workflows/labels.yml

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.

📜 Recent review details
🔇 Additional comments (2)
.github/workflows/labels.yml (1)

39-45: LGTM!

Also applies to: 56-56, 68-105

.github/workflows/label-triage.yml (1)

106-114: LGTM!


📝 Walkthrough

Summary by CodeRabbit

  • New Features

    • Improved automatic classification of changes into documentation, testing and performance categories.
    • Added recognition for property-based testing, test suites and Proptest-related terms.
  • Bug Fixes

    • Improved label synchronisation by creating missing standard labels automatically.
    • Existing protected labels are preserved while other labels continue to update as needed.
    • Improved handling of labels containing spaces.
    • Synchronisation now reports mutation failures more clearly and avoids failing for isolated transient errors.

Walkthrough

The classifier expands documentation and testing keywords. The label synchronisation workflow targets the repository explicitly, creates missing labels, reports mutation failures, and handles frozen labels. The triage workflow preserves label names that contain spaces.

Changes

Label management

Layer / File(s) Summary
Keyword classification updates
.github/label-classifier.json
The classifier retains performance keywords. It expands documentation keywords and adds property-based, test suite, and proptest to testing keywords.
Canonical label synchronisation
.github/workflows/labels.yml
The workflow sets GH_REPO, creates missing labels before frozen-label checks, tracks mutation failures, and updates the final exit condition.
Issue label argument handling
.github/workflows/label-triage.yml
The workflow builds quoted --add-label arguments in a shell array so labels containing spaces remain single arguments.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Merge Risk: ⚪ Minimal · up to 2862d

This change adds label tooling and issue triage workflows without any supplied merge-blocking risk; no actionable merge-blocking risk remains beyond normal checks and review.

Suggested reviewers: joshuajewell

Poem

A rabbit sorts the labels with care,
New testing words hop everywhere.
Docs gain terms both clear and bright,
Frozen tags keep their quiet right,
And spaced names travel whole and fair.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description check ✅ Passed The description clearly covers the canonical label set, automatic issue triage, additive-only behaviour, and workflow lock registration. It is directly related to the changeset.
Title check ✅ Passed The title clearly identifies the main changes: label tooling and automatic triage for new issues. It is concise and specific.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (2 skipped: 2 unsupported.)


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.

@gitar-bot

gitar-bot Bot commented Aug 27, 2026

Copy link
Copy Markdown

Important

You are using the Gitar free plan. Upgrade to unlock code review, CI analysis, auto-apply, custom automations, and more.

Gitar

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

AI Reviewer: first review requested successfully. AI can make mistakes. Always validate suggestions.

Run reviewer

TIP This summary will be updated as you push new changes.

coderabbitai[bot]
coderabbitai Bot previously approved these changes Aug 27, 2026
Ships the canonical label set and the classifier that labels newly-filed
issues. Additive only: it never removes a label, never overrides a human's
classification, stays silent when unsure, and never fails an issue.

Also adds this repo's two new workflows to .github/workflows/actions.lock as
'[]'. That lock is keyed by workflow path and refuses any workflow it does not
list -- a startup_failure, which produces no check run and is therefore silent.
`gh actions-lock` cannot add these: it records action versions, and both
workflows deliberately use no actions.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath merged commit 18d883b into main Aug 28, 2026
44 of 46 checks passed
@hyperpolymath
hyperpolymath deleted the automated/label-tooling branch August 28, 2026 00:00
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