Repository navigation
fix(windows): return safe staged app_launch errors - #42
Merged
Merged
Conversation
…rors-34 # Conflicts: # pywinauto-mcp-server/WINDOWS-README.md # pywinauto-mcp-server/src/autogenesis_windows_mcp/app_session.py # pywinauto-mcp-server/src/autogenesis_windows_mcp/conf/config.schema.json # pywinauto-mcp-server/tests/test_runtime.py
Author
|
Final evidence for head
Roles remained separate: implementer, code reviewer, security reviewer, and acceptor used separate sessions. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requirement
Closes #34
User-visible result
Windows
app_launchnow returns stable fixederror,error_code,stage, andretryablefields for process-start, elevation, discovery, ambiguity, readiness, binding, connection-loss, snapshot, and unknown failures. Existing successful launch/snapshot responses and tool schemas remain unchanged.Scope
Non-goals
Interface changes
app_launcherror responses retainstatus,error, anddata, and adderror_code,stage, andretryable.datais empty on launch/snapshot failure.Acceptance scenarios
INTERNAL_ERRORatinternal.Verification evidence
22 passed(tests/test_launch_errors.py)103 passed, 2 skippedPROCESS_START_FAILED; real no-window process → retryableWINDOW_NOT_FOUND; delayed-title Tk app with 4-second timeout → success; executed from a clean business project with installed wheels and MCP 1.29.12a005cf; no blocking correctness, compatibility, or security findingsAgent roles
Issue34CodeReviewsessionIssue34SecurityReviewsessionSecurity impact
errordescription only when code, stage, retryability, and description exactly match the fixed allowlist.Compatibility impact
Successful
app_launchpayloads and all 22 tool input schemas are unchanged. Error payloads become more specific while retaining the existing top-level fields.launch_timeout_secondsremains optional, bounded to 1–120, and defaults to 15.Rollback
Revert commit
2a005cf; callers return to the genericOperation failedlaunch response.Known limitations
Hosted CI cannot prove interactive desktop readiness. The clean local Windows smoke exercised real process-start failure, discovery timeout, and delayed-title success; deterministic tests cover every code and state transition. Elevation, ambiguity, visibility, enabled-state, binding, connection-loss, and snapshot classes remain subject to independent black-box acceptance using the established native matrix.