acdream/tests/AcDream.Headless.Tests
Erik 3328b2f2b3 refactor(headless): S5 poll SpewBox on the console pump instead of decorating one call
HeadlessConsoleChatFeedback wrapped RuntimeChatCommandFeedback per
SubmitConsoleLine call, so it only ever saw interface text produced by
the console's OWN typed line -- a server-driven refusal or a plugin's
own Log/interface-text write (RuntimeCommunicationState.AddText's
ClientLocal branch, called from anywhere else) never reached the
console at all, because that branch enqueues into SpewBoxState and
never touches ChatLog/RuntimeChatDelta.

Delete the decorator. HeadlessConsoleSpewBoxPump instead polls the SAME
SpewBoxState the graphical overlay's SpewBoxController.Tick already
reads, diffing against the previous visible snapshot so it prints only
newly-appeared entries. HeadlessProcessHost's ConsolePump now runs the
input drain and the SpewBox pump together each tick.
HeadlessSessionHost.SubmitConsoleLine drops its onInterfaceText
parameter -- it is just ChatCommandRouter.Submit against a plain
RuntimeChatCommandFeedback now, same as LoginCommandSequence.

N1: also corrected this method's own doc comment, which described
dispatch as "plugin verb registry first, then retail client/server
slash commands" -- the real ChatCommandRouter.Submit order is retail's
catalog, local /help, plugin verbs, the channel-tag fallback, an
explicit server command, then chat.

PumpPrintsInterfaceTextNotOriginatingFromTheConsole was shown to fail
against a no-op Pump() (mutation) -- the enqueued plugin-shaped line
never printed. UnknownVerbProducesTheSameInterfaceTextTheChatBoxShows
was reworked to assert against the real SpewBoxState directly instead
of the deleted decorator's callback.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 08:01:24 +02:00
..
AcDream.Headless.Tests.csproj build: make release restore reproducible 2026-08-18 10:29:00 +02:00
HeadlessBotPolicyTests.cs test: Campaign LA finish LA2 probe and idle gates 2026-08-14 16:49:51 +02:00
HeadlessCharacterOptionsSeederTests.cs feat(CT): CT2 — Runtime character-title ownership + wire 2026-08-24 22:03:22 +02:00
HeadlessCharacterOptionsSeederWiringTests.cs feat(headless): Campaign OP slice OP7 — declared characterOptions with seed-diff sends 2026-08-11 02:45:08 +02:00
HeadlessCollisionNeighborhoodServiceWindowTests.cs feat(physics): C4 route 4b-1 — remote placement infrastructure (dormant) 2026-08-04 04:08:19 +02:00
HeadlessConfigurationLoaderTests.cs fix(launcher): Campaign LA close LA2 review findings 2026-08-14 17:20:02 +02:00
HeadlessConsoleTests.cs refactor(headless): S5 poll SpewBox on the console pump instead of decorating one call 2026-09-07 08:01:24 +02:00
HeadlessCredentialResolverTests.cs test: make prerequisite lanes fail honestly 2026-08-18 12:09:41 +02:00
HeadlessDependencyBoundaryTests.cs feat(headless): establish portable Linux host boundary 2026-07-27 01:10:45 +02:00
HeadlessEntryPointTests.cs wip: Campaign LA LA2 probe mode + idle policy — INCOMPLETE, stopped mid-task 2026-08-14 16:33:00 +02:00
HeadlessPathSetTests.cs feat(headless): complete portable single-session host 2026-07-27 07:36:53 +02:00
HeadlessPluginSessionTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
HeadlessProcessContentOwnerTests.cs test(headless): enforce 30-root K4 endurance 2026-07-27 11:02:44 +02:00
HeadlessProcessResourceEnvelopeTests.cs test: replace campaign labels with behavior names 2026-08-18 12:25:00 +02:00
HeadlessProcessSchedulerTests.cs fix(headless): #368 — one dedicated update thread owns the session lifecycle; the scheduler loop no longer migrates across Task.Delay resumptions 2026-08-10 18:21:35 +02:00
HeadlessSessionEventRouteRetryPendingTests.cs docs: Campaign LA — pinned launch-contract schema COMMITTED into plan LA1 2026-08-14 16:04:32 +02:00
HeadlessSessionHostTests.cs fix(overhaul): integrate reviewed debt-free retirement #475 2026-09-05 11:05:07 +02:00
HeadlessSessionIsolationTests.cs fix(runtime): give the no-window host a post-merge canonical cell commit (D1, AD-60/AD-64, AP-146/#320) 2026-08-05 22:36:31 +02:00
HeadlessStaticStateAuditTests.cs fix(chat): consolidated-review fixes — retail /help Detail extraction, seam wiring test 2026-08-10 16:22:36 +02:00
LauncherHeadlessCommandLineContractTests.cs fix(tests): the launcher/headless command-line contract needs executable stubs on Linux 2026-08-19 21:53:19 +02:00
packages.neutral.lock.json build: make release restore reproducible 2026-08-18 10:29:00 +02:00
SessionConfigurationSharedFixtureTests.cs feat(launcher): stabilize prepared content updates 2026-08-25 19:17:13 +02:00