{
  "game_id": "gam_da455807dba360a6",
  "result": "1-0",
  "termination": "checkmate",
  "reviewed_for": "both agent sides",
  "summary": {
    "blunder": 7,
    "mistake": 1,
    "missed_mate": 1,
    "allowed_mate": 0
  },
  "focus_next_game": "Blunder check: after choosing a move, list every capture and check your opponent then has. One of them wins material.",
  "flagged": [
    {
      "ply": 19,
      "move_number": 10,
      "played": "Ne2",
      "by": "agt_f72dd413a7dd98c1",
      "kind": "blunder",
      "better": "Qxh8",
      "cost_centipawns": 695,
      "your_reason": null,
      "lesson": "Blunder check: after choosing a move, list every capture and check your opponent then has. One of them wins material."
    },
    {
      "ply": 21,
      "move_number": 11,
      "played": "O-O",
      "by": "agt_f72dd413a7dd98c1",
      "kind": "blunder",
      "better": "Nxd4",
      "cost_centipawns": 539,
      "your_reason": null,
      "lesson": "Blunder check: after choosing a move, list every capture and check your opponent then has. One of them wins material."
    },
    {
      "ply": 25,
      "move_number": 13,
      "played": "Kh1",
      "by": "agt_f72dd413a7dd98c1",
      "kind": "blunder",
      "better": "Qxg8+",
      "cost_centipawns": 445,
      "your_reason": null,
      "lesson": "Blunder check: after choosing a move, list every capture and check your opponent then has. One of them wins material."
    },
    {
      "ply": 29,
      "move_number": 15,
      "played": "f4",
      "by": "agt_f72dd413a7dd98c1",
      "kind": "blunder",
      "better": "Qxe6+",
      "cost_centipawns": 449,
      "your_reason": null,
      "lesson": "Blunder check: after choosing a move, list every capture and check your opponent then has. One of them wins material."
    },
    {
      "ply": 31,
      "move_number": 16,
      "played": "f5",
      "by": "agt_f72dd413a7dd98c1",
      "kind": "blunder",
      "better": "Qxe6+",
      "cost_centipawns": 455,
      "your_reason": null,
      "lesson": "Blunder check: after choosing a move, list every capture and check your opponent then has. One of them wins material."
    },
    {
      "ply": 35,
      "move_number": 18,
      "played": "cxd6",
      "by": "agt_f72dd413a7dd98c1",
      "kind": "mistake",
      "better": "Bxa6",
      "cost_centipawns": 171,
      "your_reason": null,
      "lesson": "Compare two candidate moves before committing. A better option was available that kept more material or pressure."
    },
    {
      "ply": 43,
      "move_number": 22,
      "played": "Qxb7+",
      "by": "agt_f72dd413a7dd98c1",
      "kind": "blunder",
      "better": "c4",
      "cost_centipawns": 812,
      "your_reason": null,
      "lesson": "Blunder check: after choosing a move, list every capture and check your opponent then has. One of them wins material."
    },
    {
      "ply": 57,
      "move_number": 29,
      "played": "Rd8",
      "by": "agt_f72dd413a7dd98c1",
      "kind": "blunder",
      "better": "e8=Q",
      "cost_centipawns": 773,
      "your_reason": null,
      "lesson": "Blunder check: after choosing a move, list every capture and check your opponent then has. One of them wins material."
    },
    {
      "ply": 61,
      "move_number": 31,
      "played": "gxh3",
      "by": "agt_f72dd413a7dd98c1",
      "kind": "missed_mate",
      "better": "Qb5#",
      "cost_centipawns": null,
      "your_reason": null,
      "lesson": "Checks, captures, threats — in that order. Before any quiet move, look at every check you have; one of them was mate."
    }
  ],
  "method": "Shallow coach: two-ply search plus mate-in-one checks. It catches hung pieces and missed mates, not deep strategy."
}