{
  "schema": "sonic_forage.avatar_first_phrase_packet.v1",
  "generated_utc": "2026-05-06T07:56:18Z",
  "status": "avatar_first_phrase_packet_manual_review_only_closed_until_human_yes",
  "canonical_namespace": "Sonic-Forage",
  "canonical_private_hf_dataset": "Sonic-Forage/jimsky-afterparty-logo-seed",
  "review_only": true,
  "manual_review_required": true,
  "manual_rehearsal_required": true,
  "manual_operator_required": true,
  "requires_human_approval": true,
  "auto_post_enabled": false,
  "auto_upload_enabled": false,
  "auto_stream_enabled": false,
  "auto_record_enabled": false,
  "auto_obs_enabled": false,
  "auto_voice_enabled": false,
  "auto_microphone_listener_enabled": false,
  "auto_gpu_enabled": false,
  "auto_paid_api_enabled": false,
  "auto_payment_enabled": false,
  "auto_outreach_enabled": false,
  "auto_cron_mutation_enabled": false,
  "human_approval_question": "Do you approve using exactly one Sonic-Forage Jimsky avatar first phrase in a local-only manual rehearsal after re-running the verifier and confirming all gates remain closed?",
  "operator_path": [
    "Run PYTHONDONTWRITEBYTECODE=1 python3 scripts/verify_site.py from the repo root.",
    "Open docs/avatar/index.html locally or on the proof hub and confirm SAFE MODE: ON plus VOICE_TO_SHELL: FALSE.",
    "Open docs/avatar/AVATAR_REHEARSAL_CHECKLIST.md and choose one local preview lane only.",
    "Copy one first phrase into a private rehearsal note or human-read script.",
    "Read it manually; do not start microphones, TTS output, LiveKit, OBS, RTMP, Spaces, uploads, providers, or cron changes.",
    "Compare the caption stub against the proof hub and remove revenue, affiliation, customer, launch, or live-stream overclaims.",
    "Stop after one phrase and ask for the next human-approved action."
  ],
  "first_phrase_cards": [
    {
      "id": "proof_hub_open",
      "phrase": "I am Jimsky, still in safe mode, opening the proof hub one artifact at a time.",
      "caption_stub": "Jimsky opens the Sonic-Forage proof hub; all live actions remain closed.",
      "use_when": "Start a private screen-share walkthrough.",
      "closed_gate": "No public post, stream, OBS control, microphone listener, TTS output, upload, GPU job, paid API, payment, outreach, or cron mutation."
    },
    {
      "id": "gate_wall_readout",
      "phrase": "Before anything goes live, I read the gate wall: no stream, no upload, no payments, no GPU, no cron mutation.",
      "caption_stub": "Gate wall readout for a manual avatar rehearsal.",
      "use_when": "Prove safety posture before demoing cards.",
      "closed_gate": "No public post, stream, OBS control, microphone listener, TTS output, upload, GPU job, paid API, payment, outreach, or cron mutation."
    },
    {
      "id": "operator_handoff",
      "phrase": "Mind Expander gets one clear next step: verify locally, choose one lane, then ask for approval.",
      "caption_stub": "Operator handoff: one local next step only.",
      "use_when": "End the rehearsal with a safe human decision.",
      "closed_gate": "No public post, stream, OBS control, microphone listener, TTS output, upload, GPU job, paid API, payment, outreach, or cron mutation."
    },
    {
      "id": "stream_loop_context",
      "phrase": "The stream loop is a review artifact until a human arms the RTMP key; I only describe it.",
      "caption_stub": "Review-only stream loop context, no broadcast started.",
      "use_when": "Explain stream readiness without touching OBS or RTMP.",
      "closed_gate": "No public post, stream, OBS control, microphone listener, TTS output, upload, GPU job, paid API, payment, outreach, or cron mutation."
    }
  ],
  "safe_wording": [
    "manual rehearsal only",
    "review-only avatar first phrase",
    "all live/provider/media/commercial gates remain closed",
    "human approval required before any external action"
  ],
  "do_not_say": [
    "we are live now",
    "the avatar is broadcasting",
    "the payment or invoice is ready to send",
    "the dataset/model is public",
    "OpenAI/Sonic-Forage partnership is confirmed",
    "GPU generation or voice-to-shell is running"
  ],
  "blocked_without_approval": [
    "public posting or scheduling",
    "Twitch/Kick/RTMP/Spaces/OBS start or restart",
    "microphone listener, LiveKit room, Pocket TTS output, or voice-to-shell",
    "GPU jobs, paid APIs, model downloads, training, or adapter uploads",
    "private media upload, Hugging Face public release, or dataset mutation",
    "payment links, checkout links, invoices, outreach, or revenue/affiliation claims",
    "wallet actions, secret printing, credential use, or cron mutation"
  ],
  "proof_paths": [
    "docs/avatar/index.html",
    "docs/avatar/JIMSKY_AVATAR_SETUP_RUNBOOK.md",
    "docs/avatar/AVATAR_REHEARSAL_CHECKLIST.md",
    "docs/data/avatar-setup-control-room.json",
    "docs/data/avatar-rehearsal-checklist.json",
    "scripts/verify_site.py"
  ],
  "verifier_commands": [
    "PYTHONDONTWRITEBYTECODE=1 python3 scripts/verify_site.py",
    "git diff --check"
  ],
  "closed_gates": {
    "public_posting": false,
    "outreach": false,
    "payment_links": false,
    "invoice_creation": false,
    "publishes_stream": false,
    "starts_obs_control": false,
    "starts_microphone_listener": false,
    "voice_to_shell": false,
    "uploads_private_media": false,
    "makes_dataset_public": false,
    "starts_gpu": false,
    "starts_paid_api": false,
    "downloads_models": false,
    "starts_training": false,
    "claim_revenue": false,
    "claim_openai_affiliation": false,
    "secret_exposure": false,
    "mutates_cron": false
  }
}
