- Add test_screen_lock.py with 65 tests covering: - ScreenLocker initialization (demo/production mode) - Workout data validation (running and strength) - Log file operations (reading/writing JSON) - UI state transitions and timer logic - ask_workout_type/running_details/strength_details methods - Error handling and TclError exceptions - Add type annotation to workout_data in screen_lock.py Coverage: 273 statements, 38 branches - 100%
- Create test_analyze_chess_game.py with 90 tests covering all functions - Add tests for PGN extraction, score conversion, move classification - Add tests for engine configuration, memory detection, analysis - Add pragma: no branch for unreachable code paths - Update pyproject.toml with coverage exclusions - All pre-commit hooks pass (ruff, mypy, pylint, bandit)