Skip to content

feat(skills): extract issue and PR labeling - #5355

Draft
purp wants to merge 25 commits into
NVIDIA:mainfrom
purp:feat/5276-extract-label-issue/purp
Draft

purp wants to merge 25 commits into
NVIDIA:mainfrom
purp:feat/5276-extract-label-issue/purp

Conversation

@purp

@purp purp commented Nov 7, 2026

Copy link
Copy Markdown
Collaborator

Summary

Extract /label-issue and an importable deterministic helper so accepted issues and PRs receive content-derived area/topic classifications. Reconcile obsolete, malformed, inaccurate and incomplete associations while preserving unrelated labels and human dispositions.

Related Issue

Closes #5353. The issue has no explicit state:accepted label; it is implicitly accepted through maintainer authorship. Delivers Part 2 of #5276; this does not close the multi-part tracker. Automatic invocation remains Part 3.

Depends on #5260. This draft targets main because the parent branch exists only in the contributor fork, so parent commits temporarily appear in its diff. Review the extraction changes alone.

Changes

  • Prepare bounded, expandable evidence and require exactly one area plus substantively supported topics. Existing labels are reconciliation state, not content evidence.
  • Share label reconciliation with triage while preserving assessment judgment, triage comments, and caller-specific per-write confirmations. The labeler posts no comments; ambiguity stays in its local report.
  • Preview exact phased requests, independently verify replacement additions before removals, and revalidate substantive evidence; verify completion against independent reads and exact label-event transcripts. Native label-event metadata supports model-free unchanged skips and explicit partial-failure recovery.
  • Preserve the design and implementation plan in docs/superpowers/. No acceptance-event workflow, PR-comment dispatcher, or provider runtime is introduced here.

The helper currently supports POSIX hosts and requires one coordinated executor per item. Local locking and optimistic checks do not provide cross-host serialization or atomic GitHub mutations.

Canonical label preparation remains a prerequisite: read-only previews stop on missing live topic:dx. No-addition checkpoint paths also require the separately provisioned, approved meta:labeler-checkpoint definition. This PR creates neither label and does not apply classifications to the backlog.

Release Notes

Testing

  • 254 focused Python tests, including shared acceptance and review-readiness regressions.
  • 19 JavaScript issue-acceptance tests.
  • SPDX check (1,442 files), structural skill metadata/inventory/link/JSON checks, and git diff --check.
  • Read-only preparations/classifications/previews for feat: extract shared issue and PR labeling skill #5353, feat(review): automatically label new PRs for accepted work #5260 and chore: prepare area and topic labels for migration #5151. All previews reported the missing canonical-label prerequisite; no live labels, metadata or comments were written.
  • Observed classifier controls and guided trials, including five eight-case regression runs, ambiguity, legacy migration, targeted context, substantive testing, and triage delegation. These are small observed samples, not a general accuracy benchmark.
  • Full Python discovery blocked by four existing-module import errors because PyYAML/pytest are absent (check_docs_nav_test, codex_security_diagnostics_test, codex_security_range_test, sync_docs_website_test).
  • Ruff, Markdownlint and public-skill discovery: tools/dependencies unavailable; network acquisition failed. Structural checks do not substitute for these unrun checks.

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)
  • Design and contributor guidance updated

purp added 25 commits November 4, 2026 16:59
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented Nov 7, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

This branch has not been deployed

No deployments
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.

feat: extract shared issue and PR labeling skill

1 participant