Repository navigation
SYS REQ 035
For an explicitly authorized native Windows trial, the system shall provide one VS Code-integrated console bound to the exact run-bound guest. The panel replaces Remmina and the separate shared-browser mirror. It permits operator keyboard and mouse input only during setup, then becomes read-only before capture begins and remains read-only through model review and the single authorized synthetic UI action.
Operators need to inspect and prepare the actual Windows guest from VS Code without exposing host desktop content or granting unbounded control. Setup input and benchmark authority are separate: the panel's input channel closes before capture, while the model-selected synthetic action remains governed by the run's dedicated MCP authorization.
Require a valid grant for the exact run/VM and one TCP RDP forward from 127.0.0.1:<sealed-port> to guest port 3389; refuse mismatches or ambiguity. The VS Code panel and transport are loopback-only and render only that guest. Use the pinned RDP component and credential/logging controls in Native-Qualification-Console-Panel-Design. Credentials are interactive, not persisted or logged. The grant binds run, VM, panel session, setup-only keyboard/mouse, and expiry; clipboard, file transfer, host shortcuts, and generic actions are disabled. The controller enforces SETUP -> LOCKING -> READ_ONLY -> CAPTURING -> REVIEWING -> ACTION -> CLOSED: block input, drain and acknowledge the bounded queue, commit the read-only server lock, then start Capture Desktop. Failure or controller loss refuses capture; setup never reopens. Setup input defines the baseline; no operator input follows capture start. During capture/review the panel is read-only; one model-selected synthetic choice acts only through authorized MCP. Its run-bound receipt binds grant digest, run/VM, server/tool, candidate, event ID, and outcome; panel input cannot issue or repeat it. App-owned storage retains no credentials, input payloads, or raw frames; buffers and private scratch are cleared on close/expiry/teardown. OS swap/crash dumps are outside this guarantee. Identity, phase-lock, and cleanup failures fail closed without another VM or public listener.
TEST-135 verifies grant/VM/port binding, VS Code panel identity, setup-only input and server-side phase lock, credential privacy, model-authorized single-action separation, and cleanup. System-level integration remains planned until reviewed end-to-end evidence exists.
System-Requirements-Specification; SYS-REQ-034; epic #250
High
Planned redacted run/VM/panel binding, loopback listener inspection, matching guest taskId, input-phase transition evidence, forbidden-route and credential scans, exactly-one MCP action receipt, and cleanup record. No screenshots or credentials are published as artifacts.
Allocation to REQ-134 and proposed architecture Native-Qualification-Console-Panel-Design; the existing local candidate in scripts/assisted_benchmark_console.py is Remmina-based and does not satisfy this revised VS Code-panel requirement. No integrated VS Code panel implementation exists.
Planned; the Remmina candidate passed synthetic Xephyr pixel-isolation checks but failed to produce its marked window in the live trial. The revised VS Code panel, guest identity, phase lock, model workflow, and end-to-end behavior are unimplemented and unqualified.