# Songbook offline rehearsal check

Last refreshed: 2026-07-01 08:05 AWST

Purpose: a 60-second, public-safe pre-gig rehearsal to prove the chordbook remains usable when internet, canonical JSON, or fallback JSON is flaky. This is an operator check only; it does not publish private songs, credentials, payment details, router data, Wi-Fi secrets, or private gig notes.

## 60-second pre-gig offline test

1. **Open the songbook shell**
   - Open `https://chords.system8.com.au/` or the local preview.
   - Expected: the search box, import/export controls, Audience button, and support links remain visible.

2. **Confirm cached/local songs are safe**
   - If starter songs load, confirm the browser shows public-safe seed songs only.
   - If the seed routes fail, keep going: existing browser-local songs must remain available and localStorage must not be wiped.

3. **Open projector/audience view**
   - Use the `Audience` button and select a song if one is available.
   - Expected: audience/projection view shows public-safe lyrics/fallback copy only and does not reveal edit controls, private notes, import/export controls, router details, Wi-Fi secrets, or payment credentials.

4. **Verify friendly failure copy**
   - Canonical route down: `Can't reach the main song list yet - trying the backup song list now.`
   - Both seed routes down: `The online starter song list is unavailable. Your saved browser songs and import/export tools still work.`
   - Offline mode: `Offline mode: use songs already saved on this device, or import a backup JSON when you are ready.`

5. **Decision before playing**
   - Green light: app shell opens, local/cached songs or import tools are visible, audience view is public-safe, and no console errors appear.
   - Hold: blank shell, missing import/export controls, private notes on audience/projector view, or console errors that break song display.

## Human-present gates

- Real no-internet rehearsal on the actual van laptop/phone.
- Final projector readability/comfort check.
- Real backup file location and restore practice.
- Live phone scan/payment/Wi-Fi/public-link decisions.

## Verification

Run from `/home/nk/chords-system8-live-site`:

```sh
npm test
python3 -m json.tool chords.system8.json >/tmp/chords-system8-json-route-local.json
python3 -m json.tool songs.json >/tmp/chords-system8-songs-route-local.json
cmp -s chords.system8.json songs.json
```

Browser check: open the local homepage, confirm the `Offline rehearsal check` link appears beside the live health/JSON cards, open this card, and confirm the five-step check renders with no console errors.
