Simplify cognitive channel status replies #286

Merged
m merged 2 commits from codex/chat-semantic-inventory into main 2026-08-24 21:46:36 +00:00
2 changed files with 6 additions and 24 deletions
+5 -23
View File
@@ -1633,37 +1633,19 @@ func humanAuthMode(mode capability.AuthMode) string {
}
func humanCognitiveChannelReply(kind interaction.InformationRequestKind, act interaction.SpeechAct, health capability.Health, healthErr error) string {
recoveryRequested := kind == interaction.InformationRequestCognitiveRecovery || act == interaction.SpeechActRequestToInvestigate || act == interaction.SpeechActDirective
if healthErr != nil {
if recoveryRequested {
return "Я не вижу подтверждённого состояния локального канала. Домовой всё равно рядом: опишите, что изменилось, и я помогу подготовить аварийную настройку."
}
return "Я не вижу подтверждённого состояния локального канала, но Домовой работает. Можно продолжать разговор и проверить канал ещё раз."
return "Не удалось проверить канал. Домовой остаётся на связи."
}
var observation string
switch health.State {
case capability.HealthAvailable:
observation = "Основной локальный канал сейчас доступен."
return "Канал мышления доступен."
case capability.HealthDegraded:
observation = "Основной локальный канал сейчас работает с ограничениями."
return "Канал мышления работает с ограничениями."
case capability.HealthUnavailable:
observation = "Основной локальный канал сейчас недоступен."
return "Канал мышления недоступен. Домовой остаётся на связи."
default:
observation = "Состояние основного локального канала пока не подтверждено."
return "Состояние канала пока не подтверждено. Домовой остаётся на связи."
}
if recoveryRequested {
if health.State == capability.HealthUnavailable {
return observation + " Домовой жив: начну с проверки встроенного маршрута, затем зафиксирую варианты аварийного восстановления без передачи секретов."
}
return observation + " Я не меняю модель прямо из разговора: сначала покажу наблюдаемое состояние и подготовлю следующий проверяемый шаг восстановления."
}
if health.State == capability.HealthUnavailable {
if recoveryRequested {
return observation + " Домовой не остановился: начну с проверки встроенного маршрута, затем зафиксирую доступные варианты восстановления без передачи секретов."
}
return observation + " Но Домовой не остановился: продолжаю принимать сообщения и помогу восстановить локальный канал."
}
return observation + " Это наблюдение о готовности capability, а не прямой доступ к модели."
}
func humanCognitiveDegradedReply(message string) string {
+1 -1
View File
@@ -36,7 +36,7 @@ func TestCognitiveChannelQuestionUsesHumanSafeHealthReply(t *testing.T) {
func TestCognitiveConfigurationRequestDoesNotPretendToMutate(t *testing.T) {
reply := humanCognitiveChannelReply(interaction.InformationRequestCognitiveRecovery, interaction.SpeechActDirective, capability.Health{State: capability.HealthUnavailable}, nil)
if !strings.Contains(reply, "Домовой жив") || !strings.Contains(reply, "аварийн") {
if reply != "Канал мышления недоступен. Домовой остаётся на связи." {
t.Fatalf("unexpected configuration reply: %q", reply)
}
}