test(cua-driver): converge Rust desktop E2E contracts - #2161
Conversation
📦 Publishable packages changed
Add |
4 similar comments
📦 Publishable packages changed
Add |
📦 Publishable packages changed
Add |
📦 Publishable packages changed
Add |
📦 Publishable packages changed
Add |
|
Convergence landing update: Windows (conv2 2/7) landed as #2180 at |
|
Convergence landing update: Linux X11 + Wayland (combined conv2 4-5/7) landed as #2182 at |
|
Convergence landing update: macOS (conv2 3/7) landed as #2183 at |
|
Convergence landing update: Nix consolidation (conv2 6/7) landed as #2184 at |
Final convergence landing and parity auditThe #2161 tree has been re-landed as reviewable replacement PRs and sidecars. This draft is now a frozen forensic source, not a merge candidate. Landing map
Audit result
Adaptation ledger
Accepted behavioral evidence remains linked on the replacement PRs: Windows 114/114, macOS 133/133, Linux X11 108/108, and Linux Sway 108/108. Nix source/package checks are green; the private nested compositor remains explicitly experimental with its exact diagnostic failures recorded on #2184. Closing #2161 as closed, not merged. The |
Post-merge audit correctionA second independent audit, led by Claude Opus 4.8 and verified against the true base (
The correction landed in #2189 as
Validation is green: Linux unit, Windows unit, Nix source/package/unit, docs, and the local macOS protocol test. Final split-parity verdict after #2189: COMPLETE WITH INTENTIONAL DIVERGENCES. Every original delta path remains accounted for; sidecars, dependency parity, platform behavior, typed evidence, trajectories/video links, CI/release wiring, and documented Wayland limitations were preserved or strengthened. |
Why
The desktop suites mixed unit checks, shell-generated summaries, one-off guards, and GUI behavior tests. Missing cells could disappear, setup failures could produce reduced green runs, and a successful tool response could be mistaken for input delivery.
This PR makes the Rust harnesses the source of truth for desktop behavior. Repo-local applications expose observable state, and every action must prove either its external effect or an exact structured refusal. Background actions also prove that they did not steal focus, raise the target, move the real cursor, or leak input.
Canonical test model
all; CI partitions shared, native, and capture work only as internal jobs.Each result records platform, display server, harness, action, targeting, delivery, scope, backend route, expected and observed behavior, independent oracles, duration, and evidence. The reporter rejects missing, duplicate, undeclared, contradictory, or evidence-less rows.
Driver and harness fixes
Evidence and reporting
Linux
ext_foreign_toplevel_list_v1discovery, native wlroots capture and recording, stable window identity, compositor-aware geometry, and strict session preflights.libxkbcommon, portal/libei support, the nested compositor, and source-owned Rust tests through Nix.cua-compositoras a separate experimental environment with a versioned acknowledged protocol, PID targeting, exact resource errors, focus and z-order observation, scene geometry queries, direct pointer and keyboard routes, and typed evidence.Windows
PostMessageroute.start_minimizedfail closed before spawning when Windows cannot guarantee no activation.on_screen_only, and restores them through the existingbring_to_fronttool.macOS
background_unavailablerefusals.Cleanup
all.libs/cua-driver/docs/action-support.md, an evidence journal, and the public Platform Support reference.\n- Split the validation model into How Cua Driver Is Validated, covering source-built harnesses, independent oracles, retained evidence, and maintainer-triggered release validation.\n- Added a cross-OS Platform Roadmap that separates evidence gaps, engineering work, experimental environments, and hard OS boundaries without promising dates.Validation
LinuxCuaCompositorInjectmetadata. Full shared run 29199596935 passed 26/36 Electron rows before focused repairs. Run 29200462634 then passed 7/9 occluded PX-background rows. Dedicated scroll run 29200854535 remained red, so the environment stays experimental.a78f525a. Linux unit, distribution, docs, script, Windows compile, and the local 35-test testkit suite are green.Remaining explicit gaps
cua-compositorremains experimental. Renderer left/double click, one AX right-click timeout, and renderer scroll are not stable across focused runs. Unicode text and a canonical parallel-drag row remain unproven.