{
  "id": "echo_comet_mutation_002",
  "created_utc": "2026-05-06T09:52:53Z",
  "status": "text_only_game_mutation_plan_review_only_closed_until_human_yes",
  "title": "Echo Comet Mutation",
  "lane": "interactive_livestream_arcade",
  "source_game": "Shard Rush 2045",
  "summary": "A generated text-only mutation plan for a future approved pass on the Retro Forge Arcade demo: collected shards briefly leave echo comets that reward clean movement paths while static hazards remain fully local and operator-mediated.",
  "review_only": true,
  "requires_human_approval": true,
  "human_approval_question": "Do you approve converting this text-only Echo Comet mutation into local Canvas code after reviewing the safety gates?",
  "mutation_goals": [
    "Add a short-lived echo trail behind the player after three clean shard catches.",
    "Let echo comets collect one nearby cyan shard automatically, then fade.",
    "Keep the mechanic readable in a five-minute swarm takeover block without adding external assets or network calls.",
    "Make the QA Goblin check deterministic: echo comets never trigger shell, chat, payment, upload, or public-post actions."
  ],
  "operator_mediated_viewer_sparks": [
    {
      "queue_label": "comet_color_vote",
      "allowed_input": "one palette word from a preapproved local list",
      "operator_action": "choose the palette manually before the run",
      "blocked": "free-form chat ingestion or API polling"
    },
    {
      "queue_label": "comet_name_vote",
      "allowed_input": "one safe display name after human moderation",
      "operator_action": "type the chosen name into a local review note only",
      "blocked": "automatic overlay updates, chat-to-shell, or public posting"
    },
    {
      "queue_label": "risk_level_vote",
      "allowed_input": "calm, spicy, or boss after operator review",
      "operator_action": "map the choice to existing local hotkeys 1-5",
      "blocked": "gambling, donations, paid boosts, or loot-box framing"
    }
  ],
  "five_minute_takeover_script": [
    "00-01 Signal Host reads the closed-gate card and frames Echo Comet as a review-only mutation.",
    "01-02 Game Designer explains the clean-movement reward loop on the existing Shard Rush screen.",
    "02-03 Code Sprite shows this JSON card and a mock diff plan, not a live network/chat integration.",
    "03-04 QA Goblin checks localStorage-only state, no external media, no ROMs, no gambling, no paid APIs, and no stream-key display.",
    "04-05 Streamer selects one moderated spark queue label for a future human-approved build pass."
  ],
  "implementation_constraints_for_future_build": {
    "assets": "inline Canvas geometry and local text only",
    "audio": "none unless generated/owned and later normalized into the master loop after approval",
    "storage": "localStorage only, with no viewer identifiers",
    "network": "disabled",
    "chat": "operator-mediated notes only",
    "media_rebuild_needed_if_visual_drop_changes": true,
    "github_media_size_limit_mb": 100
  },
  "closed_gates": {
    "chat_to_shell": false,
    "direct_chat_ingest": false,
    "network_calls": false,
    "paid_apis": false,
    "public_posting": false,
    "youtube_upload": false,
    "starts_stream": false,
    "stream_key_display": false,
    "copyrighted_roms": false,
    "external_sprites_samples": false,
    "gambling": false,
    "collects_viewer_data": false,
    "private_media": false,
    "spend": false,
    "starts_gpu": false,
    "starts_training": false,
    "mutates_cron": false
  },
  "proof_paths_inspected": [
    "docs/arcade/index.html",
    "docs/arcade/retro-forge-arcade-manifest.json",
    "docs/arcade/mini_game_spec_oracle_static_garden_001.json",
    "docs/streaming/retro_forge_arcade_swarm_takeover_clock.json",
    "docs/streaming/RETRO_FORGE_ARCADE_SWARM_TAKEOVER.md",
    "docs/streaming/STREAM_READY_LOOP_PACK.md",
    "docs/streaming/stream_ready/master_loop_manifest.json",
    "docs/streaming/stream_ready/current_master_path.txt"
  ],
  "verifier_commands": [
    "python3 -m json.tool docs/arcade/mutation_plan_echo_comet_002.json >/dev/null",
    "PYTHONDONTWRITEBYTECODE=1 python3 scripts/verify_site.py",
    "git diff --check"
  ],
  "approval_blockers_before_build": [
    "Human approval to implement the Echo Comet mutation in the playable browser demo.",
    "Human approval before changing any stream media or rebuilding the normalized master loop.",
    "Human approval before any public stream, upload, post, paid API, GPU/training job, or chat integration."
  ]
}
