# Jimsky Avatar Rehearsal Checklist — Review Only

**Status:** `avatar_rehearsal_checklist_manual_run_only_closed_until_human_yes`  
**Namespace:** Sonic-Forage  
**Purpose:** give the awake operator a safe, local rehearsal path for the avatar lane without starting streams, microphones, OBS automation, GPU jobs, paid APIs, uploads, public posts, or cron changes.

## Exact approval question

Do you approve a **local-only Jimsky avatar rehearsal** now? If yes, name the avatar lane, whether OBS/browser preview may be opened, whether microphone or TTS output may be used, the duration, and confirm that no Twitch/Kick/RTMP/Spaces/recording/GPU/paid API action is approved.

## 45-second rehearsal path

1. Run `PYTHONDONTWRITEBYTECODE=1 python3 scripts/verify_site.py` from the repo root.
2. Open `docs/avatar/index.html` locally or the proof hub `/avatar/` page for review.
3. Read the gate wall aloud: `STREAM: CLOSED`, `VOICE_TO_SHELL: FALSE`, `GPU: CLOSED`, `OBS: MANUAL ONLY`.
4. Open `docs/data/avatar-setup-control-room.json` and confirm the avatar persona seed, LiveKit/Pocket TTS lane, and Modal CPU-only seed lane are still review-only.
5. If OBS is involved, add a Browser Source manually only after confirming no stream or recording is live.
6. If voice is involved, test text-only copy first; do not start a microphone listener or voice room without the exact approval above.
7. Stop after one local preview choice: static overlay, voice-readiness notes, Modal CPU-only seed review, or keep-building docs.

## Terminal proof commands

```bash
PYTHONDONTWRITEBYTECODE=1 python3 scripts/verify_site.py
python3 -m json.tool docs/data/avatar-rehearsal-checklist.json >/dev/null
python3 -m json.tool docs/data/avatar-setup-control-room.json >/dev/null
```

Expected highlights:

- `VERIFY OK afterparty explainer site`
- `avatar_rehearsal_checklist_manual_run_only_closed_until_human_yes`
- `starts_stream=false`
- `starts_microphone_listener=false`
- `voice_to_shell=false`
- `starts_gpu=false`
- `mutates_cron=false`

## Safe wording

- “The avatar rehearsal is local/manual and closed-gate.”
- “This is not a live stream, not a voice room, and not OBS automation.”
- “Modal remains CPU-only unless a separate exact human approval names a GPU/media job.”
- “Previously exposed stream/API secrets are treated as rotated-required and are never printed.”

## Do not say

- Do not say the avatar is live on Twitch/Kick/RTMP/Spaces.
- Do not say OBS was controlled automatically.
- Do not say the microphone listener, voice-to-shell, or LiveKit room is running.
- Do not say GPU/model downloads/paid generation started.
- Do not say private media or datasets were uploaded.
- Do not say a public post, payment link, invoice, or outreach was created.

## Blocked without approval

- `public_posting=false`
- `publishes_stream=false`
- `records_audio=false`
- `starts_obs_control=false`
- `starts_microphone_listener=false`
- `voice_to_shell=false`
- `starts_gpu=false`
- `starts_paid_api=false`
- `uploads_private_media=false`
- `makes_dataset_public=false`
- `claim_openai_affiliation=false`
- `mutates_cron=false`
- `secret_exposure=false`

## Cleanup

Close the local avatar page or OBS preview tab, leave stream/record buttons untouched, leave cron untouched, and record only repo-local notes for the next builder loop.
