# QA RC91 Report

## Scope
Non-video service modularization.

## Intentional UI changes
None.

## Changed
- Added `assets/js/services/profile-service.js`.
- Added `assets/js/services/program-service.js`.
- `app.js` now wraps profile/program service helpers instead of owning those full implementations.
- `preview.html` loads service modules before `data.js`/renderers/app.
- Added `tests/rc91_service_smoke.js`.

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

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

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

## Deferred
Exercise player/video was not touched.

## Manual test focus
Same as RC89/RC90:
- Dashboard.
- Kalender.
- Program.
- Profil.
- Kalender → passöversikt → tillbaka.
- Redigera profil → spara/avbryt.
- Starta pass still opens player.
