an unrecognized act says so and lists nothing (V-556)

Reciting the allowlist answered a question he did not ask. She says the command
is not one she knows, once, and parks nothing.
This commit is contained in:
2026-08-05 23:43:22 +04:00
parent d988154063
commit 5bd1406c7a
3 changed files with 52 additions and 121 deletions
+3 -12
View File
@@ -156,19 +156,10 @@ func (h *reactiveHandler) askClarify(ctx context.Context, dec router.Decision) (
if !ok {
return "", false
}
// An act is the one gap that may have nothing on the other end. Ask only
// when she has something to run, and say what it is (Vikunja #556).
// An act she could not resolve is a refusal, not a question (Vikunja #556).
if slot == dialogue.SlotFn {
var allow []string
if h.matcher != nil {
allow = h.matcher.Allowlist()
}
reply, ask := fnClarify(allow, 1)
if !ask {
log.Printf("voice: clarify — act with %d allowlisted fns; naming the gap instead of asking", len(allow))
return reply, reply != ""
}
question = reply
log.Printf("voice: clarify — act %q matched no capability; saying so instead of asking", dec.Utterance)
return actNotRecognized, true
}
h.clarifyStore.Put(dialogueIDOf(ctx), &dialogue.PendingQuestion{
Intent: dialogue.Intent(dec.Intent),