Candidate status
Selected by Cycle 6 research gate #35. This issue is in milestone 5. It blocks #35 until the implementation is independently reviewed, passes required checks, and merges.
Opportunity
Harden opencontroller native test so a helper failure during the command sequence still attempts neutralization and disconnect, and preserves the original failure if cleanup also fails. The current command creates a controller, sends press/move/trigger/neutral commands, and calls disconnect only after all four succeed.
Repository evidence
- Audit baseline: current main
e6d576987c9085a3377ce0e10791f56ce1994ada.
packages/cli/src/commands/native.ts:nativeTestCommand has no finally around the connected controller's command sequence. If an action throws, the command exits without a CLI-level disconnect attempt.
- The native process adapter's disconnect sends a bridge disconnect, closes helper stdin, and waits for helper exit (
packages/core/src/adapters/native-process.ts).
- Existing CLI tests cover test-plan construction, not action or cleanup failures after connection.
External evidence and limits
- Codex #44074, observed 2026-09-09, requests release of held inputs on failure, cancellation, navigation, or session teardown after reporting short key holds that a game did not observe.
- Codex #35510, opened 2026-07-26, reports a Pygame target missing an input event despite a successful tool result.
These are adjacent Computer Use reports. They support careful cleanup and failure reporting but do not establish an OpenController incident or prevalence.
Acceptance
- Factor or inject the native test controller/action runner so tests can fail an action after a successful connection and fail cleanup independently.
- Always attempt controller disconnect after successful controller creation, including when press, move, trigger, or neutral fails.
- Preserve the primary action error when cleanup also fails and make the cleanup failure visible.
- On the normal path, preserve the press/move/trigger/neutral sequence, then disconnect; report success only after cleanup succeeds.
- Add focused tests for action failure, disconnect failure, and combined action/cleanup failure.
- Keep CLI output scoped to SDK/helper bridge results; do not claim physical host or game compatibility.
Non-goals
Do not change native driver setup, run hardware compatibility tests, or expand the CLI into an OS/game diagnostics matrix.
Estimate: low to medium, roughly 1–2 days; the main risk is reporting both failures without masking the original action error.
Candidate status
Selected by Cycle 6 research gate #35. This issue is in milestone 5. It blocks #35 until the implementation is independently reviewed, passes required checks, and merges.
Opportunity
Harden
opencontroller native testso a helper failure during the command sequence still attempts neutralization and disconnect, and preserves the original failure if cleanup also fails. The current command creates a controller, sends press/move/trigger/neutral commands, and calls disconnect only after all four succeed.Repository evidence
e6d576987c9085a3377ce0e10791f56ce1994ada.packages/cli/src/commands/native.ts:nativeTestCommandhas nofinallyaround the connected controller's command sequence. If an action throws, the command exits without a CLI-level disconnect attempt.packages/core/src/adapters/native-process.ts).External evidence and limits
These are adjacent Computer Use reports. They support careful cleanup and failure reporting but do not establish an OpenController incident or prevalence.
Acceptance
Non-goals
Do not change native driver setup, run hardware compatibility tests, or expand the CLI into an OS/game diagnostics matrix.
Estimate: low to medium, roughly 1–2 days; the main risk is reporting both failures without masking the original action error.