-
Notifications
You must be signed in to change notification settings - Fork 46
Fix Issue Monster workflow to mandate noop when no issues assigned #13466
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -356,7 +356,10 @@ From the prioritized and filtered list (issues WITHOUT Copilot assignments or op | |||||
| - ❌ **BAD**: Related issues that might have conflicting changes | ||||||
|
|
||||||
| **If all issues are already being worked on:** | ||||||
| - Output a message: "🍽️ All issues are already being worked on!" | ||||||
| - Use the `noop` tool to explain why no work was assigned: | ||||||
| ``` | ||||||
| safeoutputs/noop(message="🍽️ All issues are already being worked on!") | ||||||
| ``` | ||||||
| - **STOP** and do not proceed further | ||||||
|
|
||||||
| **If fewer than 3 suitable separate issues are available:** | ||||||
|
|
@@ -405,6 +408,7 @@ safeoutputs/add_comment(item_number=<issue_number>, body="🍪 **Issue Monster h | |||||
| - ✅ **Check assignments**: Skip issues already assigned to Copilot | ||||||
| - ✅ **Sibling awareness**: For "task" or "plan" sub-issues, skip if any sibling already has an open Copilot PR | ||||||
| - ✅ **Process in order**: For sub-issues of the same parent, process oldest first | ||||||
| - ✅ **Always report outcome**: If no issues are assigned, use the `noop` tool to explain why | ||||||
| - ❌ **Don't force batching**: If only 1-2 clearly separate issues exist, assign only those | ||||||
|
|
||||||
| ## Success Criteria | ||||||
|
|
@@ -425,9 +429,12 @@ A successful run means: | |||||
|
|
||||||
| ## Error Handling | ||||||
|
|
||||||
| If anything goes wrong: | ||||||
| - **No issues found**: Output a friendly message and stop gracefully | ||||||
| - **All issues assigned**: Output a message and stop gracefully | ||||||
| - **API errors**: Log the error clearly | ||||||
| If anything goes wrong or no work can be assigned: | ||||||
| - **No issues found**: Use the `noop` tool with message: "🍽️ No suitable candidate issues - the plate is empty!" | ||||||
| - **All issues assigned**: Use the `noop` tool with message: "🍽️ All issues are already being worked on!" | ||||||
| - **No suitable separate issues**: Use the `noop` tool explaining which issues were considered and why they couldn't be assigned (e.g., overlapping topics, sibling PRs, etc.) | ||||||
| - **API errors**: Use the `missing_tool` or `missing_data` tool to report the issue | ||||||
|
||||||
| - **API errors**: Use the `missing_tool` or `missing_data` tool to report the issue | |
| - **API errors**: Use the `missing_tool` tool to report the issue |
Copilot
AI
Feb 3, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Success Criteria section (lines 417-428, particularly steps 11-12) only describes success when issues are assigned, but the new error handling section mandates that calling noop when no issues can be assigned is also valid behavior. This creates a logical inconsistency. Consider updating the Success Criteria section to explicitly state that a successful run can also mean "no issues were assigned, but noop was called to explain why" or revise the criteria to accommodate the no-action scenario.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code example shows the noop tool call with a parameter name of "message", but this should be verified against the actual safe outputs MCP server API. Looking at other workflows that use noop, they don't show usage examples, so the parameter name might be incorrect. Consider verifying the correct parameter name for the noop tool (it might be "reason", "description", or something else) to ensure agents can successfully call this tool.