Preserve context across conversation intents (V-542)

Owner explicitly requested direct commits to master; bypass the branch-only hook.
This commit is contained in:
2026-08-13 02:14:46 +04:00
parent a0e6643465
commit da9114b623
15 changed files with 499 additions and 56 deletions
+7
View File
@@ -66,6 +66,7 @@ func mustLoad() lexiconFile {
"not_place_after_v", "parts_of_day", "reminder_verbs", "half_hour",
"filler_particles", "task_done_words", "task_drop_words",
"confirm_yes", "confirm_no", "hour_units", "minute_units",
"conversation_verbs",
} {
s, ok := f.Sets[name]
if !ok || (len(s.Words) == 0 && len(s.Values) == 0) {
@@ -212,6 +213,12 @@ func inSet(set, word string) bool {
// Distinct from TaskDropWords, which abandons an item that already exists.
func DialogueCancel() []string { return words("dialogue_cancel") }
// ConversationVerbs returns Maven's vocabulary for explicitly opening a
// conversation after a cooperative marker ("давай поговорим", "let's talk").
// The caller matches Russian members by lemma and English members exactly.
// Keeping the verbs here prevents session state from growing its own stem list.
func ConversationVerbs() []string { return words("conversation_verbs") }
// IsFillerParticle reports whether a word can never be the subject of a
// request: a particle, a politeness word, or the first-person object. See the
// set's own note for why this is not a stopword list.