{
  "schema": "sonic_forage.proof_hub_second_click_route.v1",
  "generated_utc": "2026-05-06T09:40:00Z",
  "status": "proof_hub_second_click_route_manual_review_only_closed_until_human_yes",
  "canonical_namespace": "Sonic-Forage",
  "review_only": true,
  "manual_review_required": true,
  "requires_human_approval": true,
  "auto_post_enabled": false,
  "auto_upload_enabled": false,
  "auto_stream_enabled": false,
  "auto_payment_enabled": false,
  "auto_cron_mutation_enabled": false,
  "purpose": "Give an awake operator a second-click route after the next-decision compass without starting outreach, posting, uploading, streaming, payments, provider jobs, voice-to-shell, or cron changes.",
  "source_paths": [
    "docs/launch/PROOF_HUB_NEXT_DECISION_COMPASS.md",
    "docs/data/proof-hub-next-decision-compass.json",
    "docs/launch/PROOF_HUB_START_HERE.md",
    "docs/revenue/BUYER_SAFE_NEXT_ACTION_CARD.md",
    "docs/streaming/STREAM_REHEARSAL_CHECKLIST.md",
    "docs/avatar/AVATAR_REHEARSAL_CHECKLIST.md"
  ],
  "route_cards": [
    {
      "id": "choose_human_next_decision_compass",
      "when_to_open": "First click after the proof hub loads and before any external action is considered.",
      "proof_path": "docs/launch/PROOF_HUB_NEXT_DECISION_COMPASS.md",
      "operator_action": "Read the compass and choose zero or one next route for manual review.",
      "human_approval_needed_for": "Any public post, outreach, stream, upload, payment, provider job, dataset change, voice-to-shell, or cron mutation.",
      "closed_gate": "No external action is authorized by opening this card."
    },
    {
      "id": "if_operator_needs_orientation",
      "when_to_open": "Open when the operator needs a quick private proof-hub walkthrough before choosing a route.",
      "proof_path": "docs/launch/PROOF_HUB_START_HERE.md",
      "operator_action": "Use the start-here route for a 30-45 second local review path.",
      "human_approval_needed_for": "Any recording, stream, upload, post, buyer contact, or public claim.",
      "closed_gate": "Local review only; no hidden broadcast or post."
    },
    {
      "id": "if_buyer_safe_demo_is_chosen",
      "when_to_open": "Open only after the compass route points toward a private/demo revenue-safe lane.",
      "proof_path": "docs/revenue/BUYER_SAFE_NEXT_ACTION_CARD.md",
      "operator_action": "Review the buyer-safe next action card and stop at one human-approved question.",
      "human_approval_needed_for": "Any follow-up, outreach, invoice planning, payment link, revenue claim, or public copy.",
      "closed_gate": "Draft-only buyer route; no contact or payment artifact created."
    },
    {
      "id": "if_stream_rehearsal_is_chosen",
      "when_to_open": "Open only after a human wants local stream-readiness proof without going live.",
      "proof_path": "docs/streaming/STREAM_REHEARSAL_CHECKLIST.md",
      "operator_action": "Run the manual rehearsal checklist locally and keep RTMP/Kick/Twitch starts closed.",
      "human_approval_needed_for": "Any OBS/RTMP/Twitch/Kick/Spaces start, key use, upload, recording, or duplicate pusher refresh.",
      "closed_gate": "Manual rehearsal only; auto_stream_enabled=false."
    },
    {
      "id": "if_avatar_rehearsal_is_chosen",
      "when_to_open": "Open only after a human wants local avatar/operator practice without mic, stream, or voice-to-shell.",
      "proof_path": "docs/avatar/AVATAR_REHEARSAL_CHECKLIST.md",
      "operator_action": "Use the avatar rehearsal checklist as a local-only readout and stop before live providers.",
      "human_approval_needed_for": "Any microphone listener, voice/TTS output, OBS scene activation, stream, GPU job, provider connection, or shell bridge.",
      "closed_gate": "Avatar rehearsal remains local/manual; voice_to_shell=false."
    }
  ],
  "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,
    "revenue_claims": false,
    "platform_affiliation_claims": false,
    "youtube_upload": false,
    "dataset_upload_or_public_release": false,
    "publishes_stream": false,
    "records_audio": false,
    "uploads_private_media": false,
    "starts_gpu": false,
    "starts_paid_api": false,
    "downloads_models": false,
    "starts_training": false,
    "voice_to_shell": false,
    "mutates_cron": false,
    "secret_exposure": false
  },
  "blocked_without_approval": [
    "Do not post, schedule, or promote public copy.",
    "Do not contact buyers, partners, viewers, or communities.",
    "Do not create checkout links, invoices, payment links, or revenue claims.",
    "Do not start Twitch, Kick, RTMP, Spaces, OBS, recording, or duplicate pushers.",
    "Do not upload private media, datasets, captions, videos, adapters, or model artifacts.",
    "Do not start GPU, paid API, model download, training, eval, or provider jobs.",
    "Do not enable microphone listeners, voice-to-shell, live chat-to-shell, or cron mutation.",
    "Do not print, store, or reuse exposed Twitch/Kick/Replicate/GitHub/HF secrets."
  ],
  "human_approval_question": "Do you approve exactly one second-click route for manual private review while every external action remains closed?",
  "morning_operator_next_step": "Open the proof hub, choose the next-decision compass, then open at most one second-click route for local/manual review."
}
