feat(tui): implement Settings screen and session management screen #10651

Merged
HAL9000 merged 8 commits from feat/v370/tui-settings-sessions-screens into master 2026-06-13 21:11:30 +00:00

8 Commits

Author SHA1 Message Date
controller-ci-rerun 3da234d377 chore: re-trigger CI [controller]
CI / push-validation (pull_request) Successful in 30s
CI / lint (pull_request) Successful in 39s
CI / build (pull_request) Successful in 44s
CI / quality (pull_request) Successful in 1m9s
CI / security (pull_request) Successful in 1m16s
CI / helm (pull_request) Successful in 1m17s
CI / typecheck (pull_request) Successful in 1m22s
CI / unit_tests (pull_request) Successful in 5m46s
CI / docker (pull_request) Successful in 1m35s
CI / integration_tests (pull_request) Successful in 10m1s
CI / coverage (pull_request) Successful in 10m55s
CI / status-check (pull_request) Successful in 4s
2026-06-13 16:54:29 -04:00
controller-ci-rerun 0534bdc0ea chore: re-trigger CI [controller] 2026-06-13 16:54:29 -04:00
controller-ci-rerun 2cce013fd6 chore: re-trigger CI [controller] 2026-06-13 16:54:29 -04:00
controller-ci-rerun a5f5779734 chore: re-trigger CI [controller] 2026-06-13 16:54:29 -04:00
HAL9000 bd18f10040 fix(tui): apply ruff format and expand behave coverage for new TUI screens
- session_management.py: collapse three multi-line statements that
  ruff format would otherwise reformat (CI lint gate was failing on
  `ruff format --check`).
- features/tui_settings_session_screens.feature: add three scenarios
  that exercise the previously uncovered paths reported by
  diff_coverage on prior attempts:
  - SettingsScreen.get_settings() returns a settings dict
  - SessionManagementScreen renders sessions when visible+loaded
    (covers the render-loop body + _render_session_details
    non-None branch + the four detail lines)
  - TuiCommandRouter routes "/settings" to _settings_command
- features/steps/tui_settings_session_screens_steps.py:
  - Make `the selected_index should be {index:d}` look up whichever
    screen the scenario created (the step was always referencing
    `context.settings_screen`, which crashed in the
    SessionManagementScreen scenarios).
  - Reuse the existing TuiCommandRouter steps from
    tui_commands_coverage_steps.py for the /settings scenario.

The unit_tests / integration_tests CI gates on the prior run were
red on tests unrelated to this PR (CheckpointRepository and
actor_run_signature.robot, neither touched here); the targeted
behave run for this PR's feature file passes locally with all 12
scenarios green.
2026-06-13 16:54:29 -04:00
controller-ci-rerun 329b04422f chore: re-trigger CI [controller] 2026-06-13 16:54:29 -04:00
controller-ci-rerun d4120ff5c1 chore: re-trigger CI [controller] 2026-06-13 16:54:29 -04:00
HAL9000 d54cea6b91 feat(tui): implement SettingsScreen and SessionManagementScreen 2026-06-13 16:54:29 -04:00