Summary
memory_recall_query and memory_forget_query already strip a trailing please from the extracted query. A leading please was never stripped, so the start-anchored recall/forget prefixes miss equally natural polite forms and fall through to the LLM.
Repro (on main)
| utterance |
on main |
expected |
Please search memory for Jared |
ABSTAIN |
memory_recall{query: jared} |
Please search memory for Jared please |
ABSTAIN |
memory_recall{query: jared} |
Please forget my old locker combination |
ABSTAIN |
memory_forget{query: old locker combination} |
Please forget the wifi password please |
ABSTAIN |
memory_forget{query: wifi password} |
Search memory for Jared please / Forget my old locker combination please already route today.
Root cause
Both prefix loops are start-anchored. Leading please keeps the string from matching any prefix, even though trailing politeness is already cleaned from the query.
Proposed fix
Strip a leading please at the top of memory_recall_query and memory_forget_query, mirroring web_search (#932), news (#908), time (#906), and scene/routine (#894). Negatives stay off (please help me); bare-pronoun forget/recall abstains stay (please forget it, please search memory for it).
Acceptance
- Leading-please recall/forget forms route correctly
- Existing trailing-please query cleaning unchanged
- Focused regression coverage fails on main, passes with the fix
- No prompt growth; 4096 Jetson contract untouched
Labels / scope
Tool-dispatch correctness (deterministic quick-router).
Summary
memory_recall_queryandmemory_forget_queryalready strip a trailingpleasefrom the extracted query. A leadingpleasewas never stripped, so the start-anchored recall/forget prefixes miss equally natural polite forms and fall through to the LLM.Repro (on main)
mainPlease search memory for Jaredmemory_recall{query: jared}Please search memory for Jared pleasememory_recall{query: jared}Please forget my old locker combinationmemory_forget{query: old locker combination}Please forget the wifi password pleasememory_forget{query: wifi password}Search memory for Jared please/Forget my old locker combination pleasealready route today.Root cause
Both prefix loops are start-anchored. Leading
pleasekeeps the string from matching any prefix, even though trailing politeness is already cleaned from the query.Proposed fix
Strip a leading
pleaseat the top ofmemory_recall_queryandmemory_forget_query, mirroring web_search (#932), news (#908), time (#906), and scene/routine (#894). Negatives stay off (please help me); bare-pronoun forget/recall abstains stay (please forget it,please search memory for it).Acceptance
Labels / scope
Tool-dispatch correctness (deterministic quick-router).