test(headless): the console's unknown-verb pin follows AD-124 — chat scroll, not SpewBox

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-09-07 08:27:39 +02:00
parent 8cb284d6f7
commit 074a1561b6

View file

@ -527,7 +527,7 @@ public sealed class HeadlessConsoleTests
/// than a decorator only this call site could see.
/// </summary>
[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 ──