From 1012d2a13f71cc6d93d8800490a2f66c0cd73aa5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Feb 2026 11:47:02 +0000 Subject: [PATCH 1/2] Initial plan From f89bffe2141657bbc75b63b2f662e0cf6b59d80e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Feb 2026 12:04:28 +0000 Subject: [PATCH 2/2] Add mandatory noop tool call when no issues assigned Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- .github/workflows/issue-monster.md | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/workflows/issue-monster.md b/.github/workflows/issue-monster.md index c76636de20..51860018dd 100644 --- a/.github/workflows/issue-monster.md +++ b/.github/workflows/issue-monster.md @@ -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=, 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 + +**CRITICAL**: You MUST call at least one safe output tool every run. If you don't assign any issues, you MUST call the `noop` tool to explain why. Never complete a run without making at least one tool call. Remember: You're the Issue Monster! Stay hungry, work methodically, and let Copilot do the heavy lifting! 🍪 Om nom nom!