Skip to content

Add LLM issue auto-triage: type and high-severity labelers#584

Merged
tejaskash merged 2 commits into
mainfrom
issue-auto-triage
Jul 21, 2026
Merged

Add LLM issue auto-triage: type and high-severity labelers#584
tejaskash merged 2 commits into
mainfrom
issue-auto-triage

Conversation

@jesseturner21

Copy link
Copy Markdown
Contributor

What

Adds automatic issue triage on issues: opened using strands-agents/devtools/issue-labeler (the same setup strands-agents runs on their SDK repos), pinned by commit SHA.

Two parallel jobs:

  • Type (.github/labelers/type.yml): applies exactly one of bug / enhancement / question.
  • Severity (.github/labelers/severity.yml): applies high-severity or nothing. Criteria are deliberately conservative — production outage, data loss, security vulnerability, crash with no workaround, or regression in a released version, and only with concrete evidence. Feature requests, usage questions, and vague reports never qualify. Body truncation is raised to 4000 chars for this job so stack traces/repro steps are visible to the classifier.

The high-severity label has been created on the repo.

Security model

The classifier LLM has no tools, no shell, and no GitHub access. It returns a structured object whose label field is an enum built from the config allowlist, so out-of-allowlist labels are rejected by the schema. Issue content is sanitized and truncated before reaching Bedrock. IAM is scoped to bedrock:InvokeModel* via an inline session policy; the workflow needs only issues: write. Worst case from prompt injection in an issue body is a mislabel.

Notes for reviewers

  • Reuses secrets.BEDROCK_SECURITY_REVIEW_ROLE_ARN (same OIDC role as the PR security review). If that role's trust policy pins the sub claim to pull-request refs, it will reject issues-triggered runs — needs a check before merge, or a dedicated minimal role.
  • The action is pinned to 5e50593 (strands devtools main as of 2026-07-17); bump deliberately.
  • Possible follow-up: Slack notification when high-severity lands, via the existing github-slack-notifications.yml webhook.

Uses strands-agents/devtools/issue-labeler (pinned by SHA) on new issues.
Two parallel jobs: type (bug/enhancement/question, max 1) and severity
(high-severity or nothing, conservative criteria). The model has no tools
or GitHub access; labels are schema-constrained to the config allowlist.
@jesseturner21
jesseturner21 requested a review from a team July 21, 2026 02:37
@agentcore-devx-automation agentcore-devx-automation Bot added the claude-security-reviewing Claude Code /security-review in progress label Jul 21, 2026
@agentcore-devx-automation

Copy link
Copy Markdown
Contributor

Claude Security Review: no high-confidence findings. (run)

@agentcore-devx-automation agentcore-devx-automation Bot removed the claude-security-reviewing Claude Code /security-review in progress label Jul 21, 2026
Dry-run against real issues showed ~36% of bug reports flagged, largely
because detailed reports of narrow-path crashes matched the crash
criterion. Add a blast-radius test: the failure must hit a core path a
typical production user would exercise; crashes confined to optional
third-party integrations with specific feature combinations are ordinary
bugs. Verified on 14 real issues: flags import-breaking regression (#496),
silent data loss (#564), microVM reaping (#471); no longer flags
narrow Strands-integration crashes (#556, #583).
@agentcore-devx-automation agentcore-devx-automation Bot added the claude-security-reviewing Claude Code /security-review in progress label Jul 21, 2026
@agentcore-devx-automation

Copy link
Copy Markdown
Contributor

Claude Security Review: no high-confidence findings. (run)

@agentcore-devx-automation agentcore-devx-automation Bot removed the claude-security-reviewing Claude Code /security-review in progress label Jul 21, 2026

@tejaskash tejaskash left a comment

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.

Looks good, but not sure why we're pinning the strands reviewer to a certain commit.

Comment thread .github/workflows/issue-auto-triage.yml
Comment thread .github/workflows/issue-auto-triage.yml
@tejaskash
tejaskash enabled auto-merge (squash) July 21, 2026 18:39
@tejaskash
tejaskash merged commit 3000d50 into main Jul 21, 2026
32 of 33 checks passed
@tejaskash
tejaskash deleted the issue-auto-triage branch July 21, 2026 18:39
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.

2 participants