-
Notifications
You must be signed in to change notification settings - Fork 0
Establish the deterministic headless desk test harness before feature screens #108
Copy link
Copy link
Closed
Labels
area:ci-cdGitHub Actions, releases, and toolchain imagesGitHub Actions, releases, and toolchain imagesarea:dxContributor tooling, tests, maintainability, and development workflowContributor tooling, tests, maintainability, and development workflowarea:tuiTerminal UI, operator desk, and interactive run controlTerminal UI, operator desk, and interactive run controlarea:verificationExecutable contracts and artifact verificationExecutable contracts and artifact verificationenhancementNew feature or requestNew feature or requestpriority:P1High: required for a trustworthy supported workflowHigh: required for a trustworthy supported workflowtest-layer:L2Component, adapter, and active-signal contractsComponent, adapter, and active-signal contracts
Milestone
Description
Metadata
Metadata
Assignees
Labels
area:ci-cdGitHub Actions, releases, and toolchain imagesGitHub Actions, releases, and toolchain imagesarea:dxContributor tooling, tests, maintainability, and development workflowContributor tooling, tests, maintainability, and development workflowarea:tuiTerminal UI, operator desk, and interactive run controlTerminal UI, operator desk, and interactive run controlarea:verificationExecutable contracts and artifact verificationExecutable contracts and artifact verificationenhancementNew feature or requestNew feature or requestpriority:P1High: required for a trustworthy supported workflowHigh: required for a trustworthy supported workflowtest-layer:L2Component, adapter, and active-signal contractsComponent, adapter, and active-signal contracts
Problem
A TUI can appear correct while key bindings, focus, async messages, resizing, and subprocess transitions are wrong. Waiting until screens exist to add a harness would accumulate untestable UI behavior.
Direction
Add a reusable headless Textual harness using
App.run_test()and Pilot, fixed viewport fixtures, injected read models/processes, semantic widget queries, and active-signal assertions. Build it alongside the first app shell, before DESK and RUN feature work.Dependencies
press deskentry #104 — Package an optional Textual desk with one canonicalpress deskentry #104press selftestinto reusable tests #78 — Establish the pytest harness and migratepress selftestinto reusable tests #78Invariants
Acceptance
Links