Skip to content

Ban tool use in every text-only session prompt (closes #528)#529

Merged
FidoCanCode merged 1 commit into
mainfrom
fix-tool-ban-all-session-prompts
Apr 15, 2026
Merged

Ban tool use in every text-only session prompt (closes #528)#529
FidoCanCode merged 1 commit into
mainfrom
fix-tool-ban-all-session-prompts

Conversation

@FidoCanCode
Copy link
Copy Markdown
Owner

Summary

  • Adds prompts.NO_TOOLS_CLAUSE constant and prepends it to every text-only session prompt: triage_prompt, status_system_prompt, rescope_prompt, needs_more_context, _summarize_as_action_item (both initial + shorten-loop).
  • Extends the same fix pattern from Strip tools from webhook reply-gen + fair preempt yield + more color #517 (which only banned tools in reply prompts) to the rest of the session-nudge prompts.

Symptom: rhencke/orly PR #32 "Fix CI? " comment got no fido reply for minutes because the triage classifier fired Bash calls to investigate the linked CI run instead of returning a category. Holds the session lock while opus grinds.

Test plan

  • 1844 tests, 100% coverage, ruff + pyright clean (pre-commit hook)
  • After merge: triage / status / rescope turns return in seconds, no Bash/Read/Edit calls in the kennel log inside those windows

Closes #528.

Extend the no-tools clause from #517 (reply prompts) to every other prompt
that runs through session.prompt(): triage classifier, needs_more_context
haiku check, summarize-as-action-item, status nudge, rescope/reorder.

Symptom: rhencke/orly PR #32 'Fix CI? <link>' comment got no fido reply
for minutes because the triage classifier opened a Bash shell to
investigate the linked failing CI run instead of just returning a category.
Same pattern across all the other text-only prompts — opus sees a
directive-shaped request and decides to do real work, holding the session
lock and starving the worker.

Adds prompts.NO_TOOLS_CLAUSE constant; prepends it to every classifier/
summarizer/status/rescope prompt.
@FidoCanCode FidoCanCode requested a review from rhencke April 15, 2026 02:32
@FidoCanCode FidoCanCode merged commit d05cfda into main Apr 15, 2026
3 checks passed
@FidoCanCode FidoCanCode deleted the fix-tool-ban-all-session-prompts branch April 15, 2026 02:34
FidoCanCode added a commit that referenced this pull request Apr 15, 2026
Main added NO_TOOLS_CLAUSE to triage, rescope, needs_more_context,
and summarize prompts (#528/#529). Resolved conflicts by keeping our
injectable collaborator pattern while adopting the tool-ban prefixes
in the Prompts class methods. Woof!
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.

Triage/summarize/status prompts must also ban tool use — classifier is actively investigating CI instead of just classifying

2 participants