# Step 2: ui-progress-resume ## Read First - /AGENTS.md - /PLAN.md - /PROGRESS.md - /docs/HARNESS.md - /docs/IMPLEMENTATION_PLAN.md - /docs/UI_GUIDE.md - /phases/9-pyqt-thin-client/step1.md ## Task Connect UI progress, cancellation, error summary, log opening, and resume controls to the core API. The UI should show chunk success/failure and respect CUDA/auto runtime semantics. ## Sprint Contract - Done means: UI can display progress events and expose resume behavior without corrupting generated Markdown. - Hard thresholds: explicit CUDA failures are shown clearly; auto fallback warnings are visible; cancellation does not leave inconsistent runtime state. - Files owned: UI modules, tests/manual verification notes, `PROGRESS.md`, phase index. - Dependencies: PyQt shell and core runtime events. ## Acceptance Criteria ```powershell python scripts\validate_workspace.py ``` ## Verification 1. Run the acceptance command. 2. Record UI smoke test steps and screenshots only if the user asks for them. 3. Update `PROGRESS.md` and this phase index. ## Do Not - Do not write logs into Markdown content. - Do not silently fallback from explicit CUDA to CPU. - Do not implement a separate UI-only resume system.