feat(tui): implement TuiMaterializer bridging A2A event queue to conversation view with ThoughtBlockWidget #11179

Closed
HAL9000 wants to merge 6 commits from feat/tui-tuimat-5326 into master

6 Commits

Author SHA1 Message Date
HAL9000 b9428dd7c5 fix(tui): convert null string to None in phase step for correct BDD semantics
CI / push-validation (pull_request) Successful in 43s
CI / helm (pull_request) Successful in 48s
CI / build (pull_request) Successful in 1m15s
CI / lint (pull_request) Successful in 1m46s
CI / typecheck (pull_request) Successful in 1m55s
CI / security (pull_request) Successful in 1m55s
CI / quality (pull_request) Successful in 1m58s
CI / integration_tests (pull_request) Successful in 7m29s
CI / unit_tests (pull_request) Failing after 9m15s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / status-check (pull_request) Failing after 3s
Behave passes unquoted 'null' as literal string 'null', not Python None.
Normalise it so the test correctly exercises the n/a phase placeholder logic.
2026-05-17 22:56:10 +00:00
HAL9000 5712f2c139 test(tui): add cancelled status icon BDD scenario — addresses freemo review #8702 suggestion (#11179)
CI / push-validation (pull_request) Successful in 47s
CI / helm (pull_request) Successful in 52s
CI / lint (pull_request) Successful in 1m21s
CI / build (pull_request) Successful in 1m12s
CI / quality (pull_request) Successful in 1m46s
CI / typecheck (pull_request) Successful in 1m56s
CI / security (pull_request) Successful in 1m56s
CI / integration_tests (pull_request) Successful in 4m40s
CI / unit_tests (pull_request) Failing after 6m40s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / status-check (pull_request) Failing after 3s
2026-05-16 08:18:09 +00:00
HAL9000 0b50bd9405 fix(tui): correct CONTRIBUTORS.md PR number and vulture_whitelist.py class name entry
CI / push-validation (pull_request) Successful in 29s
CI / helm (pull_request) Successful in 37s
CI / build (pull_request) Successful in 1m7s
CI / lint (pull_request) Successful in 1m20s
CI / quality (pull_request) Successful in 1m32s
CI / typecheck (pull_request) Successful in 1m43s
CI / security (pull_request) Successful in 2m7s
CI / integration_tests (pull_request) Successful in 4m1s
CI / unit_tests (pull_request) Failing after 6m59s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / status-check (pull_request) Failing after 2s
- Fix CONTRIBUTORS.md to reference PR #11179 (was #11164)
- Fix vulture_whitelist.py: _TThoughtBlockStub → _ThoughtBlockStub
  (class name typo prevented vulture from suppressing the intended warnings)

Refs: #11179
2026-05-15 07:42:05 +00:00
freemo 0e12409fc2 fix(tui): apply ruff format to resolve format check CI failure
CI / lint (pull_request) Successful in 1m32s
CI / typecheck (pull_request) Successful in 1m40s
CI / quality (pull_request) Successful in 1m45s
CI / security (pull_request) Successful in 1m51s
CI / push-validation (pull_request) Successful in 36s
CI / helm (pull_request) Successful in 39s
CI / build (pull_request) Successful in 48s
CI / integration_tests (pull_request) Successful in 3m34s
CI / unit_tests (pull_request) Failing after 5m5s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / status-check (pull_request) Failing after 3s
Pure formatting changes — ruff reformatted string quotes and simplified
multi-line expressions in the TUI materializer files.
2026-05-13 08:50:58 +00:00
freemo d4feae6a96 fix(ci): resolve lint, typecheck, and test failures for TuiMaterializer
CI / lint (pull_request) Failing after 1m0s
CI / typecheck (pull_request) Successful in 1m18s
CI / quality (pull_request) Successful in 49s
CI / push-validation (pull_request) Successful in 35s
CI / security (pull_request) Successful in 2m9s
CI / helm (pull_request) Successful in 55s
CI / build (pull_request) Successful in 56s
CI / unit_tests (pull_request) Failing after 4m29s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / integration_tests (pull_request) Successful in 6m42s
CI / status-check (pull_request) Failing after 5s
- Correct import path from clevertui.widgets to cleveragents.tui.widgets
- Use collections.abc.Callable instead of typing.Callable (UP035)
- Split long line to stay under 88 char limit (E501)
- Add pass statement to step_process() with empty body
- Remove unused variables in step_start callback
- Add TUI materializer false positives to vulture_whitelist.py
2026-05-13 05:17:23 +00:00
HAL9000 aef4398b11 feat(tui): implement TuiMaterializer bridging A2A event queue to conversation view with ThoughtBlockWidget
CI / helm (pull_request) Successful in 57s
CI / build (pull_request) Successful in 1m24s
CI / lint (pull_request) Failing after 1m48s
CI / quality (pull_request) Successful in 1m48s
CI / unit_tests (pull_request) Failing after 2m9s
CI / security (pull_request) Successful in 2m42s
CI / typecheck (pull_request) Failing after 3m7s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / push-validation (pull_request) Successful in 24s
CI / integration_tests (pull_request) Successful in 7m15s
CI / status-check (pull_request) Failing after 3s
Bridge A2A event queue events (TaskStatusUpdateEvent, TaskArtifactUpdateEvent) into thought-block-style entries rendered in the TUI conversation stream via subscription pattern. Includes headless buffer for testing, gradient fallback when Textual unavailable, and comprehensive BDD test coverage (17 scenarios). Part of Epic v3.7.0 milestone — TUI Implementation.

ISSUES CLOSED: #5326
2026-05-13 00:14:25 +00:00