# QA RC59 Report

## Scope
RC59 corrects the issues found in real iPhone screenshots after RC58.

## Implemented changes
- Corrected program data counting:
  - Program cards now count the concrete program unit: `stage + phase`.
  - Stage 2 programs now show 12 pass / 4 veckor / 3 pass per vecka instead of 36 pass.
  - Archived progress is filtered to the selected program's actual pass keys.
- Reworked resume/restart prompt:
  - Removed nested in-card prompt layout.
  - Added a true modal/sheet with full width text and clear actions.
- Reworked program preview:
  - Preview uses program data from the selected program only.
  - Exercises are grouped by section/category like passöversikten.
  - Preview remains a template view without live calendar status.
- Fixed active-program default id mismatch.

## Verification
- `node --check assets/js/app.js`: OK
- `php -l ota_youtube_proxy.php`: OK
- Visual QA screenshots produced via fallback render chain: static HTML fixture -> WeasyPrint PDF -> PNG.

## QA screenshots
- `qa_screenshots/rc59_program_mobile_390x844.png`
- `qa_screenshots/rc59_program_full_mobile_390x1600.png`
- `qa_screenshots/rc59_program_preview_mobile_390x844.png`
- `qa_screenshots/rc59_program_resume_modal_mobile_390x844.png`
- `qa_screenshots/rc59_program_ipad_820x1180.png`
- `qa_screenshots/rc59_program_desktop_1440x1024.png`

## Notes
The fixture explicitly validates the two main fixes the phone screenshots revealed:
1. progress uses 12 pass for Snabbhetsmix instead of 36
2. resume/restart is a modal, not a broken nested card
