From 0e7d1a7a502bac2d26c9debd265adba73832b2b9 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Tue, 25 Aug 2026 20:52:41 +0300 Subject: [PATCH 1/2] Summarize verified internet connectivity --- cmd/core-runtime/main.go | 9 +++++++++ cmd/core-runtime/main_test.go | 11 +++++++++++ 2 files changed, 20 insertions(+) diff --git a/cmd/core-runtime/main.go b/cmd/core-runtime/main.go index 235eee1..5699fb2 100644 --- a/cmd/core-runtime/main.go +++ b/cmd/core-runtime/main.go @@ -1744,6 +1744,9 @@ func renderResearchReply(query string, result epistemics.ResearchResult, researc if len(lines) == 0 { return "Проверяемых данных пока не найдено. Могу повторить поиск или уточнить, что именно проверить.", false } + if isInternetStatusQuery(query) { + return "Интернет работает: Домовой получил ответ от внешних источников.\n\n" + strings.Join(lines, "\n\n"), true + } if nearestFlightQuery(query) && !containsFlightTimeEvidence(strings.Join(lines, " ")) { return "Нашёл расписание по маршруту, но точное время ближайшего вылета в доступных фрагментах не указано. Откройте источник и выберите ближайший рейс:\n\n" + strings.Join(lines, "\n\n"), true } @@ -1755,6 +1758,12 @@ func renderResearchReply(query string, result epistemics.ResearchResult, researc return reply, true } +func isInternetStatusQuery(query string) bool { + lower := strings.ToLower(query) + return (strings.Contains(lower, "интернет") || strings.Contains(lower, "сеть")) && + (strings.Contains(lower, "работает") || strings.Contains(lower, "доступ") || strings.Contains(lower, "проверь") || strings.Contains(lower, "связ")) +} + func nearestFlightQuery(query string) bool { lower := strings.ToLower(query) return strings.Contains(lower, "ближ") && (strings.Contains(lower, "рейс") || strings.Contains(lower, "самолет") || strings.Contains(lower, "самолёт") || strings.Contains(lower, "вылет")) diff --git a/cmd/core-runtime/main_test.go b/cmd/core-runtime/main_test.go index 5e44ef1..bc50d4c 100644 --- a/cmd/core-runtime/main_test.go +++ b/cmd/core-runtime/main_test.go @@ -76,6 +76,17 @@ func TestContainsPriceEvidenceDistinguishesLinksFromPrices(t *testing.T) { } } +func TestInternetStatusQueryRecognizesConnectionChecks(t *testing.T) { + for _, query := range []string{"проверь, работает ли интернет", "есть доступ к сети?"} { + if !isInternetStatusQuery(query) { + t.Fatalf("connection check was not recognized: %q", query) + } + } + if isInternetStatusQuery("найди интернет-магазин") { + t.Fatal("ordinary search must not be treated as a connectivity check") + } +} + func TestCognitiveChannelQuestionUsesHumanSafeHealthReply(t *testing.T) { reply := humanCognitiveChannelReply(interaction.InformationRequestCognitiveChannelStatus, interaction.SpeechActQuestion, capability.Health{State: capability.HealthAvailable, CapabilityID: "provider-secret-model"}, nil) if !strings.Contains(reply, "доступен") || strings.Contains(reply, "provider-secret-model") { -- 2.54.0 From b05081328ed723a912ed1705e042008d6e18cadf Mon Sep 17 00:00:00 2001 From: Mikhail Date: Tue, 25 Aug 2026 20:53:00 +0300 Subject: [PATCH 2/2] Recognize network connection wording --- cmd/core-runtime/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/core-runtime/main.go b/cmd/core-runtime/main.go index 5699fb2..7846dfa 100644 --- a/cmd/core-runtime/main.go +++ b/cmd/core-runtime/main.go @@ -1760,7 +1760,7 @@ func renderResearchReply(query string, result epistemics.ResearchResult, researc func isInternetStatusQuery(query string) bool { lower := strings.ToLower(query) - return (strings.Contains(lower, "интернет") || strings.Contains(lower, "сеть")) && + return (strings.Contains(lower, "интернет") || strings.Contains(lower, "сет")) && (strings.Contains(lower, "работает") || strings.Contains(lower, "доступ") || strings.Contains(lower, "проверь") || strings.Contains(lower, "связ")) } -- 2.54.0