Files
proxy/.scratch/tui-redesign/issues/03-progressive-startup-and-refresh.md
T

24 lines
2.0 KiB
Markdown

# 03 — Stream progressive startup and refresh
**What to build:** Show the dashboard immediately and update each Target independently as detection completes, both at startup and when the user refreshes.
**Blocked by:** 02 — Deliver the Operations Console dashboard.
**Status:** done
- [x] Interactive application construction exposes Target identity and descriptions before availability and inspection complete.
- [x] Startup renders every known Target in a structured Checking state without waiting for aggregate detection.
- [x] Availability and inspection results stream to the TUI one Target at a time.
- [x] Refresh uses the same progressive behavior rather than a separate aggregate-only path.
- [x] Checking rows display a non-color-only progress cue and update independently on success or failure.
- [x] Independent completion order does not reorder Targets or move selection to a different identity.
- [x] A Target detection failure is represented truthfully without preventing unrelated Target results from appearing.
- [x] The progressive Application Interface contains presentation-independent phases and results rather than Bubble Tea types or strings that callers must parse.
- [x] Existing non-interactive maintenance behavior remains compatible.
- [x] Application tests cover independent completion order, mixed success/failure, and final snapshots.
- [x] Complete-Model tests prove the first useful frame precedes detection completion and each subsequent result updates only the relevant row.
## Answer
Progressive startup and refresh now publish authoritative Application snapshots per Target while generation checks discard stale overlapping results. Application state and snapshots share one lock, dispatch invalidates in-flight detection before committing mutations, and the dashboard retains selected Target identity—including a newly unavailable selected Target. Adapter detection failures are classified truthfully without changing maintenance inspection semantics.