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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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