{
  "category": "Games",
  "reviewer": "independent subagent experience_games",
  "date": "2026-10-19",
  "method": "Original HTML games in one dedicated hidden IAB tab reused serially. Real UI clicks, keyboard holds, mouse drags, AX and screenshots. No source inspection, hidden-state manipulation, video or archived-test evidence. Tab closed after review.",
  "variants_expected": 12,
  "variants_reviewed": 12,
  "full_playthroughs_completed": 0,
  "performance_ranking": false,
  "shared_machine_load_caveat": "Other category reviewers ran in parallel; no loading-time or FPS ranking inferred. Different rules, target counts and in-game times prevent score-based ranking.",
  "entries": [
    {
      "case": "bubble-bomber",
      "system": "atria",
      "controls": "WASD/arrows move; Space bubble; P/Esc pause. Level 1 defeat 2 slimes, then exit.",
      "actions": [
        "Start; Right 480 ms, Space, Left 480 ms, Down 500 ms.",
        "Up 350 ms, Right 800 ms, Space, Left 650 ms, Down 450 ms; P pause; Restart level.",
        "Space, Right 750 ms, Down 750 ms; then Space, Left 600 ms, Down 600 ms; pause/resume; Left 300 ms."
      ],
      "observed": [
        "Avatar position and bubble capacity changed; 0/2 -> 1/2 -> 0/2 bubbles.",
        "Crate near upper-right playing area disappeared after blast.",
        "Hearts 3 -> 2 -> 1, remaining-life toast. Enemy count stayed 0/2. Restart restored 3 hearts; pause/resume worked."
      ],
      "limits": [
        "No slime kill or stage completion. Stages 2/3 remained locked.",
        "Not every lost heart was individually attributed to a specific danger."
      ],
      "url": "https://coworkos-ai.github.io/assets/games/bubble-bomber/atria/index.html",
      "status": "hands_on_core_interaction_observed",
      "completed_playthrough": false,
      "screenshots": [
        {
          "path": "local-archive/bubble-bomber-atria-initial.png",
          "captured_at": "2026-10-19T17:45:33.955584+08:00"
        },
        {
          "path": "local-archive/bubble-bomber-atria-after-burst.png",
          "captured_at": "2026-10-19T17:47:05.913851+08:00"
        },
        {
          "path": "local-archive/bubble-bomber-atria-after.png",
          "captured_at": "2026-10-19T17:48:08.899490+08:00"
        },
        {
          "path": "local-archive/bubble-bomber-atria-pause.png",
          "captured_at": "2026-10-19T17:47:27.820090+08:00"
        }
      ]
    },
    {
      "case": "bubble-bomber",
      "system": "codex",
      "controls": "WASD/arrows; Space bubble; P pause; R restart. Clear 8 crates, 2 enemies, then exit.",
      "actions": [
        "Start Garden Tutorial; Right 280 ms, Space, Left 700 ms, Down 700 ms.",
        "P pause; click Restart level."
      ],
      "observed": [
        "Avatar moved; cross-shaped splash and crate particles visible.",
        "Crates 0/8 -> 1/8; enemies 0/2 unchanged.",
        "Restart reset Crates 0/8 and time 0.2 s. Pause offered Resume/Restart/Level select."
      ],
      "limits": [
        "No enemies killed and no stage completion; later stages locked."
      ],
      "url": "https://coworkos-ai.github.io/assets/games/bubble-bomber/codex/index.html",
      "status": "hands_on_core_interaction_observed",
      "completed_playthrough": false,
      "screenshots": [
        {
          "path": "local-archive/bubble-bomber-codex-initial.png",
          "captured_at": "2026-10-19T17:50:52.471405+08:00"
        },
        {
          "path": "local-archive/bubble-bomber-codex-after.png",
          "captured_at": "2026-10-19T19:01:50.856333+08:00"
        },
        {
          "path": "local-archive/bubble-bomber-codex-restart.png",
          "captured_at": "2026-10-19T19:02:18.904487+08:00"
        }
      ]
    },
    {
      "case": "bubble-bomber",
      "system": "ds",
      "controls": "WASD/arrows; Space bubble; P pause; R restart. Defeat 2 slimes and reach exit.",
      "actions": [
        "Start; Down 600 ms, Right 350 ms, Space, Up 700 ms; Left 400 ms.",
        "Click Retry after failure; Right 800 ms, P pause."
      ],
      "observed": [
        "Avatar and bubble position changed.",
        "Score 0 -> 50 after bubble near bush; subsequent failure screen showed score 50.",
        "Retry reset score 0/enemies 2; pause offered resume/replay/level select.",
        "Persistent sidebar showed objective, blocked exit, bubble power and controls."
      ],
      "limits": [
        "No enemies killed or stage completion; stages 2/3 locked.",
        "Death near splash does not establish broken movement."
      ],
      "url": "https://coworkos-ai.github.io/assets/games/bubble-bomber/ds/index.html",
      "status": "hands_on_core_interaction_observed",
      "completed_playthrough": false,
      "screenshots": [
        {
          "path": "local-archive/bubble-bomber-ds-initial.png",
          "captured_at": "2026-10-19T17:48:39.905232+08:00"
        },
        {
          "path": "local-archive/bubble-bomber-ds-after.png",
          "captured_at": "2026-10-19T17:50:22.300677+08:00"
        },
        {
          "path": "local-archive/bubble-bomber-ds-retry-pause.png",
          "captured_at": "2026-10-19T17:50:52.046995+08:00"
        }
      ]
    },
    {
      "case": "paper-glider",
      "system": "atria",
      "controls": "A/D lateral, W/S climb/descend; Shift slow; mouse drag; P pause. First stage 6 rings.",
      "actions": [
        "Start; Shift 700 ms; first run ended; click Retry.",
        "D 400 ms, W 400 ms, P; resume then A 300 ms, S 300 ms; Shift 500 ms."
      ],
      "observed": [
        "First result 2/6, 8.5 s, depleted hearts.",
        "Steering changed ring-plane relative alignment and scene framing; pause/resume/retry worked.",
        "Second result 4/6 at exit, 12.0 s; explicit insufficient rings failure.",
        "Props, warm lighting, target ring highlight and next-ring distance visible."
      ],
      "limits": [
        "No full 6-ring completion; chapters 2/3 locked.",
        "Scores/times across variants are not comparable performance measurements."
      ],
      "note": "Previous missed-ring toast remained in AX shortly after retry; not investigated enough to call a persistent defect.",
      "url": "https://coworkos-ai.github.io/assets/games/paper-glider/atria/index.html",
      "status": "hands_on_core_interaction_observed",
      "completed_playthrough": false,
      "screenshots": [
        {
          "path": "local-archive/paper-glider-atria-initial.png",
          "captured_at": "2026-10-19T19:02:19.324923+08:00"
        },
        {
          "path": "local-archive/paper-glider-atria-failure.png",
          "captured_at": "2026-10-19T19:03:55.901017+08:00"
        },
        {
          "path": "local-archive/paper-glider-atria-steered-pause.png",
          "captured_at": "2026-10-19T19:04:19.772022+08:00"
        },
        {
          "path": "local-archive/paper-glider-atria-after.png",
          "captured_at": "2026-10-19T19:04:45.517896+08:00"
        }
      ]
    },
    {
      "case": "paper-glider",
      "system": "codex",
      "controls": "WASD/arrows, Space glide pulse, P pause, R restart, drag. First stage 6 rings.",
      "actions": [
        "Start; D 300 ms, W 300 ms, P; resume, A 300 ms, S 300 ms, Space, P.",
        "Click Retry; Space; allow forward flight; P inspect result."
      ],
      "observed": [
        "Steered first run failed 0/6 at 0.8 s with missed-target-ring reason; lives still 3.",
        "Straight retry passed 4 rings, score 400, then failed at 3.5 s for missed target.",
        "Pause/resume/retry available and effective. Next stage disabled on failure."
      ],
      "limits": [
        "No 6/6 completion.",
        "Space was attempted, but no Ready-state change captured: pulse effect not independently verified.",
        "First failure reflected this run's alignment, not evidence of absent controls."
      ],
      "url": "https://coworkos-ai.github.io/assets/games/paper-glider/codex/index.html",
      "status": "hands_on_core_interaction_observed",
      "completed_playthrough": false,
      "screenshots": [
        {
          "path": "local-archive/paper-glider-codex-initial.png",
          "captured_at": "2026-10-19T19:04:45.955810+08:00"
        },
        {
          "path": "local-archive/paper-glider-codex-failure.png",
          "captured_at": "2026-10-19T19:06:00.414819+08:00"
        },
        {
          "path": "local-archive/paper-glider-codex-after.png",
          "captured_at": "2026-10-19T19:06:15.787096+08:00"
        }
      ]
    },
    {
      "case": "paper-glider",
      "system": "ds",
      "controls": "WASD/arrows or drag; Space dash; P/Esc pause. First stage 8 rings.",
      "actions": [
        "Initial D/W in countdown; later A/Space/P after initial flight had ended.",
        "Retry; one further run elapsed; retry again then Shift hold 3200 ms across countdown, D 220 ms, W 220 ms, Space, P.",
        "Resume, A 200 ms, S 200 ms, P."
      ],
      "observed": [
        "Initial forward run yielded 6/8, 600 points, crash at 9.0 s.",
        "Controlled retry visibly shifted scene/plane alignment and passed 1/8 with +100 toast.",
        "Counter-steering after resume yielded 2/8 with +100(2/8) feedback. Pause/retry worked."
      ],
      "limits": [
        "No 8-ring completion; later stages locked.",
        "Shift was only a neutral held key across countdown, not a claimed DS feature.",
        "Dash input attempted; acceleration magnitude not separately verified."
      ],
      "url": "https://coworkos-ai.github.io/assets/games/paper-glider/ds/index.html",
      "status": "hands_on_core_interaction_observed",
      "completed_playthrough": false,
      "screenshots": [
        {
          "path": "local-archive/paper-glider-ds-initial.png",
          "captured_at": "2026-10-19T19:06:44.245543+08:00"
        },
        {
          "path": "local-archive/paper-glider-ds-failure.png",
          "captured_at": "2026-10-19T19:07:47.921872+08:00"
        },
        {
          "path": "local-archive/paper-glider-ds-steered-pause.png",
          "captured_at": "2026-10-19T19:09:36.076966+08:00"
        },
        {
          "path": "local-archive/paper-glider-ds-after.png",
          "captured_at": "2026-10-19T19:09:36.868265+08:00"
        }
      ]
    },
    {
      "case": "velocity-loop",
      "system": "atria",
      "controls": "W throttle; S brake then reverse; A/D steering; Shift nitro; P pause; R restart. First track 4 checkpoints/1 lap/60 s.",
      "actions": [
        "Start; W 2200 ms, W+Shift 1500 ms, P.",
        "Resume; W+D 700 ms, S 1500 ms, P; click Restart; W 4000 ms including countdown, P.",
        "Resume W 1000 ms, W+D 800 ms, P; resume W+D 400 ms, S 350 ms, P."
      ],
      "observed": [
        "Speed 0 -> 59 -> 26 km/h; nitro exhaust and depleted bar visible.",
        "Off-track +3 s/return-to-checkpoint feedback.",
        "Restart reset timer; acceleration 72 km/h and distance 53 -> 43 m; right steering changed car/camera framing.",
        "Checkpoint 0/4 -> 1/4; subsequent off-track recovery at speed 0; pause froze timing."
      ],
      "limits": [
        "No complete lap, medals, later tracks or other vehicle verification.",
        "S reduced speed; reverse direction not separately confirmed."
      ],
      "url": "https://coworkos-ai.github.io/assets/games/velocity-loop/atria/index.html",
      "status": "hands_on_core_interaction_observed",
      "completed_playthrough": false,
      "screenshots": [
        {
          "path": "local-archive/velocity-loop-atria-initial.png",
          "captured_at": "2026-10-19T19:09:37.294402+08:00"
        },
        {
          "path": "local-archive/velocity-loop-atria-nitro-penalty.png",
          "captured_at": "2026-10-19T19:11:05.344029+08:00"
        },
        {
          "path": "local-archive/velocity-loop-atria-steer.png",
          "captured_at": "2026-10-19T19:12:27.676975+08:00"
        },
        {
          "path": "local-archive/velocity-loop-atria-checkpoint.png",
          "captured_at": "2026-10-19T19:12:56.032416+08:00"
        }
      ]
    },
    {
      "case": "velocity-loop",
      "system": "codex",
      "controls": "W throttle; S brake/reverse; A/D steering; Shift nitro; P pause; R restart. First track 4 checkpoints/1 lap.",
      "actions": [
        "Start, W 4200 ms, P; resume W+D 800 ms, W+Shift 800 ms, S 1000 ms, P.",
        "Resume A 500 ms; R restart then P."
      ],
      "observed": [
        "Checkpoint reached 1/4; actual camera/vehicle steering visible near outside guardrail.",
        "Nitro 100% -> 86%, later recharge 95%.",
        "R reset checkpoint 1/4 -> 0/4, time 9.53 -> 0.02 s, nitro100%. Pause/resume available."
      ],
      "limits": [
        "No full lap, medals, later tracks or second car.",
        "S entered but no numeric speed HUD captured, so deceleration/reverse not quantified.",
        "No off-track penalty or failure captured; not evidence those are absent."
      ],
      "url": "https://coworkos-ai.github.io/assets/games/velocity-loop/codex/index.html",
      "status": "hands_on_core_interaction_observed",
      "completed_playthrough": false,
      "screenshots": [
        {
          "path": "local-archive/velocity-loop-codex-initial.png",
          "captured_at": "2026-10-19T19:12:56.599912+08:00"
        },
        {
          "path": "local-archive/velocity-loop-codex-checkpoint.png",
          "captured_at": "2026-10-19T19:13:54.765406+08:00"
        },
        {
          "path": "local-archive/velocity-loop-codex-after.png",
          "captured_at": "2026-10-19T19:14:37.755485+08:00"
        },
        {
          "path": "local-archive/velocity-loop-codex-restart.png",
          "captured_at": "2026-10-19T19:15:16.800304+08:00"
        }
      ]
    },
    {
      "case": "velocity-loop",
      "system": "ds",
      "controls": "W throttle; S brake then reverse; A/D steering; Shift nitro; P/Esc pause; R restart. First track 8 checkpoints/1 lap/120 s.",
      "actions": [
        "Start; W 4200 ms, P; resume W+A 1000 ms, W+Shift 700 ms, S 1800 ms, P.",
        "Resume S 1500 ms, W+D 1800 ms, W 2000 ms, P; Restart level then P."
      ],
      "observed": [
        "Speed 55 -> 18 km/h; checkpoints 1/8 -> 3/8; nitro bar depleted.",
        "Wrong-way warning after further steering; next distance 15 -> 28 m.",
        "Minimap displayed vehicle/checkpoint position.",
        "Restart reset 3/8 -> 0/8, speed0/time0. Pause/resume worked."
      ],
      "limits": [
        "No full lap, later tracks or second vehicle.",
        "Wrong-way warning alone does not independently establish reverse-gear behavior."
      ],
      "url": "https://coworkos-ai.github.io/assets/games/velocity-loop/ds/index.html",
      "status": "hands_on_core_interaction_observed",
      "completed_playthrough": false,
      "screenshots": [
        {
          "path": "local-archive/velocity-loop-ds-initial.png",
          "captured_at": "2026-10-19T19:15:17.320214+08:00"
        },
        {
          "path": "local-archive/velocity-loop-ds-checkpoint.png",
          "captured_at": "2026-10-19T19:16:43.510740+08:00"
        },
        {
          "path": "local-archive/velocity-loop-ds-after.png",
          "captured_at": "2026-10-19T19:17:26.517871+08:00"
        },
        {
          "path": "local-archive/velocity-loop-ds-restart.png",
          "captured_at": "2026-10-19T19:17:51.283127+08:00"
        }
      ]
    },
    {
      "case": "fruit-slice",
      "system": "atria",
      "controls": "Mouse hold-drag or touch slice; Space pause. First stage 15 fruits/90 s/5 hearts.",
      "actions": [
        "Start; three cross-screen drags; initial run had already failed from misses.",
        "Retry; Shift2800 ms across countdown, Space; resume1100 ms then Space to inspect fruit.",
        "Resume; drag450,270 -> 700,270 and650,450 -> 900,450; Space.",
        "Resume drags420,250 -> 850,250;300,450 -> 1000,450;1100,600 -> 200,600; Space."
      ],
      "observed": [
        "Initial missed-fruit failure; retry restored0 score/0 of15/5hearts.",
        "Actual cut yielded20 points and1/15; fruit halves/cut surface and slicing trace visible.",
        "Subsequent empty swings did not add score; hearts reduced to3, pause/resume worked."
      ],
      "limits": [
        "No15-fruit completion; advanced combo levels locked.",
        "Normal pause/resume was used to aim at observed fruit positions, without state manipulation.",
        "Missed drags are not labeled collision failure."
      ],
      "url": "https://coworkos-ai.github.io/assets/games/fruit-slice/atria/index.html",
      "status": "hands_on_core_interaction_observed",
      "completed_playthrough": false,
      "screenshots": [
        {
          "path": "local-archive/fruit-slice-atria-initial.png",
          "captured_at": "2026-10-19T19:17:52.658348+08:00"
        },
        {
          "path": "local-archive/fruit-slice-atria-failure.png",
          "captured_at": "2026-10-19T19:20:20.708871+08:00"
        },
        {
          "path": "local-archive/fruit-slice-atria-cut.png",
          "captured_at": "2026-10-19T19:21:25.857695+08:00"
        },
        {
          "path": "local-archive/fruit-slice-atria-after.png",
          "captured_at": "2026-10-19T19:22:02.336994+08:00"
        }
      ]
    },
    {
      "case": "fruit-slice",
      "system": "codex",
      "controls": "Drag slicing; arrows move blade+Space enables slicing; P pause. First stage12 fruits/max6 misses.",
      "actions": [
        "Start then P; resume900 ms, P to inspect three fruits emerging.",
        "Resume; drag100,600 -> 1150,600 and1150,500 -> 100,500; P.",
        "Resume850 ms, drag100,550 -> 1150,550 and1150,400 -> 100,400; P.",
        "Resume2400 ms without slicing, P; click Restart and P."
      ],
      "observed": [
        "Actual drag batch cut3 fruits:0/12 ->3/12,105 points,combo x3.",
        "Visible fruit halves, juice, single-fruit scores and double-slice +54.",
        "Further empty drags no score increase; misses remained0/6 after sampled wait.",
        "Restart reset0/12,0score,78.0seconds; pause explained slicing/combo/bomb/miss rules."
      ],
      "limits": [
        "No12-fruit completion; bomb stages locked.",
        "Keyboard slicing not exercised successfully.",
        "No missed-fruit penalty captured; cannot call it absent."
      ],
      "url": "https://coworkos-ai.github.io/assets/games/fruit-slice/codex/index.html",
      "status": "hands_on_core_interaction_observed",
      "completed_playthrough": false,
      "screenshots": [
        {
          "path": "local-archive/fruit-slice-codex-initial.png",
          "captured_at": "2026-10-19T19:22:03.454324+08:00"
        },
        {
          "path": "local-archive/fruit-slice-codex-cut.png",
          "captured_at": "2026-10-19T19:34:42.296667+08:00"
        },
        {
          "path": "local-archive/fruit-slice-codex-after.png",
          "captured_at": "2026-10-19T19:35:20.520678+08:00"
        },
        {
          "path": "local-archive/fruit-slice-codex-restart.png",
          "captured_at": "2026-10-19T19:36:02.173097+08:00"
        }
      ]
    },
    {
      "case": "fruit-slice",
      "system": "ds",
      "controls": "Drag slice; arrows quick cut; Space whirlwind; P/Esc pause. First stage15fruits/max8misses.",
      "actions": [
        "Start; Shift1000 ms,P; resume1500 ms,P inspect watermelon.",
        "Resume drag450,530 ->800,530,P (miss); resume400,350 ->900,350,Space,P (miss).",
        "Resume drag450,220 ->800,220,P.",
        "Resume7000 ms without cut,P; resume7000 ms without cut; retry after failure andP."
      ],
      "observed": [
        "Aimed third drag at fruit apex cut1:0/15 ->1/15,0 ->15points; red/green watermelon halves visible.",
        "Miss counter0/8 ->4/8 ->8/8, explicit failure summary15points/1fruit/14.0s/double+quad0/0.",
        "Retry restored0/15,0points,75.0s; pause/resume worked."
      ],
      "limits": [
        "No15-fruit completion; advanced stages locked.",
        "Space was attempted but no successful whirlwind feedback captured."
      ],
      "url": "https://coworkos-ai.github.io/assets/games/fruit-slice/ds/index.html",
      "status": "hands_on_core_interaction_observed",
      "completed_playthrough": false,
      "screenshots": [
        {
          "path": "local-archive/fruit-slice-ds-initial.png",
          "captured_at": "2026-10-19T19:36:02.563745+08:00"
        },
        {
          "path": "local-archive/fruit-slice-ds-cut.png",
          "captured_at": "2026-10-19T19:41:55.802742+08:00"
        },
        {
          "path": "local-archive/fruit-slice-ds-after.png",
          "captured_at": "2026-10-19T19:43:06.319069+08:00"
        },
        {
          "path": "local-archive/fruit-slice-ds-failure.png",
          "captured_at": "2026-10-19T19:43:47.014946+08:00"
        },
        {
          "path": "local-archive/fruit-slice-ds-restart.png",
          "captured_at": "2026-10-19T19:44:30.845381+08:00"
        }
      ]
    }
  ],
  "recorded_at": "2026-10-19T19:52:16.579130+08:00"
}
