Files
proxy/.scratch/tui-redesign/issues/04-operation-coordination-and-status.md
T

1.9 KiB

04 — Unify operation coordination and status feedback

What to build: Give every interactive operation one coherent model for progress, serialization, confirmations, current status, partial failure, and safe exit while keeping the dashboard browsable.

Blocked by: 03 — Stream progressive startup and refresh.

Status: ready-for-agent

  • Detection, Target mutation, and Active Profile transition use one presentation-independent progressive operation contract where their semantics overlap.
  • System mutations remain serialized and a conflicting action exposes an actionable disabled reason instead of silently ignoring input.
  • During a mutation, users can still select Targets, scroll details, and open existing read-only Help.
  • The affected Target row displays progress while the status area describes the current step.
  • Successful status is replaceable by later activity.
  • Current errors remain visible until acknowledged, superseded by explicit resolution, or replaced by a directly related result.
  • Current error details can be expanded without introducing an activity-history page.
  • Partial Active Profile transitions retain successful Target updates, preserve the no-cross-Target-rollback rule, and focus the first failed Target.
  • Confirmation state, progress, and final result are structured; the TUI does not parse user-facing strings to infer operation state.
  • q on the dashboard and Ctrl+C on any page request exit; during a mutation the UI visibly reports deferred exit and exits only after safe completion.
  • No new work can begin after deferred exit is requested.
  • The concrete Application remains usable by existing synchronous callers while obsolete interactive fallback paths are removed after migration.
  • Application and complete-Model tests cover browsing while busy, blocked mutations, persistent errors, partial failure, confirmation, and deferred exit.