{
  "status": "avatar_setup_control_room_review_only_closed_until_human_yes",
  "canonical_namespace": "Sonic-Forage",
  "generated_utc": "2026-05-06T07:15:38Z",
  "review_only": true,
  "requires_human_approval": true,
  "manual_operator_required": true,
  "auto_stream_enabled": false,
  "auto_avatar_live_enabled": false,
  "auto_voice_enabled": false,
  "auto_obs_enabled": false,
  "auto_gpu_enabled": false,
  "modal_cpu_only_default": true,
  "purpose": "Prepare a safe Jimsky avatar/persona lane for future livestream or browser demo setup without starting streams, microphones, GPU jobs, public posts, or paid media generation.",
  "architecture_lanes": [
    {
      "id": "browser_avatar_overlay",
      "title": "Browser avatar overlay",
      "stack": "Static HTML/CSS/JS placeholder first; later VTube Studio/Open-LLM-VTuber/Live2D after approval",
      "operator_value": "OBS can add it as a Browser Source when the human is awake.",
      "closed_gate": "No OBS scene mutation or stream start while unattended."
    },
    {
      "id": "voice_agent_lane",
      "title": "LiveKit + Pocket TTS voice lane",
      "stack": "LiveKit WebRTC, Pocket TTS OpenAI server, faster-whisper STT, LLM",
      "operator_value": "Prepared route for talking Jimsky once services are manually started and verified.",
      "closed_gate": "No microphone listener, voice-to-shell, or external room start without approval."
    },
    {
      "id": "modal_avatar_seed_lane",
      "title": "Modal avatar seed factory",
      "stack": "CPU-only Modal function produces review-only persona/scene seeds",
      "operator_value": "Keeps generating safe setup ideas overnight using credits lightly without GPU.",
      "closed_gate": "No GPU/model download/paid generation unless exact job approved."
    },
    {
      "id": "obs_router_lane",
      "title": "OBS operator router",
      "stack": "Existing safe operator/router pages plus hotkey map",
      "operator_value": "Avatar scene can be added to the router map later.",
      "closed_gate": "No WebSocket control or scene switch automation while asleep."
    }
  ],
  "first_manual_setup_steps": [
    "Open proof hub avatar page: docs/avatar/index.html or public Pages /avatar/.",
    "Review closed gates and choose avatar mode: static overlay, LiveKit voice, VTube/Live2D, or Modal seed only.",
    "If using voice, verify Pocket TTS server locally before LiveKit; do not expose without a tunnel and mobile audio unlock.",
    "If using OBS, add browser source manually only after checking no stream/recording is live.",
    "Run verifier: PYTHONDONTWRITEBYTECODE=1 python3 scripts/verify_site.py."
  ],
  "avatar_persona_seed": {
    "name": "Jimsky / Mind Expander Signal Avatar",
    "vibe": "rave-festival operator, neon pirate radio host, PLUR command center, proof-over-hype builder",
    "voice_style": "short, high-energy, friendly, no fake wins; 2-4 sentence voice replies",
    "visual_cues": [
      "neon cyan/pink/gold aura",
      "intergalactic radio helmet",
      "kandi bracelet signal LEDs",
      "safe-mode gate badges",
      "glitch captions"
    ],
    "catchphrases": [
      "Signal clean. Gates closed. Proof live.",
      "We missed the party, so we built the afterparty.",
      "Local lanes, Modal lanes, GPU lanes \u2014 all gated, all visible."
    ]
  },
  "modal_scripts": [
    "modal/sonic_forage_modal_avatar_seed_factory.py",
    "modal/sonic_forage_modal_content_factory.py"
  ],
  "proof_paths": [
    "docs/avatar/JIMSKY_AVATAR_SETUP_RUNBOOK.md",
    "docs/avatar/index.html",
    "docs/data/avatar-setup-control-room.json",
    "modal/sonic_forage_modal_avatar_seed_factory.py",
    "docs/data/site-manifest.json"
  ],
  "human_approval_question": "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.",
  "blocked_without_approval": [
    "No Twitch/Kick/RTMP/Spaces start.",
    "No OBS WebSocket scene mutation.",
    "No microphone listener or voice room launch.",
    "No voice-to-shell routing.",
    "No GPU inference/model download.",
    "No paid API media generation.",
    "No public posting/scheduling.",
    "No HF dataset publication.",
    "No private media upload.",
    "No secret printing or committing."
  ],
  "closed_gates": {
    "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
  },
  "verifier_commands": [
    "PYTHONDONTWRITEBYTECODE=1 python3 scripts/verify_site.py",
    "python3 -m py_compile modal/sonic_forage_modal_avatar_seed_factory.py"
  ]
}
