[Grid agent] Build the cross-platform operator TUI #128
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Objective
Build a responsive terminal operator interface in pure Rust that works both embedded in the agent process and as a separate client of the portable control plane.
Required interface
Responsiveness and portability
Rendering must be event-driven with bounded refresh/event queues; high-rate logs are sampled/coalesced without losing error counts. No Unix-only terminal/IPC assumptions. The service remains independent when the TUI exits or crashes.
Acceptance criteria
Dependencies
Depends on control plane and observability. Feature-specific panels consume their stable APIs; the TUI must not import private runtime state.
Implemented in commit
6370b3e. Added a pure-Rust cross-platform operator TUI with one reducer/snapshot model for authenticated in-process and TCP clients; overview, session, queue/budget, roaming, approval, filtered timeline, health/metrics, error, and redacted-diagnostic views; bounded/coalesced refresh and input handling; Unicode/small-terminal/NO_COLOR rendering; risk confirmations and all requested management commands; terminal restoration guards; and reconnecting split transport for restarted services. Added embedded --tui and separate --tui-client launch modes, operator documentation, reviewed crossterm/unicode-width dependencies, and the grid-agent to the existing ubuntu-latest Windows GNU cross-check.Verified: cargo test --locked -p metacrate-grid-agent (106 unit + integration/doc tests); focused tui_tests; dependency_policy; integrated/TCP control-plane conformance; observability bounds/gaps; live-grid all-target clippy with -D warnings; rustdoc with -D warnings; CLI help smoke; and metacrate-ci-matrix ci-audit. The direct local Windows cross-check was also attempted and reached aws-lc-sys, where this workstation lacks x86_64-w64-mingw32-gcc; the committed ubuntu-latest release gate installs mingw-w64 and now owns that compile check.