v3.7.0

v3.7.0 — M8: TUI Implementation

Goal: Implement the comprehensive Text User Interface (TUI) and all TUI-dependent features using Textual >= 1.0.

Scope:

  • Textual-based MainScreen with 3 sidebar states (conversation, permissions, settings)
  • Persona system (YAML-based actor configuration with export/import)
  • Reference/command input system (@, /, ! modes)
  • TuiMaterializer A2A integration layer bridging TUI to the application layer
  • Session persistence (SQLite) with multi-session tab support
  • Dracula theme with configurable display settings
  • Settings screen, content pruning, and safety behaviors
  • Shell danger detection for destructive command interception
  • Permission Question Widget for interactive approval flows
  • First-run experience with actor setup wizard
  • Prometheus metrics export and operational observability
  • Session export/import (JSON + Markdown formats)
  • ACMS graph backend integration (Blazegraph/Neo4j)
  • PostgreSQL backend support for multi-user deployments
  • Helm chart for Kubernetes deployment

Key ADRs: ADR-044 (TUI Architecture), ADR-045 (Persona System), ADR-046 (Reference/Command System)

No deadline assigned. Development effort should focus on M1-M6 milestones first.

No due date
43% Completed
feat(tui): implement TuiMaterializer bridging A2A event queue to conversation view with ThoughtBlockWidget
Some checks failed
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
MoSCoW
Must have
Points
8
Priority
High
State
In Review
Type
Feature
#11179 opened 2026-05-13 00:30:34 +00:00 by HAL9000 5 / 8 2 change requests 3 conflicting files
fix(v3.7.0): resolve issue #1500 - actor add --update flag enforcement
All checks were successful
CI / lint (pull_request) Successful in 1m6s
CI / quality (pull_request) Successful in 1m25s
CI / typecheck (pull_request) Successful in 1m35s
CI / security (pull_request) Successful in 1m32s
CI / helm (pull_request) Successful in 44s
CI / build (pull_request) Successful in 53s
CI / push-validation (pull_request) Successful in 42s
CI / e2e_tests (pull_request) Successful in 4m13s
CI / benchmark-publish (pull_request) Has been skipped
CI / integration_tests (pull_request) Successful in 11m42s
CI / unit_tests (pull_request) Successful in 13m15s
CI / docker (pull_request) Successful in 2m40s
CI / coverage (pull_request) Successful in 23m50s
CI / status-check (pull_request) Successful in 3s
CI / benchmark-regression (pull_request) Successful in 1h3m57s
Priority
High
State
In Review
Type
Bug
#11178 opened 2026-05-12 23:50:37 +00:00 by HAL9000 1 change request 2 conflicting files
feat(tui): implement TuiMaterializer bridging A2A event queue to conversation view with ThoughtBlockWidget
Some checks failed
CI / push-validation (pull_request) Successful in 47s
CI / helm (pull_request) Successful in 50s
CI / build (pull_request) Successful in 1m14s
CI / lint (pull_request) Failing after 1m50s
CI / quality (pull_request) Successful in 1m56s
CI / typecheck (pull_request) Successful in 1m57s
CI / security (pull_request) Successful in 1m58s
CI / integration_tests (pull_request) Successful in 5m35s
CI / unit_tests (pull_request) Failing after 5m46s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / status-check (pull_request) Failing after 5s
MoSCoW
Must have
Points
8
Priority
High
State
In Review
Type
Feature
#11164 opened 2026-05-12 18:54:41 +00:00 by HAL9000 1 approval 1 conflicting file
fix(v3.7.0): resolve issue #1468 - plan use structured panels
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / helm (pull_request) Successful in 43s
CI / build (pull_request) Successful in 56s
CI / lint (pull_request) Failing after 1m2s
CI / push-validation (pull_request) Successful in 24s
CI / quality (pull_request) Successful in 1m26s
CI / typecheck (pull_request) Successful in 1m33s
CI / security (pull_request) Successful in 1m34s
CI / benchmark-regression (pull_request) Failing after 58s
CI / integration_tests (pull_request) Failing after 3m51s
CI / e2e_tests (pull_request) Successful in 4m13s
CI / unit_tests (pull_request) Failing after 4m30s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / status-check (pull_request) Failing after 3s
#11021 opened 2026-05-08 06:22:37 +00:00 by HAL9000 1 change request 2 conflicting files
feat(tui): implement SQLite session persistence and multi-session tab bar with state indicators
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / helm (pull_request) Successful in 56s
CI / build (pull_request) Successful in 58s
CI / lint (pull_request) Failing after 1m0s
CI / benchmark-regression (pull_request) Failing after 1m10s
CI / quality (pull_request) Successful in 1m39s
CI / typecheck (pull_request) Failing after 1m43s
CI / security (pull_request) Successful in 1m43s
CI / push-validation (pull_request) Successful in 22s
CI / integration_tests (pull_request) Successful in 3m53s
CI / e2e_tests (pull_request) Successful in 5m24s
CI / unit_tests (pull_request) Failing after 6m22s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / status-check (pull_request) Failing after 4s
MoSCoW
Must have
Priority
Medium
State
In Review
Type
Feature
#10994 opened 2026-05-07 09:46:33 +00:00 by HAL9000 8 / 8 1 change request 1 conflicting file
feat(cli): implement context show and context clear CLI commands for ACMS - Closes #9586
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / helm (pull_request) Successful in 38s
CI / lint (pull_request) Failing after 53s
CI / build (pull_request) Successful in 48s
CI / quality (pull_request) Successful in 1m9s
CI / benchmark-regression (pull_request) Failing after 1m12s
CI / typecheck (pull_request) Successful in 1m42s
CI / security (pull_request) Successful in 1m43s
CI / push-validation (pull_request) Successful in 24s
CI / e2e_tests (pull_request) Successful in 3m45s
CI / unit_tests (pull_request) Failing after 6m25s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / integration_tests (pull_request) Failing after 7m28s
CI / status-check (pull_request) Failing after 4s
#10991 opened 2026-05-07 05:13:47 +00:00 by HAL9000 4 / 4 1 change request 1 conflicting file
fix(plan): use structured alternatives objects in plan explain output per spec
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Failing after 52s
CI / push-validation (pull_request) Successful in 37s
CI / helm (pull_request) Successful in 46s
CI / build (pull_request) Successful in 1m2s
CI / lint (pull_request) Failing after 1m26s
CI / quality (pull_request) Successful in 1m33s
CI / typecheck (pull_request) Successful in 1m36s
CI / security (pull_request) Successful in 1m36s
CI / integration_tests (pull_request) Failing after 4m40s
CI / unit_tests (pull_request) Failing after 5m1s
CI / docker (pull_request) Has been skipped
CI / coverage (pull_request) Has been skipped
CI / e2e_tests (pull_request) Failing after 6m16s
CI / status-check (pull_request) Failing after 3s
#10983 opened 2026-05-06 10:03:14 +00:00 by HAL9000 5 / 7 1 change request 1 conflicting file
tests(benchmarks): add ASV performance benchmarks for the domain module
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 47s
CI / typecheck (pull_request) Successful in 1m40s
CI / benchmark-regression (pull_request) Failing after 1m10s
CI / build (pull_request) Successful in 44s
CI / quality (pull_request) Successful in 1m29s
CI / helm (pull_request) Successful in 36s
CI / push-validation (pull_request) Successful in 31s
CI / security (pull_request) Successful in 1m57s
CI / e2e_tests (pull_request) Successful in 3m39s
CI / integration_tests (pull_request) Successful in 5m0s
CI / unit_tests (pull_request) Successful in 6m34s
CI / docker (pull_request) Successful in 1m44s
CI / coverage (pull_request) Successful in 15m43s
CI / status-check (pull_request) Successful in 4s
#10956 opened 2026-05-03 00:56:31 +00:00 by HAL9000 1 change request
TEST-INFRA: [ci-pipeline-design] Add security scanning to Dockerfile.server
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Failing after 1m19s
CI / push-validation (pull_request) Successful in 28s
CI / helm (pull_request) Successful in 32s
CI / build (pull_request) Successful in 44s
CI / benchmark-regression (pull_request) Failing after 43s
CI / quality (pull_request) Successful in 1m21s
CI / typecheck (pull_request) Successful in 1m40s
CI / security (pull_request) Successful in 1m43s
CI / e2e_tests (pull_request) Successful in 5m1s
CI / integration_tests (pull_request) Successful in 5m22s
CI / unit_tests (pull_request) Failing after 8m51s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / status-check (pull_request) Failing after 5s
#10954 opened 2026-05-03 00:54:34 +00:00 by HAL9000 5 / 5 1 change request
fix(tui): extract @token text correctly in on_input_submitted suggestions query
Some checks failed
CI / lint (pull_request) Successful in 1m11s
CI / typecheck (pull_request) Successful in 1m26s
CI / security (pull_request) Successful in 1m34s
CI / build (pull_request) Successful in 47s
CI / benchmark-publish (pull_request) Has been skipped
CI / push-validation (pull_request) Successful in 20s
CI / helm (pull_request) Successful in 26s
CI / integration_tests (pull_request) Successful in 3m42s
CI / e2e_tests (pull_request) Successful in 3m46s
CI / unit_tests (pull_request) Failing after 12m36s
CI / quality (pull_request) Failing after 12m36s
CI / coverage (pull_request) Has been cancelled
CI / docker (pull_request) Has been cancelled
CI / status-check (pull_request) Has been cancelled
#10911 opened 2026-04-28 11:35:23 +00:00 by HAL9000 1 change request 1 conflicting file
style(.opencode/scripts): make ruff check pass on .opencode/scripts
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / push-validation (pull_request) Successful in 44s
CI / helm (pull_request) Successful in 46s
CI / lint (pull_request) Failing after 1m34s
CI / build (pull_request) Successful in 1m32s
CI / quality (pull_request) Successful in 1m43s
CI / security (pull_request) Successful in 1m54s
CI / typecheck (pull_request) Successful in 1m56s
CI / benchmark-regression (pull_request) Failing after 1m52s
CI / integration_tests (pull_request) Successful in 4m36s
CI / e2e_tests (pull_request) Successful in 5m4s
CI / unit_tests (pull_request) Successful in 6m53s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / status-check (pull_request) Failing after 3s
#10901 opened 2026-04-28 09:20:26 +00:00 by HAL9000 1 change request
fix(tui): wire ShellSafetyService into run_shell_command replacing legacy looks_dangerous
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / push-validation (pull_request) Successful in 35s
CI / helm (pull_request) Successful in 47s
CI / build (pull_request) Successful in 1m2s
CI / lint (pull_request) Failing after 1m30s
CI / quality (pull_request) Successful in 1m38s
CI / typecheck (pull_request) Successful in 1m56s
CI / security (pull_request) Successful in 1m55s
CI / coverage (pull_request) Has been skipped
CI / integration_tests (pull_request) Successful in 5m2s
CI / e2e_tests (pull_request) Successful in 5m44s
CI / unit_tests (pull_request) Failing after 6m30s
CI / docker (pull_request) Has been skipped
CI / status-check (pull_request) Failing after 3s
#10890 opened 2026-04-28 08:05:52 +00:00 by HAL9000 1 change request
test(tui): add TDD failing test for SQLite session persistence
Some checks failed
CI / lint (pull_request) Failing after 54s
CI / helm (pull_request) Successful in 28s
CI / quality (pull_request) Successful in 1m16s
CI / build (pull_request) Successful in 49s
CI / security (pull_request) Successful in 1m21s
CI / push-validation (pull_request) Successful in 39s
CI / typecheck (pull_request) Successful in 1m22s
CI / coverage (pull_request) Has been skipped
CI / benchmark-publish (pull_request) Has been skipped
CI / integration_tests (pull_request) Successful in 4m7s
CI / unit_tests (pull_request) Successful in 4m33s
CI / docker (pull_request) Has been skipped
CI / e2e_tests (pull_request) Successful in 5m25s
CI / status-check (pull_request) Failing after 2s
#10886 opened 2026-04-28 07:12:52 +00:00 by HAL9000 1 change request
fix(tui): convert PermissionsScreen from Static widget to proper Textual Screen subclass
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / helm (pull_request) Successful in 39s
CI / build (pull_request) Successful in 54s
CI / lint (pull_request) Failing after 1m11s
CI / quality (pull_request) Successful in 1m12s
CI / security (pull_request) Failing after 1m24s
CI / typecheck (pull_request) Successful in 1m33s
CI / coverage (pull_request) Has been skipped
CI / push-validation (pull_request) Successful in 22s
CI / e2e_tests (pull_request) Successful in 3m57s
CI / integration_tests (pull_request) Successful in 7m25s
CI / unit_tests (pull_request) Failing after 9m41s
CI / docker (pull_request) Has been skipped
CI / status-check (pull_request) Failing after 4s
#10866 opened 2026-04-27 04:20:43 +00:00 by HAL9000 1 change request 1 conflicting file
fix(cli): replace one-liner with structured Rich panel in validation attach output
Some checks failed
CI / security (pull_request) Failing after 18s
CI / lint (pull_request) Failing after 19s
CI / e2e_tests (pull_request) Failing after 11s
CI / quality (pull_request) Failing after 17s
CI / typecheck (pull_request) Failing after 19s
CI / coverage (pull_request) Has been skipped
CI / build (pull_request) Failing after 7s
CI / integration_tests (pull_request) Failing after 13s
CI / push-validation (pull_request) Successful in 21s
CI / helm (pull_request) Successful in 28s
CI / benchmark-publish (pull_request) Has been skipped
CI / unit_tests (pull_request) Failing after 15s
CI / docker (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Failing after 29s
CI / status-check (pull_request) Failing after 11s
#10819 opened 2026-04-22 08:55:40 +00:00 by HAL9000 1 change request
fix(tui): add alt+up and alt+down block cursor navigation key bindings
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 47s
CI / quality (pull_request) Successful in 59s
CI / typecheck (pull_request) Successful in 1m40s
CI / push-validation (pull_request) Successful in 25s
CI / build (pull_request) Successful in 41s
CI / security (pull_request) Successful in 1m45s
CI / helm (pull_request) Successful in 40s
CI / integration_tests (pull_request) Successful in 3m22s
CI / unit_tests (pull_request) Successful in 4m16s
CI / e2e_tests (pull_request) Failing after 4m39s
CI / docker (pull_request) Successful in 1m32s
CI / coverage (pull_request) Failing after 11m54s
CI / benchmark-regression (pull_request) Successful in 1h4m43s
CI / status-check (pull_request) Has been cancelled
#10761 opened 2026-04-19 12:36:37 +00:00 by HAL9000 1 change request 5 conflicting files
test(tui): add failing behave scenario for set_active_persona preset reset bug
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / push-validation (pull_request) Successful in 1m1s
CI / helm (pull_request) Successful in 1m11s
CI / build (pull_request) Successful in 1m39s
CI / benchmark-regression (pull_request) Failing after 2m19s
CI / lint (pull_request) Successful in 2m30s
CI / quality (pull_request) Successful in 2m25s
CI / typecheck (pull_request) Successful in 2m43s
CI / security (pull_request) Successful in 2m48s
CI / integration_tests (pull_request) Successful in 4m26s
CI / unit_tests (pull_request) Successful in 5m53s
CI / e2e_tests (pull_request) Successful in 5m27s
CI / docker (pull_request) Successful in 1m28s
CI / coverage (pull_request) Successful in 10m41s
CI / status-check (pull_request) Successful in 3s
Type
Testing
#10757 opened 2026-04-19 12:04:02 +00:00 by HAL9000 1 change request
fix(tui): convert PermissionsScreen from Static widget to proper Textual Screen subclass
Some checks failed
CI / helm (pull_request) Successful in 44s
CI / build (pull_request) Successful in 58s
CI / push-validation (pull_request) Successful in 38s
CI / lint (pull_request) Successful in 1m32s
CI / quality (pull_request) Successful in 1m37s
CI / security (pull_request) Successful in 1m49s
CI / typecheck (pull_request) Successful in 1m58s
CI / e2e_tests (pull_request) Successful in 4m56s
CI / integration_tests (pull_request) Failing after 5m12s
CI / unit_tests (pull_request) Failing after 5m20s
CI / docker (pull_request) Has been skipped
CI / coverage (pull_request) Successful in 11m54s
CI / status-check (pull_request) Failing after 3s
Type
Bug
#10744 opened 2026-04-19 11:01:10 +00:00 by HAL9000 1 change request 3 conflicting files