# QA RC92 Report

## Scope
All practical non-video modularization before the exercise/video boundary.

## Intentional UI changes
None.

## Changed
- Added `assets/js/actions/navigation-actions.js`.
- Added `assets/js/actions/calendar-actions.js`.
- Added `assets/js/actions/profile-actions.js`.
- Added `assets/js/actions/program-actions.js`.
- `app.js` now wraps these action modules through context objects.
- Added `tests/rc92_action_smoke.js`.
- Existing service smoke test remains.

## Deferred
Exercise player/video was not touched.

## Validation
- JavaScript syntax: OK.
- PHP lint: OK.
- Service smoke test: OK.
- Action smoke test: OK.
- ZIP integrity: OK.

## Smoke tests
```bash
node tests/rc91_service_smoke.js
node tests/rc92_action_smoke.js
```

Expected:
```text
RC91 service smoke tests OK
RC92 action smoke tests OK
```

## Manual test focus
Same known-good baseline:
- Dashboard.
- Kalender.
- Program.
- Profil.
- Kalender → passöversikt → tillbaka.
- Redigera profil → spara/avbryt.
- Program preview/select/resume/restart.
- Starta pass still opens player.
