# QA RC61 Report

## Scope
RC61 updates the Program flow after RC60:

- Correct program week counting so weeks are counted as unique `phase + week` combinations.
- Convert **Förhandsvisa** from a pass-by-pass / calendar-like preview into a program content detail.
- List all unique exercises in the program, grouped by section/category.
- Remove doses/prescriptions from the program preview.
- Show equipment clearly both as a program-level list and per exercise where the equipment is required.

## Implemented changes
- `programLibraryStats()` now calculates weeks using `phase + week`, avoiding undercounting when each phase reuses week numbers.
- `programPreviewHtml()` now renders a program content detail:
  - program summary
  - focus chips
  - complete equipment list
  - grouped exercise list
  - no dosage/prescription text
- Added helper functions:
  - `programEquipmentChip()`
  - `programEquipmentIcon()`
  - `programEquipmentList()`
  - `programExerciseGroups()`
- Added isolated RC61 CSS for preview/detail layout.
- Cache references updated to `96rc61`.

## QA checks
- JavaScript syntax: OK (`node --check assets/js/app.js`)
- PHP lint: OK (`php -l ota_youtube_proxy.php`)
- Cache references: OK (`96rc61`)
- Package zip: OK

## Visual QA
Most QA screenshots were produced with the established static fallback render path. The preview screenshot is a static visual fixture of the new preview/detail design because the richer preview HTML path caused WeasyPrint to hang in the sandbox renderer; the app code itself passed syntax checks.

Screenshots:
- `qa_screenshots/rc61_program_mobile_390x844.png`
- `qa_screenshots/rc61_program_full_mobile_390x1600.png`
- `qa_screenshots/rc61_program_preview_mobile_390x844.png`
- `qa_screenshots/rc61_program_resume_modal_mobile_390x844.png`
- `qa_screenshots/rc61_program_ipad_820x1180.png`
- `qa_screenshots/rc61_program_desktop_1440x1024.png`

## QA assessment
- Program overview keeps the model-driven structure from RC60.
- Program stats now align with the 12-week model approach rather than only unique week numbers.
- Preview/detail is now focused on program content instead of calendar planning.
- Exercise list no longer hides content behind `+N` markers.
- Doses are intentionally omitted from program preview and remain the responsibility of pass overview / active pass.
- Equipment is visible at both the program and exercise level.
