{
  "schema": "sonic-forage.arcade-mutation-triage-checklist.v1",
  "generated_utc": "2026-05-06T10:17:36Z",
  "status": "arcade_mutation_triage_checklist_manual_review_only_closed_until_human_yes",
  "canonical_namespace": "Sonic-Forage",
  "purpose": "Compress the existing Retro Forge Arcade and Echo Comet mutation artifacts into a no-execution morning triage checklist for an awake operator.",
  "review_only": true,
  "manual_review_required": true,
  "requires_human_approval": true,
  "auto_stream_enabled": false,
  "auto_code_mutation_enabled": false,
  "auto_chat_integration_enabled": false,
  "auto_post_enabled": false,
  "auto_upload_enabled": false,
  "human_approval_question": "Do you approve exactly one local Canvas-code arcade mutation after reviewing this triage checklist and the existing Echo Comet plan?",
  "source_paths": [
    "docs/arcade/index.html",
    "docs/arcade/arcade-manifest.json",
    "docs/arcade/retro-forge-arcade-manifest.json",
    "docs/arcade/mutation_plan_echo_comet_002.json",
    "docs/streaming/RETRO_FORGE_ARCADE_SWARM_TAKEOVER.md",
    "docs/streaming/retro_forge_arcade_swarm_takeover_clock.json"
  ],
  "triage_steps": [
    {
      "id": "confirm_current_playable_state",
      "operator_prompt": "Open the static arcade and confirm Shard Rush 2045 still loads locally before touching code.",
      "proof_path": "docs/arcade/index.html",
      "safe_repo_next_step": "If the page fails local review, fix static HTML only and rerun the site verifier.",
      "closed_gate": "No stream start, chat hook, upload, or public post is authorized by this check."
    },
    {
      "id": "read_echo_comet_plan",
      "operator_prompt": "Review the Echo Comet mutation plan and choose whether its first code change should stay keyboard/localStorage-only.",
      "proof_path": "docs/arcade/mutation_plan_echo_comet_002.json",
      "safe_repo_next_step": "Convert only one approved mechanic into local Canvas code in a future human-approved tick.",
      "closed_gate": "No automatic Canvas mutation, network socket, OBS action, or live provider connection occurs here."
    },
    {
      "id": "check_takeover_clock",
      "operator_prompt": "Confirm the 5-minute takeover clock can frame the mutation as a review-only segment.",
      "proof_path": "docs/streaming/retro_forge_arcade_swarm_takeover_clock.json",
      "safe_repo_next_step": "Update copy or timing docs if the segment needs clearer operator language.",
      "closed_gate": "No Twitch/Kick/RTMP/Spaces/OBS start or schedule is allowed without a separate human yes."
    },
    {
      "id": "run_verifier_before_claim",
      "operator_prompt": "Run the static verifier and stop if any proof path or closed gate drifts.",
      "proof_path": "scripts/verify_site.py",
      "safe_repo_next_step": "Patch verifier coverage before adding another arcade mutation surface.",
      "closed_gate": "Passing verification is not launch approval, publishing approval, or revenue proof."
    }
  ],
  "blocked_without_approval": [
    "Implementing Canvas code changes",
    "Starting or restarting Twitch/Kick/RTMP/Spaces/OBS",
    "Connecting chat to shell, sockets, webhooks, or game controls",
    "Posting public launch copy or scheduling social posts",
    "Uploading private media, datasets, or model artifacts",
    "Starting GPU, model-download, training, paid API, or video-generation jobs",
    "Creating payment links, invoices, revenue claims, or affiliation claims",
    "Changing cron jobs or stream watchdog schedules"
  ],
  "closed_gates": {
    "public_posting": false,
    "outreach": false,
    "auto_stream_start": false,
    "obs_automation": false,
    "chat_to_shell": false,
    "network_socket_controls": false,
    "payment_links": false,
    "claim_revenue": false,
    "claim_openai_affiliation": false,
    "uploads_private_media": false,
    "hf_dataset_publication": false,
    "starts_gpu": false,
    "starts_paid_api": false,
    "downloads_models": false,
    "starts_training": false,
    "mutates_cron": false,
    "secret_exposure": false
  },
  "verifier_commands": [
    "python3 -m json.tool docs/data/arcade-mutation-triage-checklist.json >/dev/null",
    "PYTHONDONTWRITEBYTECODE=1 python3 scripts/verify_site.py",
    "git diff --check"
  ],
  "morning_operator_next_step": "If a human approves, pick exactly one local/offline Canvas mutation and keep stream/chat/provider gates closed until a later explicit approval."
}
