The terminal detection tests were failing because they expected the old
terminal mode behavior, but headless mode is now the default.
Fix:
- Add headless=False parameter to all terminal detection tests
- Tests now explicitly test interactive (terminal) mode
- test_subprocess_popen_called_with_correct_args: Tests terminal launch
- test_terminal_launch_error_handling: Tests error handling
- test_output_message_unknown_terminal: Tests warning messages
These tests only run on macOS (they're skipped on Linux) and test the
interactive terminal launch functionality, so they need headless=False.
Impact:
- All 3 failing macOS tests should now pass
- 391 tests passing on Linux
- CI should pass on macOS now
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add smart terminal selection for --enhance-local with cascading priority:
1. SKILL_SEEKER_TERMINAL env var (explicit user preference)
2. TERM_PROGRAM env var (inherit current terminal)
3. Terminal.app (fallback default)
Supports Ghostty, iTerm2, WezTerm, and Terminal.app. Includes comprehensive
test suite (11 tests) and user documentation.
Changes:
- Add detect_terminal_app() function with priority-based selection
- Support for 4 major macOS terminals via TERMINAL_MAP
- Fallback handling for unknown terminals (IDE terminals)
- Add TERMINAL_SELECTION.md with setup examples and troubleshooting
- Update README.md to link to terminal selection guide
- Full test coverage for all detection paths and edge cases