maven: general-knowledge phraser routing (task 4)

- Stub.PhraseQuery: empty notes → "не знаю." (was: "no notes")
- LLMPhraser.PhraseQuery: empty notes → general knowledge prompt to LLM
- Voice handler: on notes RAG failure, try phraser before giving up
- New router.KnowledgePrompt() pure function with test

Co-Authored-By: opencode <opencode@anthropic.com>
This commit is contained in:
kami
2026-07-06 04:11:54 +04:00
parent cf066bde97
commit 428af3f3c6
5 changed files with 42 additions and 3 deletions
+20
View File
@@ -0,0 +1,20 @@
package router
import (
"strings"
"testing"
)
func TestKnowledgePrompt(t *testing.T) {
prompt := KnowledgePrompt()
if prompt == "" {
t.Fatal("KnowledgePrompt returned empty string")
}
// Must contain key instructions
checks := []string{"Мавена", "не знаю", "не выдумывай"}
for _, c := range checks {
if !strings.Contains(strings.ToLower(prompt), strings.ToLower(c)) {
t.Errorf("KnowledgePrompt should mention %q", c)
}
}
}