# Jimsky Avatar Setup Control Room

Status: `avatar_setup_control_room_review_only_closed_until_human_yes`

This is the safe avatar setup lane for Sonic-Forage / Afterparty Forge. It prepares the avatar stack while keeping live microphones, OBS control, streaming, GPU, paid generation, and public posting closed until Mind Expander gives exact approval.

## What can be built unattended

- Static browser avatar overlay spec/page.
- Persona/scene seed manifests.
- CPU-only Modal avatar seed runs.
- Operator runbooks and proof-hub links.
- Verifiers and closed-gate checklists.

## What stays closed

- starts_stream=false
- starts_obs_control=false
- starts_microphone_listener=false
- voice_to_shell=false
- starts_gpu=false
- starts_paid_api=false
- public_posting=false
- makes_dataset_public=false
- uploads_private_media=false
- prints_secrets=false
- mutates_cron=false

## Recommended avatar stack

### Lane A — Static OBS-safe avatar overlay

Use first. It needs no GPU and can be manually added as an OBS Browser Source later.

- Proof page: `docs/avatar/index.html`
- Human action later: add browser source manually while stream/recording is OFF.

### Lane B — LiveKit + Pocket TTS voice avatar

Use after awake verification.

- Pocket TTS OpenAI-compatible server: local port `49112`
- LiveKit voice agent project: `/opt/data/workspace/projects/livekit-voice-agent`
- Known pitfall: mobile browsers require a tap-to-start audio unlock before remote audio works.
- Known pitfall: LiveKit entrypoint must not block after `session.start()`.

### Lane C — Modal avatar seed factory

Safe tonight. CPU-only, review-only.

```bash
cd /opt/data/hermes-agent
source venv/bin/activate
set -a; source /opt/data/.env >/dev/null 2>&1; set +a
modal run /opt/data/workspace/projects/afterparty-forge-explainer-site/modal/sonic_forage_modal_avatar_seed_factory.py --theme 'Jimsky intergalactic radio avatar'
```

### Lane D — Future VTube / Live2D / Open-LLM-VTuber

Not activated tonight. This is a later integration after choosing model/assets and approving any local services or GPU.

## Exact approval needed

**Do you approve turning on a specific avatar lane? Name the exact lane, stream/room target if any, duration, spend cap, and whether OBS/mic/GPU may be used.**

Examples:

- `Approve static avatar overlay only. No stream, no recording, no mic, no GPU.`
- `Approve LiveKit room test for 10 minutes, no stream, no shell tools, no public link.`
- `Approve one Modal GPU avatar render, L4 max 20 minutes, cost cap $X, output one local MP4 only.`

## Verification

```bash
python3 -m py_compile modal/sonic_forage_modal_avatar_seed_factory.py
PYTHONDONTWRITEBYTECODE=1 python3 scripts/verify_site.py
```
