diff --git a/cmd/core-runtime/household_scenario_test.go b/cmd/core-runtime/household_scenario_test.go index d401a8a..4b273b7 100644 --- a/cmd/core-runtime/household_scenario_test.go +++ b/cmd/core-runtime/household_scenario_test.go @@ -79,6 +79,9 @@ func TestHouseholdBearDrawingUsesCreativeLocalRoute(t *testing.T) { if got := interactiondomain.CreativeDeterministicReply("нарисуй птицу"); got != "🐦" { t.Fatalf("bird drawing fallback=%q", got) } + if got := interactiondomain.CreativeDeterministicReply("нарисуй коня"); got != "🐴" { + t.Fatalf("horse drawing fallback=%q", got) + } } func TestHouseholdRouteMatrixKeepsMeaningBoundaries(t *testing.T) { diff --git a/modules/interaction/domain/chat.go b/modules/interaction/domain/chat.go index 1587801..cbdcdf9 100644 --- a/modules/interaction/domain/chat.go +++ b/modules/interaction/domain/chat.go @@ -671,6 +671,9 @@ func CreativeDeterministicReply(message string) string { if containsStemInTokens(tokens, "нарис", "рису", "изобраз") && containsStemInTokens(tokens, "птиц", "птичк", "ворон", "голуб") { return "🐦" } + if containsStemInTokens(tokens, "нарис", "рису", "изобраз") && containsStemInTokens(tokens, "кон", "лошад", "жереб") { + return "🐴" + } return "" } diff --git a/modules/interaction/domain/chat_test.go b/modules/interaction/domain/chat_test.go index e18eac6..2cd698f 100644 --- a/modules/interaction/domain/chat_test.go +++ b/modules/interaction/domain/chat_test.go @@ -292,6 +292,9 @@ func TestInterpretCreativeRequestDoesNotRequireExternalEvidence(t *testing.T) { if got := CreativeDeterministicReply("нарисуй птицу"); got != "🐦" { t.Fatalf("bird reply = %q", got) } + if got := CreativeDeterministicReply("нарисуй коня"); got != "🐴" { + t.Fatalf("horse reply = %q", got) + } } func containsString(values []string, expected string) bool {