Commit Graph

2 Commits

Author SHA1 Message Date
freemo a1cf8164f3 chore(ci): use matrix strategy for Python versions in unit and integration test jobs
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
2026-04-03 02:07:28 +00:00
freemo 2863b5d1e1 feat(tui): implement first-run experience with actor selection overlay
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
2026-04-02 17:12:54 +00:00