{
  "schema": "unitiqx.matrix-arcade.worked-transcripts.v1",
  "source_game_version": "1.0.0",
  "generated_utc": "2026-10-11T05:06:33.011Z",
  "public": true,
  "text_note": "These are rule-generated examples and explicitly illustrative tactical decisions. Not the play logs of real human players or independent AI agents.",
  "evidence_requirement": "A claim of actual human, provider, or browser play needs separately observed request/action and test receipts.",
  "missions": [
    {
      "id": "route:0",
      "world": "route",
      "stage": 1,
      "narrative": "A new signal emerges on the other side of a fractured data grid. Recover every lost core and escape before the path closes.",
      "image": "/commons/demos/matrix-arcade/route-game.png",
      "steps": [
        {
          "action": "MOVE_S",
          "previous": {
            "x": 0,
            "y": 0,
            "cores": 0
          },
          "result": {
            "x": 0,
            "y": 1,
            "cores": 0
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 0,
            "y": 1,
            "cores": 0
          },
          "result": {
            "x": 0,
            "y": 2,
            "cores": 0
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 0,
            "y": 2,
            "cores": 0
          },
          "result": {
            "x": 0,
            "y": 3,
            "cores": 0
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 0,
            "y": 3,
            "cores": 0
          },
          "result": {
            "x": 0,
            "y": 4,
            "cores": 0
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 0,
            "y": 4,
            "cores": 0
          },
          "result": {
            "x": 0,
            "y": 5,
            "cores": 1
          },
          "event": "DATA_CORE_RECOVERED"
        },
        {
          "action": "MOVE_N",
          "previous": {
            "x": 0,
            "y": 5,
            "cores": 1
          },
          "result": {
            "x": 0,
            "y": 4,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 0,
            "y": 4,
            "cores": 1
          },
          "result": {
            "x": 1,
            "y": 4,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 1,
            "y": 4,
            "cores": 1
          },
          "result": {
            "x": 2,
            "y": 4,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_N",
          "previous": {
            "x": 2,
            "y": 4,
            "cores": 1
          },
          "result": {
            "x": 2,
            "y": 3,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 2,
            "y": 3,
            "cores": 1
          },
          "result": {
            "x": 3,
            "y": 3,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 3,
            "y": 3,
            "cores": 1
          },
          "result": {
            "x": 4,
            "y": 3,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_N",
          "previous": {
            "x": 4,
            "y": 3,
            "cores": 1
          },
          "result": {
            "x": 4,
            "y": 2,
            "cores": 2
          },
          "event": "DATA_CORE_RECOVERED"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 4,
            "y": 2,
            "cores": 2
          },
          "result": {
            "x": 5,
            "y": 2,
            "cores": 2
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 5,
            "y": 2,
            "cores": 2
          },
          "result": {
            "x": 5,
            "y": 3,
            "cores": 2
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 5,
            "y": 3,
            "cores": 2
          },
          "result": {
            "x": 5,
            "y": 4,
            "cores": 2
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 5,
            "y": 4,
            "cores": 2
          },
          "result": {
            "x": 5,
            "y": 5,
            "cores": 2
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "CHECK_WIN",
          "result": true,
          "reason": "All cores collected and exit reached"
        }
      ],
      "concept": "A clear route is not enough: every required dependency must be collected.",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    },
    {
      "id": "route:1",
      "world": "route",
      "stage": 2,
      "narrative": "An obstacle splits the route in two. Trace around the fault without abandoning either objective.",
      "image": "/commons/demos/matrix-arcade/route-game.png",
      "steps": [
        {
          "action": "MOVE_E",
          "previous": {
            "x": 0,
            "y": 0,
            "cores": 0
          },
          "result": {
            "x": 1,
            "y": 0,
            "cores": 0
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 1,
            "y": 0,
            "cores": 0
          },
          "result": {
            "x": 1,
            "y": 1,
            "cores": 0
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 1,
            "y": 1,
            "cores": 0
          },
          "result": {
            "x": 1,
            "y": 2,
            "cores": 0
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 1,
            "y": 2,
            "cores": 0
          },
          "result": {
            "x": 2,
            "y": 2,
            "cores": 0
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 2,
            "y": 2,
            "cores": 0
          },
          "result": {
            "x": 3,
            "y": 2,
            "cores": 0
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_N",
          "previous": {
            "x": 3,
            "y": 2,
            "cores": 0
          },
          "result": {
            "x": 3,
            "y": 1,
            "cores": 1
          },
          "event": "DATA_CORE_RECOVERED"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 3,
            "y": 1,
            "cores": 1
          },
          "result": {
            "x": 3,
            "y": 2,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 3,
            "y": 2,
            "cores": 1
          },
          "result": {
            "x": 3,
            "y": 3,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 3,
            "y": 3,
            "cores": 1
          },
          "result": {
            "x": 3,
            "y": 4,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_W",
          "previous": {
            "x": 3,
            "y": 4,
            "cores": 1
          },
          "result": {
            "x": 2,
            "y": 4,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_W",
          "previous": {
            "x": 2,
            "y": 4,
            "cores": 1
          },
          "result": {
            "x": 1,
            "y": 4,
            "cores": 2
          },
          "event": "DATA_CORE_RECOVERED"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 1,
            "y": 4,
            "cores": 2
          },
          "result": {
            "x": 2,
            "y": 4,
            "cores": 2
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 2,
            "y": 4,
            "cores": 2
          },
          "result": {
            "x": 3,
            "y": 4,
            "cores": 2
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 3,
            "y": 4,
            "cores": 2
          },
          "result": {
            "x": 3,
            "y": 5,
            "cores": 2
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 3,
            "y": 5,
            "cores": 2
          },
          "result": {
            "x": 4,
            "y": 5,
            "cores": 2
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 4,
            "y": 5,
            "cores": 2
          },
          "result": {
            "x": 5,
            "y": 5,
            "cores": 2
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "CHECK_WIN",
          "result": true,
          "reason": "All cores collected and exit reached"
        }
      ],
      "concept": "Roadblocks force alternative approaches; map the feasible paths first.",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    },
    {
      "id": "route:2",
      "world": "route",
      "stage": 3,
      "narrative": "A deceptive corridor makes the shortest-looking route incomplete. Verify every dependency.",
      "image": "/commons/demos/matrix-arcade/route-game.png",
      "steps": [
        {
          "action": "MOVE_E",
          "previous": {
            "x": 0,
            "y": 0,
            "cores": 0
          },
          "result": {
            "x": 1,
            "y": 0,
            "cores": 0
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 1,
            "y": 0,
            "cores": 0
          },
          "result": {
            "x": 2,
            "y": 0,
            "cores": 0
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 2,
            "y": 0,
            "cores": 0
          },
          "result": {
            "x": 2,
            "y": 1,
            "cores": 0
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 2,
            "y": 1,
            "cores": 0
          },
          "result": {
            "x": 2,
            "y": 2,
            "cores": 0
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 2,
            "y": 2,
            "cores": 0
          },
          "result": {
            "x": 3,
            "y": 2,
            "cores": 0
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 3,
            "y": 2,
            "cores": 0
          },
          "result": {
            "x": 4,
            "y": 2,
            "cores": 0
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_N",
          "previous": {
            "x": 4,
            "y": 2,
            "cores": 0
          },
          "result": {
            "x": 4,
            "y": 1,
            "cores": 1
          },
          "event": "DATA_CORE_RECOVERED"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 4,
            "y": 1,
            "cores": 1
          },
          "result": {
            "x": 4,
            "y": 2,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_W",
          "previous": {
            "x": 4,
            "y": 2,
            "cores": 1
          },
          "result": {
            "x": 3,
            "y": 2,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 3,
            "y": 2,
            "cores": 1
          },
          "result": {
            "x": 3,
            "y": 3,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 3,
            "y": 3,
            "cores": 1
          },
          "result": {
            "x": 3,
            "y": 4,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_W",
          "previous": {
            "x": 3,
            "y": 4,
            "cores": 1
          },
          "result": {
            "x": 2,
            "y": 4,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_W",
          "previous": {
            "x": 2,
            "y": 4,
            "cores": 1
          },
          "result": {
            "x": 1,
            "y": 4,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_W",
          "previous": {
            "x": 1,
            "y": 4,
            "cores": 1
          },
          "result": {
            "x": 0,
            "y": 4,
            "cores": 2
          },
          "event": "DATA_CORE_RECOVERED"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 0,
            "y": 4,
            "cores": 2
          },
          "result": {
            "x": 1,
            "y": 4,
            "cores": 2
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 1,
            "y": 4,
            "cores": 2
          },
          "result": {
            "x": 2,
            "y": 4,
            "cores": 2
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 2,
            "y": 4,
            "cores": 2
          },
          "result": {
            "x": 3,
            "y": 4,
            "cores": 2
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 3,
            "y": 4,
            "cores": 2
          },
          "result": {
            "x": 4,
            "y": 4,
            "cores": 2
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 4,
            "y": 4,
            "cores": 2
          },
          "result": {
            "x": 5,
            "y": 4,
            "cores": 2
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 5,
            "y": 4,
            "cores": 2
          },
          "result": {
            "x": 5,
            "y": 5,
            "cores": 2
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "CHECK_WIN",
          "result": true,
          "reason": "All cores collected and exit reached"
        }
      ],
      "concept": "The shortest-looking route may miss a required objective.",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    },
    {
      "id": "route:3",
      "world": "route",
      "stage": 4,
      "narrative": "Your map is scarred by isolation barriers. Work backwards from the objective to find a safe path.",
      "image": "/commons/demos/matrix-arcade/route-game.png",
      "steps": [
        {
          "action": "MOVE_S",
          "previous": {
            "x": 0,
            "y": 0,
            "cores": 0
          },
          "result": {
            "x": 0,
            "y": 1,
            "cores": 0
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 0,
            "y": 1,
            "cores": 0
          },
          "result": {
            "x": 0,
            "y": 2,
            "cores": 0
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 0,
            "y": 2,
            "cores": 0
          },
          "result": {
            "x": 1,
            "y": 2,
            "cores": 1
          },
          "event": "DATA_CORE_RECOVERED"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 1,
            "y": 2,
            "cores": 1
          },
          "result": {
            "x": 1,
            "y": 3,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_W",
          "previous": {
            "x": 1,
            "y": 3,
            "cores": 1
          },
          "result": {
            "x": 0,
            "y": 3,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 0,
            "y": 3,
            "cores": 1
          },
          "result": {
            "x": 0,
            "y": 4,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 0,
            "y": 4,
            "cores": 1
          },
          "result": {
            "x": 0,
            "y": 5,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 0,
            "y": 5,
            "cores": 1
          },
          "result": {
            "x": 1,
            "y": 5,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 1,
            "y": 5,
            "cores": 1
          },
          "result": {
            "x": 2,
            "y": 5,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 2,
            "y": 5,
            "cores": 1
          },
          "result": {
            "x": 3,
            "y": 5,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 3,
            "y": 5,
            "cores": 1
          },
          "result": {
            "x": 4,
            "y": 5,
            "cores": 2
          },
          "event": "DATA_CORE_RECOVERED"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 4,
            "y": 5,
            "cores": 2
          },
          "result": {
            "x": 5,
            "y": 5,
            "cores": 2
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "CHECK_WIN",
          "result": true,
          "reason": "All cores collected and exit reached"
        }
      ],
      "concept": "Plan routes around the constraints you cannot change.",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    },
    {
      "id": "route:4",
      "world": "route",
      "stage": 5,
      "narrative": "The final grid has no shortcut through its central walls. Recover all cores and navigate to extraction.",
      "image": "/commons/demos/matrix-arcade/route-game.png",
      "steps": [
        {
          "action": "MOVE_S",
          "previous": {
            "x": 0,
            "y": 0,
            "cores": 0
          },
          "result": {
            "x": 0,
            "y": 1,
            "cores": 0
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 0,
            "y": 1,
            "cores": 0
          },
          "result": {
            "x": 0,
            "y": 2,
            "cores": 0
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 0,
            "y": 2,
            "cores": 0
          },
          "result": {
            "x": 0,
            "y": 3,
            "cores": 0
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 0,
            "y": 3,
            "cores": 0
          },
          "result": {
            "x": 1,
            "y": 3,
            "cores": 0
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 1,
            "y": 3,
            "cores": 0
          },
          "result": {
            "x": 1,
            "y": 4,
            "cores": 1
          },
          "event": "DATA_CORE_RECOVERED"
        },
        {
          "action": "MOVE_N",
          "previous": {
            "x": 1,
            "y": 4,
            "cores": 1
          },
          "result": {
            "x": 1,
            "y": 3,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 1,
            "y": 3,
            "cores": 1
          },
          "result": {
            "x": 2,
            "y": 3,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_N",
          "previous": {
            "x": 2,
            "y": 3,
            "cores": 1
          },
          "result": {
            "x": 2,
            "y": 2,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_N",
          "previous": {
            "x": 2,
            "y": 2,
            "cores": 1
          },
          "result": {
            "x": 2,
            "y": 1,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 2,
            "y": 1,
            "cores": 1
          },
          "result": {
            "x": 3,
            "y": 1,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 3,
            "y": 1,
            "cores": 1
          },
          "result": {
            "x": 4,
            "y": 1,
            "cores": 1
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_E",
          "previous": {
            "x": 4,
            "y": 1,
            "cores": 1
          },
          "result": {
            "x": 5,
            "y": 1,
            "cores": 2
          },
          "event": "DATA_CORE_RECOVERED"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 5,
            "y": 1,
            "cores": 2
          },
          "result": {
            "x": 5,
            "y": 2,
            "cores": 2
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 5,
            "y": 2,
            "cores": 2
          },
          "result": {
            "x": 5,
            "y": 3,
            "cores": 2
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 5,
            "y": 3,
            "cores": 2
          },
          "result": {
            "x": 5,
            "y": 4,
            "cores": 2
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "MOVE_S",
          "previous": {
            "x": 5,
            "y": 4,
            "cores": 2
          },
          "result": {
            "x": 5,
            "y": 5,
            "cores": 2
          },
          "event": "VALID_MOVE"
        },
        {
          "action": "CHECK_WIN",
          "result": true,
          "reason": "All cores collected and exit reached"
        }
      ],
      "concept": "A resilient system still reaches its goal when the direct line is blocked.",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    },
    {
      "id": "circuit:0",
      "world": "circuit",
      "stage": 1,
      "narrative": "The reactor is dark. Rotate the connectors to carry energy from the left terminal to the right.",
      "image": "/commons/demos/matrix-arcade/circuit-game.png",
      "steps": [
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 5,
          "openings": [
            "E",
            "W"
          ],
          "powered_tiles": [
            5,
            6
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 5,
          "openings": [
            "N",
            "S"
          ],
          "powered_tiles": [],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 5,
          "openings": [
            "E",
            "W"
          ],
          "powered_tiles": [
            5,
            6
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 7,
          "openings": [
            "E",
            "W"
          ],
          "powered_tiles": [
            5,
            6,
            7
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 8,
          "openings": [
            "E",
            "S"
          ],
          "powered_tiles": [
            5,
            6,
            7
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 8,
          "openings": [
            "S",
            "W"
          ],
          "powered_tiles": [
            5,
            6,
            7,
            8
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 12,
          "openings": [
            "N",
            "W"
          ],
          "powered_tiles": [
            5,
            6,
            7,
            8,
            12,
            11
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 12,
          "openings": [
            "N",
            "E"
          ],
          "powered_tiles": [
            5,
            6,
            7,
            8,
            12
          ],
          "reactor_lit": true
        },
        {
          "action": "CHECK_REACTOR",
          "result": true,
          "reason": "Continuous mutual openings reach goal tile"
        }
      ],
      "concept": "Power flows only when two neighboring connections agree.",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    },
    {
      "id": "circuit:1",
      "world": "circuit",
      "stage": 2,
      "narrative": "A broken branch diverts energy. Follow the working components, then repair each junction.",
      "image": "/commons/demos/matrix-arcade/circuit-game.png",
      "steps": [
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 10,
          "openings": [
            "N",
            "W"
          ],
          "powered_tiles": [
            5,
            9,
            10
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 6,
          "openings": [
            "E",
            "S"
          ],
          "powered_tiles": [
            5,
            9,
            10,
            6
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 7,
          "openings": [
            "E",
            "S"
          ],
          "powered_tiles": [
            5,
            9,
            10,
            6
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 7,
          "openings": [
            "S",
            "W"
          ],
          "powered_tiles": [
            5,
            9,
            10,
            6,
            7
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 11,
          "openings": [
            "N",
            "W"
          ],
          "powered_tiles": [
            5,
            9,
            10,
            6,
            7,
            11
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 11,
          "openings": [
            "N",
            "E"
          ],
          "powered_tiles": [
            5,
            9,
            10,
            6,
            7,
            11
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 12,
          "openings": [
            "E",
            "W"
          ],
          "powered_tiles": [
            5,
            9,
            10,
            6,
            7,
            11,
            12
          ],
          "reactor_lit": true
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 12,
          "openings": [
            "N",
            "S"
          ],
          "powered_tiles": [
            5,
            9,
            10,
            6,
            7,
            11
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 12,
          "openings": [
            "E",
            "W"
          ],
          "powered_tiles": [
            5,
            9,
            10,
            6,
            7,
            11,
            12
          ],
          "reactor_lit": true
        },
        {
          "action": "CHECK_REACTOR",
          "result": true,
          "reason": "Continuous mutual openings reach goal tile"
        }
      ],
      "concept": "Local fixes can enable or disrupt the whole network.",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    },
    {
      "id": "circuit:2",
      "world": "circuit",
      "stage": 3,
      "narrative": "Three-layer rerouting is needed. A correct tile alone cannot light an isolated component.",
      "image": "/commons/demos/matrix-arcade/circuit-game.png",
      "steps": [
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 5,
          "openings": [
            "N",
            "W"
          ],
          "powered_tiles": [
            5
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 1,
          "openings": [
            "E",
            "S"
          ],
          "powered_tiles": [
            5,
            1
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 2,
          "openings": [
            "E",
            "S"
          ],
          "powered_tiles": [
            5,
            1
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 2,
          "openings": [
            "S",
            "W"
          ],
          "powered_tiles": [
            5,
            1,
            2,
            6
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 6,
          "openings": [
            "E",
            "W"
          ],
          "powered_tiles": [
            5,
            1,
            2
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 6,
          "openings": [
            "N",
            "S"
          ],
          "powered_tiles": [
            5,
            1,
            2,
            6
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 10,
          "openings": [
            "N",
            "W"
          ],
          "powered_tiles": [
            5,
            1,
            2,
            6,
            10,
            9,
            13
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 10,
          "openings": [
            "N",
            "E"
          ],
          "powered_tiles": [
            5,
            1,
            2,
            6,
            10
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 11,
          "openings": [
            "E",
            "S"
          ],
          "powered_tiles": [
            5,
            1,
            2,
            6,
            10
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 11,
          "openings": [
            "S",
            "W"
          ],
          "powered_tiles": [
            5,
            1,
            2,
            6,
            10,
            11
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 11,
          "openings": [
            "N",
            "W"
          ],
          "powered_tiles": [
            5,
            1,
            2,
            6,
            10,
            11,
            7
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 7,
          "openings": [
            "N",
            "W"
          ],
          "powered_tiles": [
            5,
            1,
            2,
            6,
            10,
            11
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 7,
          "openings": [
            "N",
            "E"
          ],
          "powered_tiles": [
            5,
            1,
            2,
            6,
            10,
            11
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 7,
          "openings": [
            "E",
            "S"
          ],
          "powered_tiles": [
            5,
            1,
            2,
            6,
            10,
            11,
            7,
            8,
            12
          ],
          "reactor_lit": true
        },
        {
          "action": "CHECK_REACTOR",
          "result": true,
          "reason": "Continuous mutual openings reach goal tile"
        }
      ],
      "concept": "Trace faults from the source, not just the final output.",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    },
    {
      "id": "circuit:3",
      "world": "circuit",
      "stage": 4,
      "narrative": "An unconventional detour bypasses a faulty junction. Trace actual neighbor connections.",
      "image": "/commons/demos/matrix-arcade/circuit-game.png",
      "steps": [
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 5,
          "openings": [
            "N",
            "S"
          ],
          "powered_tiles": [],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 5,
          "openings": [
            "E",
            "W"
          ],
          "powered_tiles": [
            5
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 6,
          "openings": [
            "E",
            "S"
          ],
          "powered_tiles": [
            5
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 6,
          "openings": [
            "S",
            "W"
          ],
          "powered_tiles": [
            5,
            6,
            10,
            14
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 6,
          "openings": [
            "N",
            "W"
          ],
          "powered_tiles": [
            5,
            6,
            2
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 2,
          "openings": [
            "N",
            "W"
          ],
          "powered_tiles": [
            5,
            6
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 2,
          "openings": [
            "N",
            "E"
          ],
          "powered_tiles": [
            5,
            6
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 2,
          "openings": [
            "E",
            "S"
          ],
          "powered_tiles": [
            5,
            6,
            2,
            3,
            7,
            11
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 12,
          "openings": [
            "E",
            "W"
          ],
          "powered_tiles": [
            5,
            6,
            2,
            3,
            7,
            11,
            12
          ],
          "reactor_lit": true
        },
        {
          "action": "CHECK_REACTOR",
          "result": true,
          "reason": "Continuous mutual openings reach goal tile"
        }
      ],
      "concept": "Inspect junctions and turns: direction is part of the design.",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    },
    {
      "id": "circuit:4",
      "world": "circuit",
      "stage": 5,
      "narrative": "The master conduit winds through eleven positions. Restore continuous connections without assuming direct routes.",
      "image": "/commons/demos/matrix-arcade/circuit-game.png",
      "steps": [
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 5,
          "openings": [
            "N",
            "E"
          ],
          "powered_tiles": [],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 5,
          "openings": [
            "E",
            "S"
          ],
          "powered_tiles": [],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 5,
          "openings": [
            "S",
            "W"
          ],
          "powered_tiles": [
            5
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 9,
          "openings": [
            "N",
            "S"
          ],
          "powered_tiles": [
            5,
            9
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 9,
          "openings": [
            "E",
            "W"
          ],
          "powered_tiles": [
            5
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 9,
          "openings": [
            "N",
            "S"
          ],
          "powered_tiles": [
            5,
            9
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 13,
          "openings": [
            "S",
            "W"
          ],
          "powered_tiles": [
            5,
            9
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 13,
          "openings": [
            "N",
            "W"
          ],
          "powered_tiles": [
            5,
            9,
            13
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 13,
          "openings": [
            "N",
            "E"
          ],
          "powered_tiles": [
            5,
            9,
            13,
            14,
            10,
            6,
            2
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 3,
          "openings": [
            "E",
            "W"
          ],
          "powered_tiles": [
            5,
            9,
            13,
            14,
            10,
            6,
            2,
            3
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 4,
          "openings": [
            "E",
            "S"
          ],
          "powered_tiles": [
            5,
            9,
            13,
            14,
            10,
            6,
            2,
            3
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 4,
          "openings": [
            "S",
            "W"
          ],
          "powered_tiles": [
            5,
            9,
            13,
            14,
            10,
            6,
            2,
            3,
            4,
            8
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 8,
          "openings": [
            "E",
            "W"
          ],
          "powered_tiles": [
            5,
            9,
            13,
            14,
            10,
            6,
            2,
            3,
            4
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 8,
          "openings": [
            "N",
            "S"
          ],
          "powered_tiles": [
            5,
            9,
            13,
            14,
            10,
            6,
            2,
            3,
            4,
            8
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 12,
          "openings": [
            "N",
            "W"
          ],
          "powered_tiles": [
            5,
            9,
            13,
            14,
            10,
            6,
            2,
            3,
            4,
            8,
            12,
            11
          ],
          "reactor_lit": false
        },
        {
          "action": "ROTATE_CLOCKWISE",
          "tile": 12,
          "openings": [
            "N",
            "E"
          ],
          "powered_tiles": [
            5,
            9,
            13,
            14,
            10,
            6,
            2,
            3,
            4,
            8,
            12
          ],
          "reactor_lit": true
        },
        {
          "action": "CHECK_REACTOR",
          "result": true,
          "reason": "Continuous mutual openings reach goal tile"
        }
      ],
      "concept": "Complex systems become tractable when broken into connected components.",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    },
    {
      "id": "cipher:0",
      "world": "cipher",
      "stage": 1,
      "narrative": "Your archive vault is sealed. Use a three-digit deduction to discover a code from digits zero through five.",
      "image": "/commons/demos/matrix-arcade/cipher-game.png",
      "steps": [
        {
          "action": "GUESS",
          "guess": "012",
          "feedback": {
            "exact": 0,
            "misplaced": 2
          },
          "solved": false,
          "note": "Information gain only; this guess does not automatically prove next key"
        },
        {
          "action": "GUESS",
          "guess": "345",
          "feedback": {
            "exact": 0,
            "misplaced": 1
          },
          "solved": false,
          "note": "Information gain only; this guess does not automatically prove next key"
        },
        {
          "action": "GUESS",
          "guess": "204",
          "feedback": {
            "exact": 3,
            "misplaced": 0
          },
          "solved": true,
          "note": "Reference key entered"
        }
      ],
      "concept": "Feedback eliminates hypotheses; each guess should teach you something.",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    },
    {
      "id": "cipher:1",
      "world": "cipher",
      "stage": 2,
      "narrative": "The next vault uses the same unique-digit rule. Each guess reveals an evidence trail.",
      "image": "/commons/demos/matrix-arcade/cipher-game.png",
      "steps": [
        {
          "action": "GUESS",
          "guess": "012",
          "feedback": {
            "exact": 0,
            "misplaced": 1
          },
          "solved": false,
          "note": "Information gain only; this guess does not automatically prove next key"
        },
        {
          "action": "GUESS",
          "guess": "345",
          "feedback": {
            "exact": 0,
            "misplaced": 2
          },
          "solved": false,
          "note": "Information gain only; this guess does not automatically prove next key"
        },
        {
          "action": "GUESS",
          "guess": "531",
          "feedback": {
            "exact": 3,
            "misplaced": 0
          },
          "solved": true,
          "note": "Reference key entered"
        }
      ],
      "concept": "Separate what is correct from what is merely present.",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    },
    {
      "id": "cipher:2",
      "world": "cipher",
      "stage": 3,
      "narrative": "Fragments of a secret remain in the wrong positions. Distinguish correct symbols from their placement.",
      "image": "/commons/demos/matrix-arcade/cipher-game.png",
      "steps": [
        {
          "action": "GUESS",
          "guess": "012",
          "feedback": {
            "exact": 1,
            "misplaced": 1
          },
          "solved": false,
          "note": "Information gain only; this guess does not automatically prove next key"
        },
        {
          "action": "GUESS",
          "guess": "345",
          "feedback": {
            "exact": 1,
            "misplaced": 0
          },
          "solved": false,
          "note": "Information gain only; this guess does not automatically prove next key"
        },
        {
          "action": "GUESS",
          "guess": "142",
          "feedback": {
            "exact": 3,
            "misplaced": 0
          },
          "solved": true,
          "note": "Reference key entered"
        }
      ],
      "concept": "Repeated evidence narrows the space of possible solutions.",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    },
    {
      "id": "cipher:3",
      "world": "cipher",
      "stage": 4,
      "narrative": "A reversed-looking code tempts random guessing. Test clear hypotheses instead.",
      "image": "/commons/demos/matrix-arcade/cipher-game.png",
      "steps": [
        {
          "action": "GUESS",
          "guess": "012",
          "feedback": {
            "exact": 0,
            "misplaced": 1
          },
          "solved": false,
          "note": "Information gain only; this guess does not automatically prove next key"
        },
        {
          "action": "GUESS",
          "guess": "345",
          "feedback": {
            "exact": 1,
            "misplaced": 1
          },
          "solved": false,
          "note": "Information gain only; this guess does not automatically prove next key"
        },
        {
          "action": "GUESS",
          "guess": "350",
          "feedback": {
            "exact": 3,
            "misplaced": 0
          },
          "solved": true,
          "note": "Reference key entered"
        }
      ],
      "concept": "Change one assumption at a time to isolate causes.",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    },
    {
      "id": "cipher:4",
      "world": "cipher",
      "stage": 5,
      "narrative": "The master key rewards a methodical elimination plan rather than brute-force intuition.",
      "image": "/commons/demos/matrix-arcade/cipher-game.png",
      "steps": [
        {
          "action": "GUESS",
          "guess": "012",
          "feedback": {
            "exact": 0,
            "misplaced": 1
          },
          "solved": false,
          "note": "Information gain only; this guess does not automatically prove next key"
        },
        {
          "action": "GUESS",
          "guess": "345",
          "feedback": {
            "exact": 0,
            "misplaced": 2
          },
          "solved": false,
          "note": "Information gain only; this guess does not automatically prove next key"
        },
        {
          "action": "GUESS",
          "guess": "423",
          "feedback": {
            "exact": 3,
            "misplaced": 0
          },
          "solved": true,
          "note": "Reference key entered"
        }
      ],
      "concept": "A methodical deduction process beats random guessing.",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    },
    {
      "id": "pattern:0",
      "world": "pattern",
      "stage": 1,
      "narrative": "A sensor reports a number sequence. Identify its mechanism and predict the next event.",
      "image": "/commons/demos/matrix-arcade/pattern-game.png",
      "steps": [
        {
          "action": "OBSERVE",
          "sequence": [
            2,
            4,
            8,
            16
          ]
        },
        {
          "action": "INFER_AND_CHOOSE",
          "guess": 32,
          "reason": "Multiply by 2 every step: 2, 4, 8, 16, 32.",
          "result": true
        }
      ],
      "concept": "Multiply by 2 every step: 2, 4, 8, 16, 32.",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    },
    {
      "id": "pattern:1",
      "world": "pattern",
      "stage": 2,
      "narrative": "Successive differences hide a second sequence. Examine the change between values.",
      "image": "/commons/demos/matrix-arcade/pattern-game.png",
      "steps": [
        {
          "action": "OBSERVE",
          "sequence": [
            3,
            6,
            11,
            18
          ]
        },
        {
          "action": "INFER_AND_CHOOSE",
          "guess": 27,
          "reason": "The gaps grow by 2: +3, +5, +7, +9.",
          "result": true
        }
      ],
      "concept": "The gaps grow by 2: +3, +5, +7, +9.",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    },
    {
      "id": "pattern:2",
      "world": "pattern",
      "stage": 3,
      "narrative": "A small growing sequence is generated from its own history. Discover the recurrence.",
      "image": "/commons/demos/matrix-arcade/pattern-game.png",
      "steps": [
        {
          "action": "OBSERVE",
          "sequence": [
            1,
            1,
            2,
            3,
            5
          ]
        },
        {
          "action": "INFER_AND_CHOOSE",
          "guess": 8,
          "reason": "Each number is the sum of the previous two.",
          "result": true
        }
      ],
      "concept": "Each number is the sum of the previous two.",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    },
    {
      "id": "pattern:3",
      "world": "pattern",
      "stage": 4,
      "narrative": "The sequence looks geometric, but it is built from square numbers.",
      "image": "/commons/demos/matrix-arcade/pattern-game.png",
      "steps": [
        {
          "action": "OBSERVE",
          "sequence": [
            1,
            4,
            9,
            16
          ]
        },
        {
          "action": "INFER_AND_CHOOSE",
          "guess": 25,
          "reason": "These are consecutive perfect squares: 1², 2², 3², 4², 5².",
          "result": true
        }
      ],
      "concept": "These are consecutive perfect squares: 1², 2², 3², 4², 5².",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    },
    {
      "id": "pattern:4",
      "world": "pattern",
      "stage": 5,
      "narrative": "Not every pattern is a simple ratio. Analyze the changing increments.",
      "image": "/commons/demos/matrix-arcade/pattern-game.png",
      "steps": [
        {
          "action": "OBSERVE",
          "sequence": [
            2,
            3,
            5,
            8,
            12
          ]
        },
        {
          "action": "INFER_AND_CHOOSE",
          "guess": 17,
          "reason": "The changes are +1, +2, +3, +4, so the next is +5.",
          "result": true
        }
      ],
      "concept": "The changes are +1, +2, +3, +4, so the next is +5.",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    },
    {
      "id": "balance:0",
      "world": "balance",
      "stage": 1,
      "narrative": "Bring a failing station online with a small resource budget. Cooling and throughput must both work.",
      "image": "/commons/demos/matrix-arcade/balance-game.png",
      "steps": [
        {
          "action": "TEST_BASELINE",
          "configuration": {
            "power": 0,
            "coolant": 0,
            "bandwidth": 0
          },
          "metrics": {
            "cost": 0,
            "throughput": 0,
            "heat": 0,
            "resilience": 0
          },
          "tests": {
            "essential": false,
            "budget": true,
            "throughput": false,
            "heat": true,
            "resilience": false
          },
          "reactor_lit": false
        },
        {
          "action": "SET_AND_TEST_CONFIGURATION",
          "configuration": {
            "power": 2,
            "coolant": 2,
            "bandwidth": 5
          },
          "metrics": {
            "cost": 16,
            "throughput": 12,
            "heat": 0,
            "resilience": 7
          },
          "tests": {
            "essential": true,
            "budget": true,
            "throughput": true,
            "heat": true,
            "resilience": true
          },
          "reactor_lit": true
        }
      ],
      "concept": "More power is useful only when cooling and bandwidth can support it.",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    },
    {
      "id": "balance:1",
      "world": "balance",
      "stage": 2,
      "narrative": "Demand rises while heat tolerance falls. Trade resources without violating reliability.",
      "image": "/commons/demos/matrix-arcade/balance-game.png",
      "steps": [
        {
          "action": "TEST_BASELINE",
          "configuration": {
            "power": 0,
            "coolant": 0,
            "bandwidth": 0
          },
          "metrics": {
            "cost": 0,
            "throughput": 0,
            "heat": 0,
            "resilience": 0
          },
          "tests": {
            "essential": false,
            "budget": true,
            "throughput": false,
            "heat": true,
            "resilience": false
          },
          "reactor_lit": false
        },
        {
          "action": "SET_AND_TEST_CONFIGURATION",
          "configuration": {
            "power": 2,
            "coolant": 2,
            "bandwidth": 6
          },
          "metrics": {
            "cost": 18,
            "throughput": 14,
            "heat": 0,
            "resilience": 8
          },
          "tests": {
            "essential": true,
            "budget": true,
            "throughput": true,
            "heat": true,
            "resilience": true
          },
          "reactor_lit": true
        }
      ],
      "concept": "Every budget is a constraint, not an unlimited wish list.",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    },
    {
      "id": "balance:2",
      "world": "balance",
      "stage": 3,
      "narrative": "The station needs greater throughput, but its limited budget still applies.",
      "image": "/commons/demos/matrix-arcade/balance-game.png",
      "steps": [
        {
          "action": "TEST_BASELINE",
          "configuration": {
            "power": 0,
            "coolant": 0,
            "bandwidth": 0
          },
          "metrics": {
            "cost": 0,
            "throughput": 0,
            "heat": 0,
            "resilience": 0
          },
          "tests": {
            "essential": false,
            "budget": true,
            "throughput": false,
            "heat": true,
            "resilience": false
          },
          "reactor_lit": false
        },
        {
          "action": "SET_AND_TEST_CONFIGURATION",
          "configuration": {
            "power": 2,
            "coolant": 2,
            "bandwidth": 7
          },
          "metrics": {
            "cost": 20,
            "throughput": 16,
            "heat": 0,
            "resilience": 9
          },
          "tests": {
            "essential": true,
            "budget": true,
            "throughput": true,
            "heat": true,
            "resilience": true
          },
          "reactor_lit": true
        }
      ],
      "concept": "Improving one metric can worsen another.",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    },
    {
      "id": "balance:3",
      "world": "balance",
      "stage": 4,
      "narrative": "Maximum heat tolerance is now zero. Keep the reactor viable while controlling waste.",
      "image": "/commons/demos/matrix-arcade/balance-game.png",
      "steps": [
        {
          "action": "TEST_BASELINE",
          "configuration": {
            "power": 0,
            "coolant": 0,
            "bandwidth": 0
          },
          "metrics": {
            "cost": 0,
            "throughput": 0,
            "heat": 0,
            "resilience": 0
          },
          "tests": {
            "essential": false,
            "budget": true,
            "throughput": false,
            "heat": true,
            "resilience": false
          },
          "reactor_lit": false
        },
        {
          "action": "SET_AND_TEST_CONFIGURATION",
          "configuration": {
            "power": 2,
            "coolant": 2,
            "bandwidth": 5
          },
          "metrics": {
            "cost": 16,
            "throughput": 12,
            "heat": 0,
            "resilience": 7
          },
          "tests": {
            "essential": true,
            "budget": true,
            "throughput": true,
            "heat": true,
            "resilience": true
          },
          "reactor_lit": true
        }
      ],
      "concept": "Reliable designs balance demand, heat and resilience together.",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    },
    {
      "id": "balance:4",
      "world": "balance",
      "stage": 5,
      "narrative": "Your final upgrade has a larger budget but the strictest combined demand. Optimize all constraints.",
      "image": "/commons/demos/matrix-arcade/balance-game.png",
      "steps": [
        {
          "action": "TEST_BASELINE",
          "configuration": {
            "power": 0,
            "coolant": 0,
            "bandwidth": 0
          },
          "metrics": {
            "cost": 0,
            "throughput": 0,
            "heat": 0,
            "resilience": 0
          },
          "tests": {
            "essential": false,
            "budget": true,
            "throughput": false,
            "heat": true,
            "resilience": false
          },
          "reactor_lit": false
        },
        {
          "action": "SET_AND_TEST_CONFIGURATION",
          "configuration": {
            "power": 2,
            "coolant": 2,
            "bandwidth": 8
          },
          "metrics": {
            "cost": 22,
            "throughput": 18,
            "heat": 0,
            "resilience": 10
          },
          "tests": {
            "essential": true,
            "budget": true,
            "throughput": true,
            "heat": true,
            "resilience": true
          },
          "reactor_lit": true
        }
      ],
      "concept": "Optimizing the whole system is more valuable than maximizing one component.",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    },
    {
      "id": "defense:0",
      "world": "defense",
      "stage": 1,
      "narrative": "Your drone enters a hazardous test arena. Keep three shields, collect energy and maintain an escape lane.",
      "image": "/commons/demos/matrix-arcade/guardian-game.png",
      "steps": [
        {
          "action": "OBSERVE_FICTIONAL_TABLETOP_SCENE",
          "scenario": "The core is above your drone, but a red hazard is closing from the right. Your left lane is open."
        },
        {
          "action": "CHOOSE_TACTICAL_PRIORITY",
          "selection": "MOVE_LEFT",
          "label": "Move left to create distance, then plan an approach",
          "rationale": "Creating space preserves a safe route before collecting the objective.",
          "result": "In this illustrative vignette, choosing the risk-aware move is accepted. It is NOT a real canvas-physics win."
        }
      ],
      "concept": "Collect objectives while keeping enough room to evade hazards.",
      "provenance": {
        "type": "illustrative_tactical_scene",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": false
      }
    },
    {
      "id": "defense:1",
      "world": "defense",
      "stage": 2,
      "narrative": "The air is crowded with moving red drones. Preserve open space rather than chase blindly.",
      "image": "/commons/demos/matrix-arcade/guardian-game.png",
      "steps": [
        {
          "action": "OBSERVE_FICTIONAL_TABLETOP_SCENE",
          "scenario": "You have only one shield and hazards move through the middle of the arena. The next core is near the far wall."
        },
        {
          "action": "CHOOSE_TACTICAL_PRIORITY",
          "selection": "PERIMETER",
          "label": "Use a clear perimeter lane, then approach the core",
          "rationale": "Spatial planning and open escape lanes matter when your error budget is small.",
          "result": "In this illustrative vignette, choosing the risk-aware move is accepted. It is NOT a real canvas-physics win."
        }
      ],
      "concept": "Moving predictably can be dangerous; change course deliberately.",
      "provenance": {
        "type": "illustrative_tactical_scene",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": false
      }
    },
    {
      "id": "defense:2",
      "world": "defense",
      "stage": 3,
      "narrative": "A moving hazard blocks a collectible. Time your approach instead of rushing through danger.",
      "image": "/commons/demos/matrix-arcade/guardian-game.png",
      "steps": [
        {
          "action": "OBSERVE_FICTIONAL_TABLETOP_SCENE",
          "scenario": "A red hazard is crossing the shortest line to an energy core. Its path is currently in front of you."
        },
        {
          "action": "CHOOSE_TACTICAL_PRIORITY",
          "selection": "WAIT_GAP",
          "label": "Maintain distance and enter after the hazard moves past",
          "rationale": "Observe motion, then move through a verified gap.",
          "result": "In this illustrative vignette, choosing the risk-aware move is accepted. It is NOT a real canvas-physics win."
        }
      ],
      "concept": "Use open space to create reaction time.",
      "provenance": {
        "type": "illustrative_tactical_scene",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": false
      }
    },
    {
      "id": "defense:3",
      "world": "defense",
      "stage": 4,
      "narrative": "Your route meets the arena edge. Recognize that walls remove escape choices.",
      "image": "/commons/demos/matrix-arcade/guardian-game.png",
      "steps": [
        {
          "action": "OBSERVE_FICTIONAL_TABLETOP_SCENE",
          "scenario": "Your drone approaches the bottom-right corner while a moving obstacle enters from the left."
        },
        {
          "action": "CHOOSE_TACTICAL_PRIORITY",
          "selection": "INWARD",
          "label": "Move inward toward the nearest safe open lane",
          "rationale": "Avoid trapping your future choices along hard boundaries.",
          "result": "In this illustrative vignette, choosing the risk-aware move is accepted. It is NOT a real canvas-physics win."
        }
      ],
      "concept": "Risk changes as more hazards appear; adapt your route.",
      "provenance": {
        "type": "illustrative_tactical_scene",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": false
      }
    },
    {
      "id": "defense:4",
      "world": "defense",
      "stage": 5,
      "narrative": "The final energy recovery demands careful movement among several converging hazards.",
      "image": "/commons/demos/matrix-arcade/guardian-game.png",
      "steps": [
        {
          "action": "OBSERVE_FICTIONAL_TABLETOP_SCENE",
          "scenario": "Several hazards converge near the final core. You can still see a wide open arc behind them."
        },
        {
          "action": "CHOOSE_TACTICAL_PRIORITY",
          "selection": "ESCAPE_ARC",
          "label": "Follow the open arc and collect when a clear window appears",
          "rationale": "Combining situational awareness, speed and an exit plan reduces risk.",
          "result": "In this illustrative vignette, choosing the risk-aware move is accepted. It is NOT a real canvas-physics win."
        }
      ],
      "concept": "Successful control means finishing the objective without exhausting your margin.",
      "provenance": {
        "type": "illustrative_tactical_scene",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": false
      }
    },
    {
      "id": "final:0",
      "world": "final",
      "stage": 1,
      "narrative": "Six systems have been restored. The final chamber shows six world sigils. Enter them in world order to bring the Matrix online.",
      "image": "/commons/demos/matrix-arcade/final-game.png",
      "steps": [
        {
          "action": "VERIFY_PRECONDITIONS",
          "prior_hypothetical_clears_required": 30
        },
        {
          "action": "READ_WORLD_SIGILS",
          "sigils": [
            {
              "world_order": 1,
              "name": "Vector Run",
              "sigil": "7"
            },
            {
              "world_order": 2,
              "name": "Circuit Forge",
              "sigil": "2"
            },
            {
              "world_order": 3,
              "name": "Cipher Vault",
              "sigil": "9"
            },
            {
              "world_order": 4,
              "name": "Pattern Lab",
              "sigil": "4"
            },
            {
              "world_order": 5,
              "name": "Reactor Balance",
              "sigil": "1"
            },
            {
              "world_order": 6,
              "name": "Neon Guardian",
              "sigil": "6"
            }
          ]
        },
        {
          "action": "ENTER_CODE",
          "code": "729416",
          "result": "Hypothetical final code accepted after all 30 prior clears."
        }
      ],
      "concept": "You coordinated all six systems and completed the Matrix.",
      "provenance": {
        "type": "deterministic_game_rule_reference",
        "actual_browser_action": false,
        "actual_model_call": false,
        "human_player_observation": false,
        "verified_source": "Matrix Arcade public rules/engine.js",
        "replayable": true
      }
    }
  ]
}
