feat: add auto issue triage workflow#1888
Conversation
Add a GitHub Actions workflow and cagent agent config that automatically triages bug reports when labeled `kind/bug`. The agent evaluates if the report has enough info, asks for details if not, or implements a fix and opens a draft PR.
|
/review |
There was a problem hiding this comment.
Review Summary
This PR adds a useful auto-triage workflow for bug reports. The overall approach is sound, but there are a few error handling gaps that could lead to silent failures or poor user experience when things go wrong. The main issues are around handling failed agent steps and push failures without notifying the issue author.
Verdict: COMMENT — See inline comments for details.
Triage workflow: - Add continue-on-error to agent, push, and PR steps - Add fallback notification step so issue authors always get feedback - Parse result marker from last line only (prevents false positives) Nightly scanner: - Always run documentation sub-agent regardless of bug/security findings - Separate issue budgets: 2 bug/security + 1 documentation per run
|
/review |
There was a problem hiding this comment.
Review Summary
I've reviewed this PR that adds an auto-triage workflow for GitHub issues. The workflow is well-designed with proper error handling and safeguards:
✅ Error Handling: The workflow uses continue-on-error: true appropriately to allow graceful degradation. Failed steps are caught by checking step outcomes explicitly (steps.push.outcome == 'failure'), and the notification step correctly notifies on failures.
✅ Logic Flow: The workflow properly validates that actual code changes exist before attempting git operations. The conditional checks prevent empty commits when the agent reports RESULT:FIXED without making changes.
✅ Security: The workflow only triggers on maintainer-applied labels (kind/bug), which mitigates potential prompt injection risks. The elevated permissions are documented and appropriate for the fix+PR path.
✅ Result Parsing: The result marker parsing is robust enough for the defined agent contract. While it strips whitespace, it provides a warning and defaults to safe behavior if parsing fails.
The design shows thoughtful consideration of failure modes and edge cases. No blocking issues found.
|
/review |
|
❌ PR Review Failed — The review agent encountered an error and could not complete the review. View logs. |
yes i know i canceled it |
Auto-review checks org membership, which bots fail. The /review command path (manual-review job) bypasses the org check, so we need to post the comment explicitly. Requires docker/cagent-action#65 to allow the bot.
|
ok! |
Summary
kind/bugissue-triager.yaml) with a root triager agent and fixer sub-agentstatus/needs-infolabelTest plan
kind/buglabel to a test issue — verify workflow triggersRESULT:NEEDS_INFOpath — verify comment posted andstatus/needs-infolabel addedRESULT:FIXEDpath — verify branch created, PR opened, issue commented with PR linkRESULT:NO_CHANGESpath — verify no branch/PR createdCloses: https://github.com/docker/gordon/issues/177