Add a matrix strategy to the unit_tests and integration_tests jobs in
ci.yml so that tests run against all Python versions listed in
SUPPORTED_PYTHONS in noxfile.py (currently ["3.13"]).
Changes:
- Add strategy.matrix.python-version to unit_tests and integration_tests
- Set fail-fast: false so all matrix versions run even if one fails
- Use matrix.python-version in the container image tag
- Invoke nox with the versioned session name (e.g. unit_tests-3.13)
- Scope uv cache keys per Python version to avoid cross-version pollution
- Remove the now-unused global PYTHON_VERSION env var
When SUPPORTED_PYTHONS is extended in noxfile.py, only the matrix list
in ci.yml needs updating to add the new version.
ISSUES CLOSED: #1539
Implements the first-run experience for the TUI as specified in the
specification's 'First-Run Experience' section (§ TUI Architecture).
On first launch (no personas configured), a centered ActorSelectionOverlay
widget is displayed guiding the user to select an actor. The overlay
supports keyboard navigation (j/k), fuzzy search (/), and confirmation
(enter). Selecting an actor creates a default persona and dismisses the
overlay.
Changes:
- Add src/cleveragents/tui/first_run.py: is_first_run() detection helper
and create_default_persona_for_actor() setup helper
- Add src/cleveragents/tui/widgets/actor_selection_overlay.py:
ActorSelectionOverlay widget with show/hide/navigate/search/confirm API
and render_actor_selection() pure rendering function
- Update src/cleveragents/tui/app.py: integrate first-run check in
on_mount(), yield ActorSelectionOverlay in compose(), add
_complete_first_run() method
- Update src/cleveragents/tui/widgets/__init__.py: export
ActorSelectionOverlay
- Add features/tui_first_run.feature + features/steps/tui_first_run_steps.py:
comprehensive Behave BDD tests covering all public API paths
ISSUES CLOSED: #1007