chore(dev-lead): retire the legacy claude issue-trigger label#444
Conversation
dev-lead historically accepted both `dev-lead` and `claude` labels on issues:labeled, with `claude` kept as backward-compat from the retired claude.yml workflow. We are removing the `claude` label org-wide, so the classifier now routes only the `dev-lead` label to the `issue` intent; a `claude`-labeled issue is skipped like any other non-trigger label. - dev-lead-intent.sh: `dev-lead|claude)` → `dev-lead)`. - test_intent_issue.bats: the backward-compat test now asserts `claude` → skip. - spec.md: issue intent triggers on `dev-lead` only. Companion to petry-projects/.github#400, which migrates the compliance audit to create/cycle the `dev-lead` label and ships the one-time runtime migration (re-label existing `claude` issues, then delete the `claude` label). Note: the `@claude` trigger *phrase* (TRIGGER_PHRASES) is unaffected — this change is only about the issue *label*. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Warning Review limit reached
More reviews will be available in 51 minutes and 26 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (3)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Code Review
This pull request retires the legacy claude label, leaving only the dev-lead label to trigger the issue intent. This change is applied across the documentation, the intent-parsing script, and the unit tests. A review comment suggests simplifying the intent label string in scripts/dev-lead-intent.sh to a static string since variable expansion is no longer necessary.
| dev-lead|claude) | ||
| dev-lead) | ||
| context=$(printf '{"issue_number":%s}' "${issue_number:-0}") | ||
| emit_intent "issue" "issue-labeled-${label_name}" "$context" |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
There was a problem hiding this comment.
the variable gives flexiblity, keep as is
|
There was a problem hiding this comment.
Pull request overview
This PR retires the legacy claude issue label trigger for the dev-lead event classifier, aligning runtime behavior, unit tests, and the dev-lead spec with the org-wide shift to dev-lead as the sole issue-label trigger.
Changes:
- Update
dev-lead-intent.shto routeissues:labeledtoissueintent only when the label isdev-lead(all other labels now skip). - Adjust the unit test to assert
claude-labeled issues now produceskip. - Update the dev-lead spec to document
dev-leadas the only issue-label trigger.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| tests/dev-lead/unit/test_intent_issue.bats | Updates backward-compat test to validate claude label now results in skip. |
| scripts/dev-lead-intent.sh | Removes claude from the issues:labeled trigger label set; updates intent documentation comment accordingly. |
| docs/dev-lead/spec.md | Updates spec mapping + intent definition to reflect dev-lead as the sole issue-label trigger. |
| export GITHUB_EVENT_NAME="issues" | ||
| export GITHUB_EVENT_PATH="$FIXTURES_DIR/issues_labeled_claude.json" | ||
|
|
dev-lead historically accepted both `dev-lead` and `claude` labels on issues:labeled, with `claude` kept as backward-compat from the retired claude.yml workflow. We are removing the `claude` label org-wide, so the classifier now routes only the `dev-lead` label to the `issue` intent; a `claude`-labeled issue is skipped like any other non-trigger label. - dev-lead-intent.sh: `dev-lead|claude)` → `dev-lead)`. - test_intent_issue.bats: the backward-compat test now asserts `claude` → skip. - spec.md: issue intent triggers on `dev-lead` only. Companion to petry-projects/.github#400, which migrates the compliance audit to create/cycle the `dev-lead` label and ships the one-time runtime migration (re-label existing `claude` issues, then delete the `claude` label). Note: the `@claude` trigger *phrase* (TRIGGER_PHRASES) is unaffected — this change is only about the issue *label*. Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
dev-lead historically accepted both `dev-lead` and `claude` labels on issues:labeled, with `claude` kept as backward-compat from the retired claude.yml workflow. We are removing the `claude` label org-wide, so the classifier now routes only the `dev-lead` label to the `issue` intent; a `claude`-labeled issue is skipped like any other non-trigger label. - dev-lead-intent.sh: `dev-lead|claude)` → `dev-lead)`. - test_intent_issue.bats: the backward-compat test now asserts `claude` → skip. - spec.md: issue intent triggers on `dev-lead` only. Companion to petry-projects/.github#400, which migrates the compliance audit to create/cycle the `dev-lead` label and ships the one-time runtime migration (re-label existing `claude` issues, then delete the `claude` label). Note: the `@claude` trigger *phrase* (TRIGGER_PHRASES) is unaffected — this change is only about the issue *label*. Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
dev-lead historically accepted both `dev-lead` and `claude` labels on issues:labeled, with `claude` kept as backward-compat from the retired claude.yml workflow. We are removing the `claude` label org-wide, so the classifier now routes only the `dev-lead` label to the `issue` intent; a `claude`-labeled issue is skipped like any other non-trigger label. - dev-lead-intent.sh: `dev-lead|claude)` → `dev-lead)`. - test_intent_issue.bats: the backward-compat test now asserts `claude` → skip. - spec.md: issue intent triggers on `dev-lead` only. Companion to petry-projects/.github#400, which migrates the compliance audit to create/cycle the `dev-lead` label and ships the one-time runtime migration (re-label existing `claude` issues, then delete the `claude` label). Note: the `@claude` trigger *phrase* (TRIGGER_PHRASES) is unaffected — this change is only about the issue *label*. Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
dev-lead historically accepted both `dev-lead` and `claude` labels on issues:labeled, with `claude` kept as backward-compat from the retired claude.yml workflow. We are removing the `claude` label org-wide, so the classifier now routes only the `dev-lead` label to the `issue` intent; a `claude`-labeled issue is skipped like any other non-trigger label. - dev-lead-intent.sh: `dev-lead|claude)` → `dev-lead)`. - test_intent_issue.bats: the backward-compat test now asserts `claude` → skip. - spec.md: issue intent triggers on `dev-lead` only. Companion to petry-projects/.github#400, which migrates the compliance audit to create/cycle the `dev-lead` label and ships the one-time runtime migration (re-label existing `claude` issues, then delete the `claude` label). Note: the `@claude` trigger *phrase* (TRIGGER_PHRASES) is unaffected — this change is only about the issue *label*. Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
dev-lead historically accepted both `dev-lead` and `claude` labels on issues:labeled, with `claude` kept as backward-compat from the retired claude.yml workflow. We are removing the `claude` label org-wide, so the classifier now routes only the `dev-lead` label to the `issue` intent; a `claude`-labeled issue is skipped like any other non-trigger label. - dev-lead-intent.sh: `dev-lead|claude)` → `dev-lead)`. - test_intent_issue.bats: the backward-compat test now asserts `claude` → skip. - spec.md: issue intent triggers on `dev-lead` only. Companion to petry-projects/.github#400, which migrates the compliance audit to create/cycle the `dev-lead` label and ships the one-time runtime migration (re-label existing `claude` issues, then delete the `claude` label). Note: the `@claude` trigger *phrase* (TRIGGER_PHRASES) is unaffected — this change is only about the issue *label*. Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
dev-lead historically accepted both `dev-lead` and `claude` labels on issues:labeled, with `claude` kept as backward-compat from the retired claude.yml workflow. We are removing the `claude` label org-wide, so the classifier now routes only the `dev-lead` label to the `issue` intent; a `claude`-labeled issue is skipped like any other non-trigger label. - dev-lead-intent.sh: `dev-lead|claude)` → `dev-lead)`. - test_intent_issue.bats: the backward-compat test now asserts `claude` → skip. - spec.md: issue intent triggers on `dev-lead` only. Companion to petry-projects/.github#400, which migrates the compliance audit to create/cycle the `dev-lead` label and ships the one-time runtime migration (re-label existing `claude` issues, then delete the `claude` label). Note: the `@claude` trigger *phrase* (TRIGGER_PHRASES) is unaffected — this change is only about the issue *label*. Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
dev-lead historically accepted both `dev-lead` and `claude` labels on issues:labeled, with `claude` kept as backward-compat from the retired claude.yml workflow. We are removing the `claude` label org-wide, so the classifier now routes only the `dev-lead` label to the `issue` intent; a `claude`-labeled issue is skipped like any other non-trigger label. - dev-lead-intent.sh: `dev-lead|claude)` → `dev-lead)`. - test_intent_issue.bats: the backward-compat test now asserts `claude` → skip. - spec.md: issue intent triggers on `dev-lead` only. Companion to petry-projects/.github#400, which migrates the compliance audit to create/cycle the `dev-lead` label and ships the one-time runtime migration (re-label existing `claude` issues, then delete the `claude` label). Note: the `@claude` trigger *phrase* (TRIGGER_PHRASES) is unaffected — this change is only about the issue *label*. Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
dev-lead historically accepted both `dev-lead` and `claude` labels on issues:labeled, with `claude` kept as backward-compat from the retired claude.yml workflow. We are removing the `claude` label org-wide, so the classifier now routes only the `dev-lead` label to the `issue` intent; a `claude`-labeled issue is skipped like any other non-trigger label. - dev-lead-intent.sh: `dev-lead|claude)` → `dev-lead)`. - test_intent_issue.bats: the backward-compat test now asserts `claude` → skip. - spec.md: issue intent triggers on `dev-lead` only. Companion to petry-projects/.github#400, which migrates the compliance audit to create/cycle the `dev-lead` label and ships the one-time runtime migration (re-label existing `claude` issues, then delete the `claude` label). Note: the `@claude` trigger *phrase* (TRIGGER_PHRASES) is unaffected — this change is only about the issue *label*. Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>



Summary
dev-lead historically accepted both
dev-leadandclaudelabels onissues:labeled, withclaudekept as backward-compat from the retiredclaude.ymlworkflow (deprecated 2026-05). We're removing theclaudelabel org-wide, so the classifier now routes only thedev-leadlabel to theissueintent. Aclaude-labeled issue is skipped like any other non-trigger label.Changes
scripts/dev-lead-intent.sh—dev-lead|claude)→dev-lead)(+ comment).tests/dev-lead/unit/test_intent_issue.bats— the backward-compat test now assertsclaude→ skip.docs/dev-lead/spec.md— issue intent triggers ondev-leadonly.Scope notes
@claudetrigger phrase (TRIGGER_PHRASES) is intentionally unaffected — this is about the issue label, not @mentions.docs/dev-lead/implementation-plan.mdis a point-in-time planning doc and is left as a historical record.Companion / ordering
Pairs with petry-projects/.github#400, which migrates the compliance audit to create/cycle the
dev-leadlabel and ships the one-time runtime migration (re-label existing openclaudeissues →dev-lead, then delete theclaudelabel). Recommended order: run the runtime migration (so open issues gaindev-lead) before/with merging this, so no open issue is left only-claudeduring the cutover.Verification
shellcheck -x scripts/dev-lead-intent.shcleanclaude → skiptest).🤖 Generated with Claude Code