From 906d71b35f95682b03aeb8723246d64da5544073 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Tue, 25 Aug 2026 14:00:58 +0300 Subject: [PATCH] Reject identity boilerplate over creative fallback --- cmd/creator-web/server.go | 5 +++-- cmd/creator-web/server_test.go | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/cmd/creator-web/server.go b/cmd/creator-web/server.go index 3e4d4a7..6435c62 100644 --- a/cmd/creator-web/server.go +++ b/cmd/creator-web/server.go @@ -517,11 +517,12 @@ func (g *gateway) handleChatMessage(w http.ResponseWriter, r *http.Request) { } func isBoilerplateAdvisory(value string) bool { - switch strings.ToLower(strings.TrimSpace(value)) { + normalized := strings.ToLower(strings.TrimSpace(value)) + switch normalized { case "я рядом.", "я рядом", "понял.", "понял", "принял.", "принял": return true default: - return false + return strings.Contains(normalized, "я — домов") || strings.Contains(normalized, "я - домов") || strings.Contains(normalized, "меня зовут домов") } } diff --git a/cmd/creator-web/server_test.go b/cmd/creator-web/server_test.go index e2d1a54..7a6e277 100644 --- a/cmd/creator-web/server_test.go +++ b/cmd/creator-web/server_test.go @@ -24,7 +24,7 @@ func TestLocalChatContextIncludesDomovoyIdentityAndOptionalActiveProject(t *test } func TestBoilerplateAdvisoryDoesNotReplaceUsefulFallback(t *testing.T) { - for _, value := range []string{"Я рядом", "Понял.", "Принял."} { + for _, value := range []string{"Я рядом", "Понял.", "Принял.", "Я — Домовой, ваш помощник."} { if !isBoilerplateAdvisory(value) { t.Fatalf("%q was not recognized as boilerplate", value) } -- 2.54.0