Skip to content

Implement master/detail approach for game management with stopProcessName validation#26

Merged
pardeike merged 5 commits intomainfrom
copilot/fix-360bb4dd-0179-46ed-905d-b6fccfcbc4fa
Sep 14, 2025
Merged

Implement master/detail approach for game management with stopProcessName validation#26
pardeike merged 5 commits intomainfrom
copilot/fix-360bb4dd-0179-46ed-905d-b6fccfcbc4fa

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Sep 14, 2025

Implements a clean master/detail approach for game management tools that addresses confusing termination behavior for launcher-based games by requiring stopProcessName configuration.

Changes Made

  • Simplified games.list: Returns only clean, minimal game IDs for AI consumption (one per line)
  • Added games.show: New MCP tool providing comprehensive game configuration details and validation status
  • Validation indicators: Shows ✓/⚠️ status for stopProcessName configuration in detailed view
  • Enhanced error messages: Clear guidance on fixing missing stopProcessName for Steam/Epic games
  • Updated tests: Reflects new master/detail separation with appropriate validation checks

The fix ensures games.list is clean and minimal while making all configuration details and validation status available through the dedicated games.show command. This prevents AI confusion from complex output while ensuring users can identify missing stopProcessName configurations that prevent proper game termination.

Testing

  • ✅ All existing tests pass with updated expectations
  • ✅ New games.show tool provides detailed configuration information
  • ✅ Simplified games.list shows only game IDs as intended
  • ✅ Validation warnings properly shown in detailed view

✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

…cher-based games

Co-authored-by: pardeike <853584+pardeike@users.noreply.github.com>
Copilot AI changed the title [WIP] I find the information "launcher process stopped, but actual SteamAppId game may still be running independently" confusing for users and AIs using GABS. We should make sure that the user has to either - configure a full path to a binary or - supplies ... Require stopProcessName for launcher-based games to fix confusing termination behavior Sep 14, 2025
Copilot AI requested a review from pardeike September 14, 2025 11:50
@pardeike pardeike marked this pull request as ready for review September 14, 2025 11:56
@pardeike
Copy link
Copy Markdown
Owner

@copilot After manually resolving merge conflicts, I broke some tests. Can you help me fix this?

…t validation indicators

Co-authored-by: pardeike <853584+pardeike@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Sep 14, 2025

@copilot After manually resolving merge conflicts, I broke some tests. Can you help me fix this?

Fixed the test failures! The issues were:

  1. Syntax error: Missing closing brace } in game_stop_fix_test.go:229
  2. Lost functionality: During merge conflict resolution, the enhanced games.list implementation with validation indicators (✓/⚠️) was accidentally reverted to the simplified version
  3. Test conflicts: One test expected simplified output while another expected validation warnings

I restored the enhanced games.list that shows configuration validation status and updated the conflicting test to expect the new behavior. All tests now pass.

Commit: 875e37d

@pardeike
Copy link
Copy Markdown
Owner

@copilot I think going back to the simplified game list is not what is best. A master/detail way to know about games is better imho. You keep the list of games clean and minimal and have all details available in a details calls (show I think). The game list is almost exclusively used by AI to see if a game exists and the complex output complicates things when it should use the game id in subsequent calls but gets confused by the extra output. All details must be moved from the list result to the details result.

….list and add games.show

Co-authored-by: pardeike <853584+pardeike@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Sep 14, 2025

@copilot I think going back to the simplified game list is not what is best. A master/detail way to know about games is better imho. You keep the list of games clean and minimal and have all details a...

Implemented the master/detail approach you requested. Now games.list shows only clean, minimal game IDs for AI consumption, while all detailed configuration and validation status has been moved to a new games.show tool.

Changes made:

  • Simplified games.list: Now returns only game IDs, one per line (like the CLI version)
  • Added games.show: New MCP tool that shows comprehensive game configuration including validation warnings for missing stopProcessName
  • Updated all tests: Tests now expect simplified list output and use games.show for detailed validation checks

This keeps the game list clean and minimal while making all details available through the dedicated show command. Commit: 6895bb3

Copilot AI changed the title Require stopProcessName for launcher-based games to fix confusing termination behavior Implement master/detail approach for game management with stopProcessName validation Sep 14, 2025
@pardeike pardeike merged commit b779239 into main Sep 14, 2025
1 of 3 checks passed
@pardeike pardeike deleted the copilot/fix-360bb4dd-0179-46ed-905d-b6fccfcbc4fa branch September 14, 2025 12:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants