Cancel, restart, and help must work from every state
Aliases: overlay grammar · global commands · meta-intents
What it is
Cancel, restart, and help are three meta-commands, not options on a particular node. People may say “never mind,” “start over,” or “what can you do” while the machine is asking for a CVV, a date, or “anything else?” If that node's recognizer has been narrowed to digits or times, those three sentences become garbage and the system replies “please say the card number again.” Other exits from the node (timeout to failure, skip on “don't know”) do not mean these three are wired up.
Why it happens
To raise in-slot accuracy, a state tightens its grammar to the current slot's tokens. The tightening helps filling and shoves meta-commands out of the vocabulary. Users cannot see what the node will hear; they use ordinary language to bail or to ask for help. The three commands also mean different things: cancel abandons the task; restart clears filled slots and returns to the task entry; help explains what can be said now. Swallowing all three in one “exit” node turns “start over” into a hang-up.
Priority has to sit above slot values. At a card-number node, “cancel” must not be treated as part of the number; at a date node, “help me” must not be treated as a failed date. Meta-commands need a high-priority overlay on every node, not a per-node afterthought written once in a while.
Studying it
At every prompt node, fire three probes: cancel, restart, help (including “what can you do” and “how should I say it”). Dependents: whether recognition hits the matching meta-intent, whether routing is right (cancel → task end, restart → slots cleared then entry, help → an explanation about the current slot), and how often logs treat those phrases as slot errors and re-prompt.
A field cut is to search turns containing “never mind,” “start over,” “what do I do,” and inspect neighboring states. Labs that only test the three commands at the welcome node miss the middle nodes with the narrowest grammars — those are where meta-commands get squeezed out.
Where it stops holding
Once money has moved or a message has left the device, cancel cannot pretend to roll back; say that it cannot, rather than drop the words from the grammar so it seems unheard. Help should differ by node: a card-number node gives format and an example, not the whole skill list. In some languages a word like “okay” is both completion and cancel; disambiguate with the current slot rather than always preferring the meta-intent. One-shot commands still need cancel for actions not yet executed; after execution, cancel becomes undo, which is a different capability.
Applying it
- Keep a global meta-intent layer on every prompt node. Cover ordinary phrasings of cancel, restart, and help, and give this layer higher priority than the current slot.
- Route the three separately: cancel ends and voids uncommitted slots; restart clears and resumes at the first question; help talks only about how to fill the current slot, with one sayable example.
- On irreversible nodes, do not mute the three commands; catch them and explain why they cannot stop the action.
- How to check: every row of the state table gets the three probes. Any node that hears “never mind” as a slot value, or answers with a generic re-prompt, is not yet wired.
Related
- Same group: M2.07.1 Happy-path-only flows leave failure and walk-away unspecified · M2.07.2 Every dialogue state needs a way out · M2.07.3 A flowchart is not a substitute for real utterances · M2.07.4 Slot filling should accept scrambled order · M2.07.6 State count grows past what you can test
- Nearby: M2.06 Discoverability and help · M1.06 Repair strategies · M1.12 Opening and closing a dialogue
- Search terms:
global commands·overlay grammar·cancel restart help