Files
ironclaw/crates
firat.sertgoz b5ba7496f0 fix(engine): enforce tool use for stop/pause/cancel commands (#2814)
* fix(engine): enforce tool use for stop/pause/cancel commands (#2808)

The LLM was narrating about calling mission_pause/mission_list instead of
actually executing them because neither the tool-intent nudge nor the
execution obligation recognized stop/pause/cancel as action commands.

- Add stop/pause/cancel/halt/disable to signals_tool_intent ACTION_VERBS
  so the nudge fires when the LLM says "I'll pause the mission"
- Add stop/pause/cancel phrases to signals_execution_intent EXEC_PHRASES
  so the obligation system forces tool calls for "stop it", "pause the X"
- Add bare imperative detection (startswith) for "stop", "stop pinging",
  "pause", "cancel" — avoids false positives like "I can't stop"
- Add 5 regression tests covering true positives and false negatives

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: address review findings (iteration 1)

- Add missing "please halt " to EXEC_PHRASES for consistency with
  please stop/pause/cancel
- Strip trailing punctuation from bare commands so "Stop." and "cancel!"
  are detected
- Add 2 regression tests covering both fixes

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(engine): address gemini-code-assist review — halt/disable consistency (#2814)

- Add "halt it/that/this/the" and "disable it/that/this/the" to
  EXEC_PHRASES for consistency with signals_tool_intent
- Add "please disable " to polite execution phrases
- Add "disable" to BARE_COMMANDS and IMPERATIVE_STARTS
- Add regression test for halt/disable execution intent phrases

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 08:50:35 +03:00
..