## What and why

<!-- What changes, and the reason. The diff shows the what; the why is what
     the commit log is for. -->

## How it was verified

<!-- What you actually ran or clicked. "Tests pass" on its own says little;
     "played a transcoded episode on Android, seeked twice, backgrounded it"
     says a lot. -->

## Checklist

- [ ] `bun run check`, `bun run test`, `bun run format:check`, `bun run lint`
- [ ] `cargo fmt`, `cargo clippy --all-targets -- -D warnings`, `cargo test`
- [ ] `bun run check:boundary` — no Jellyfin taxonomy in the frontend
- [ ] New requirement-implementing code carries a `TRACES:` comment, and every
      ID it names exists in `docs/requirements.md` (`bun run traces:validate`)
- [ ] **Bug fix:** a test that reproduces it was written *first* and observed
      failing before the fix
- [ ] Android source edits were made in `src-tauri/android/src` and synced with
      `scripts/sync-android-sources.sh` (never edit `gen/` directly)
