From 074a1561b677564aef6d565a23a80d11d6f97cf0 Mon Sep 17 00:00:00 2001 From: Erik Date: Mon, 7 Sep 2026 08:27:39 +0200 Subject: [PATCH] =?UTF-8?q?test(headless):=20the=20console's=20unknown-ver?= =?UTF-8?q?b=20pin=20follows=20AD-124=20=E2=80=94=20chat=20scroll,=20not?= =?UTF-8?q?=20SpewBox?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5.1 --- tests/AcDream.Headless.Tests/HeadlessConsoleTests.cs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/tests/AcDream.Headless.Tests/HeadlessConsoleTests.cs b/tests/AcDream.Headless.Tests/HeadlessConsoleTests.cs index b36cea786..81d1e9f11 100644 --- a/tests/AcDream.Headless.Tests/HeadlessConsoleTests.cs +++ b/tests/AcDream.Headless.Tests/HeadlessConsoleTests.cs @@ -527,7 +527,7 @@ public sealed class HeadlessConsoleTests /// than a decorator only this call site could see. /// [Fact] - public void UnknownVerbProducesTheSameInterfaceTextTheChatBoxShows() + public void UnknownVerbProducesTheSameChatLineTheChatBoxShows() { var operations = new FixtureSessionOperations(); using var credential = new HeadlessCredentialSecret("fixture", "password"); @@ -548,10 +548,16 @@ public sealed class HeadlessConsoleTests SubmitOutcome outcome = host.SubmitConsoleLine("/"); Assert.Equal(SubmitOutcome.UnknownCommand, outcome); + // Owner override 2026-09-07 (register row AD-124): the refusal lands + // in the CHAT scroll, not the SpewBox — the same line the graphical + // chat box shows (ChatCommandRouterFeedbackRoutingTests pins that + // route). The console sees it through OnChat, so the SpewBox stays + // empty. + var chatEntry = Assert.Single(host.Runtime.CommunicationOwner.Chat.Snapshot()); + Assert.Contains("Unknown command:", chatEntry.Text); SpewBoxState spewBox = host.Runtime.CommunicationOwner.SpewBox; spewBox.Tick(host.Runtime.Clock.SimulationTimeSeconds); - SpewBoxEntry entry = Assert.Single(spewBox.Snapshot()); - Assert.Contains("Unknown command:", entry.Text); + Assert.Empty(spewBox.Snapshot()); } // ── HeadlessConsoleSpewBoxPump: server/plugin-driven interface text ──