fix(prompt): prevent immediate BackgroundOutput polling after background task launch
Tool return values contained CTAs ("Use background_output to check") that
caused models to immediately poll instead of waiting for <system-reminder>
notifications. Unified all 5 tool return messages with explicit "Do NOT call
background_output now" guard, added pre-notification warning to BackgroundOutput
tool description, and strengthened Background Result Collection sections across
all 3 Sisyphus prompt variants (default, gpt-5-4, main) with BLOCKING
anti-pattern enforcement.
🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
This commit is contained in:
@@ -251,9 +251,10 @@ result = task(..., run_in_background=false) // Never wait synchronously for exp
|
||||
2. Continue only with non-overlapping work
|
||||
- If you have DIFFERENT independent work \u2192 do it now
|
||||
- Otherwise \u2192 **END YOUR RESPONSE.**
|
||||
3. System sends \`<system-reminder>\` on each task completion - then call \`background_output(task_id="...")\`
|
||||
4. Need results not yet ready? **End your response.** The notification will trigger your next turn.
|
||||
5. Cleanup: Cancel disposable tasks individually via \`background_cancel(taskId="...")\`
|
||||
3. **STOP. END YOUR RESPONSE.** The system will send \`<system-reminder>\` when tasks complete.
|
||||
4. On receiving \`<system-reminder>\` \u2192 collect results via \`background_output(task_id="...")\`
|
||||
5. **NEVER call \`background_output\` before receiving \`<system-reminder>\`.** This is a BLOCKING anti-pattern.
|
||||
6. Cleanup: Cancel disposable tasks individually via \`background_cancel(taskId="...")\`
|
||||
|
||||
${buildAntiDuplicationSection()}
|
||||
|
||||
|
||||
@@ -331,9 +331,10 @@ result = task(..., run_in_background=false) // Never wait synchronously for exp
|
||||
2. Continue only with non-overlapping work
|
||||
- If you have DIFFERENT independent work → do it now
|
||||
- Otherwise → **END YOUR RESPONSE.**
|
||||
3. System sends \`<system-reminder>\` on completion → triggers your next turn
|
||||
4. Collect via \`background_output(task_id="...")\`
|
||||
5. Cleanup: Cancel disposable tasks individually via \`background_cancel(taskId="...")\`
|
||||
3. **STOP. END YOUR RESPONSE.** The system will send \`<system-reminder>\` when tasks complete.
|
||||
4. On receiving \`<system-reminder>\` → collect results via \`background_output(task_id="...")\`
|
||||
5. **NEVER call \`background_output\` before receiving \`<system-reminder>\`.** This is a BLOCKING anti-pattern.
|
||||
6. Cleanup: Cancel disposable tasks individually via \`background_cancel(taskId="...")\`
|
||||
|
||||
${buildAntiDuplicationSection()}
|
||||
|
||||
|
||||
@@ -260,9 +260,10 @@ Background result collection:
|
||||
2. Continue only with non-overlapping work
|
||||
- If you have DIFFERENT independent work → do it now
|
||||
- Otherwise → **END YOUR RESPONSE.**
|
||||
3. System sends \`<system-reminder>\` on completion → triggers your next turn
|
||||
4. Collect via \`background_output(task_id="...")\`
|
||||
5. Cancel disposable tasks individually via \`background_cancel(taskId="...")\`
|
||||
3. **STOP. END YOUR RESPONSE.** The system will send \`<system-reminder>\` when tasks complete.
|
||||
4. On receiving \`<system-reminder>\` → collect results via \`background_output(task_id="...")\`
|
||||
5. **NEVER call \`background_output\` before receiving \`<system-reminder>\`.** This is a BLOCKING anti-pattern.
|
||||
6. Cancel disposable tasks individually via \`background_cancel(taskId="...")\`
|
||||
|
||||
${buildAntiDuplicationSection()}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user