Skip to content

feat(issues): add orthogonal area labels for triage - #830

Merged
Wibias merged 5 commits into
lidge-jun:devfrom
Wibias:feat/issue-area-labels
Aug 1, 2026
Merged

feat(issues): add orthogonal area labels for triage#830
Wibias merged 5 commits into
lidge-jun:devfrom
Wibias:feat/issue-area-labels

Conversation

@Wibias

@Wibias Wibias commented Aug 1, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add orthogonal issue area labels (provider, account-pool, catalog, gui, cli, proxy, platform, streaming, tools, install, service) beside existing kind/process labels.
  • Map bug/feature template Area dropdowns (plus light title/body heuristics) in issue-quality.cjs; wire additive apply + label-ensure into enforce-issue-quality.yml.
  • Provider-compat form seeds provider; workflow_dispatch backfill_open_areas relabels open issues only (no quality closure). Documented in contributing.

Test plan

  • node --test .github/scripts/issue-quality.test.cjs (101 pass)
  • Workflow YAML parses
  • After merge to main: create/ensure labels, run workflow_dispatch with backfill_open_areas=true, spot-check open issues
  • Security review on this PR (.github/ automation)

Summary by CodeRabbit

  • New Features

    • Expanded bug report and feature request forms with product-area options for Catalog/models, streaming, Tools/MCP/web search, and supported operating systems.
    • Added automatic detection and application of relevant area labels to issues.
    • Added support for backfilling area labels on existing open issues.
    • Provider compatibility reports now receive the provider label automatically.
  • Documentation

    • Documented issue validation, labeling rules, area selection, and label backfilling procedures.

Map template Area fields and light heuristics to additive labels
(provider, account-pool, catalog, gui, cli, proxy, platform, streaming,
tools, install, service) beside existing kind/process labels, with open
issue backfill via workflow_dispatch.
@github-actions github-actions Bot added the enhancement New feature or request label Aug 1, 2026
@coderabbitai

This comment was marked as outdated.

Prefer title-scoped matches for platform/gui/cli and stronger full-body
tokens so Environment OS fields do not blanket-label every bug report.
@Wibias

Wibias commented Aug 1, 2026

Copy link
Copy Markdown
Collaborator Author

[shipping-github] Security review

PR / issue: #830 @ 526aa03a
Decision: Pass
Risk: Low

Findings

none confirmed

Summary

Reviewed the issue-quality automation diff: Actions stay pinned to full SHAs, scripts still load only from the repository default branch, and workflow_dispatch still rejects non-default refs before any issues:write work. Area labels are chosen from an allowlist (AREA_LABELS + documentation); issue title/body text cannot invent arbitrary labels. Making issue_number optional only enables the separate open-issue area backfill job, which does not run quality closure.

Residual

  • Area labeling and backfill_open_areas become live for issue events only after this workflow is on main (default-branch load). Open issues were backfilled out-of-band with the same detector.

Fixes this session

  • 526aa03a — tightened heuristics so template Environment OS fields do not over-apply platform / related labels

chatgpt-codex-connector[bot]

This comment was marked as resolved.

coderabbitai[bot]

This comment was marked as resolved.

Omit Documentation Area→kind collision, restrict heuristics to semantic
sections, feed translation text into area detection, and update the
issue-quality workflow invariant test for the backfill guard.

@coderabbitai coderabbitai 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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/scripts/issue-quality.cjs:
- Around line 495-513: Update the validate job in
.github/workflows/enforce-issue-quality.yml at lines 943-947 and 1226-1230 to
depend on translate via needs: translate, ensuring validation runs after
translation completes. No direct change is needed in detectAreaLabels within
.github/scripts/issue-quality.cjs; continue using the live issue.title and
existing heuristicBody flow without adding translatedTitle.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 24a4c61b-365f-4ef6-a15b-c821daff17d2

📥 Commits

Reviewing files that changed from the base of the PR and between 526aa03 and 20401d3.

📒 Files selected for processing (5)
  • .github/scripts/issue-quality.cjs
  • .github/scripts/issue-quality.test.cjs
  • .github/workflows/enforce-issue-quality.yml
  • docs-site/src/content/docs/contributing.md
  • tests/ci-workflows.test.ts

Comment thread .github/scripts/issue-quality.cjs
Wibias added 2 commits August 1, 2026 05:50
Fix streaming truncat stem matching, only addLabels for labels ensureLabel
confirmed available, and document issues:write on the backfill job.
Add needs: translate so area labeling can read the inline English
translation block on the same issue event, while still running validate
when translate is skipped or fails.
@Wibias

Wibias commented Aug 1, 2026

Copy link
Copy Markdown
Collaborator Author

[shipping-github] Fixed (job ordering)

Agreed — heuristicBody alone does not fix the race. validate now has needs: translate and runs with always() && needs.translate.result != 'cancelled', so it reads the issue after translation when translation ran, while still enforcing quality if translate was skipped or failed.

Landed in cc0ac777.

@Wibias

Wibias commented Aug 1, 2026

Copy link
Copy Markdown
Collaborator Author

Merging this.

Why it helps: open issues can now be filtered by orthogonal area labels (provider, account-pool, catalog, gui, cli, proxy, platform, streaming, tools, install, service) without collapsing bug/enhancement. Templates map the Area dropdown into those labels, enforce-issue-quality applies them additively (with validate waiting on translate so English translation text is available for heuristics), and open issues were already backfilled. Live auto-labeling on new issues still needs this workflow on main.

Ship it.

@Wibias
Wibias merged commit f182f08 into lidge-jun:dev Aug 1, 2026
11 checks passed
@Wibias
Wibias deleted the feat/issue-area-labels branch August 1, 2026 09:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant