{"log_version": "1.0", "battle_id": "b_02f8960de2", "group_id": "276704f59851", "started_at": "2026-07-21T10:08:30Z", "finished_at": "2026-07-21T10:09:34Z", "duration_seconds": 63.854, "result": {"status": "P1_WIN", "winner_user_id": 1000, "loser_user_id": 2000}, "models": {"p1": {"name": "human", "kind": "human", "is_human": true}, "p2": {"name": "extra-lr-v5-postB-preV5-u29250", "kind": "v5", "is_human": false}}, "decks": {"p1": [7, 47, 52, 15, 35, 40, 21, 13, 8], "p2": [3, 24, 32, 29, 36, 46, 8, 13, 11]}, "actions": [{"turn": 1, "actor": 1000, "kind": "play_card", "action_dict": {"type": "play_card", "card_ref": 1, "board_position": 0, "target_id": null, "target_is_hero": false}, "timestamp_ms": 4638613191, "human_decision_time_ms": 2009, "state_after_summary": {"turn_number": 1, "p1_hp": 27, "p2_hp": 33, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 2, "p2_max_mana": 0, "p1_board_count": 1, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 2, "actor": 1000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 4638615634, "human_decision_time_ms": 2438, "state_after_summary": {"turn_number": 2, "p1_hp": 27, "p2_hp": 33, "p1_mana": 0, "p2_mana": 1, "p1_max_mana": 2, "p2_max_mana": 1, "p1_board_count": 1, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 3, "actor": 2000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 4638617681, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 3, "p1_hp": 27, "p2_hp": 33, "p1_mana": 3, "p2_mana": 1, "p1_max_mana": 3, "p2_max_mana": 1, "p1_board_count": 1, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 3, "actor": 1000, "kind": "play_card", "action_dict": {"type": "play_card", "card_ref": 1, "board_position": 1, "target_id": null, "target_is_hero": false}, "timestamp_ms": 4638622262, "human_decision_time_ms": 4576, "state_after_summary": {"turn_number": 3, "p1_hp": 27, "p2_hp": 33, "p1_mana": 0, "p2_mana": 1, "p1_max_mana": 3, "p2_max_mana": 1, "p1_board_count": 2, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 3, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "b1b6dc90-673a-4818-b34e-d99e5e296c98", "target_id": null, "target_is_hero": true}, "timestamp_ms": 4638623637, "human_decision_time_ms": 1370, "state_after_summary": {"turn_number": 3, "p1_hp": 27, "p2_hp": 30, "p1_mana": 0, "p2_mana": 1, "p1_max_mana": 3, "p2_max_mana": 1, "p1_board_count": 2, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 4, "actor": 1000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 4638624842, "human_decision_time_ms": 1200, "state_after_summary": {"turn_number": 4, "p1_hp": 27, "p2_hp": 30, "p1_mana": 0, "p2_mana": 2, "p1_max_mana": 3, "p2_max_mana": 2, "p1_board_count": 2, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 4, "actor": 2000, "kind": "play_card", "action_dict": {"type": "play_card", "hand_index": 1, "target_id": null, "position": 0}, "timestamp_ms": 4638626668, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 4, "p1_hp": 27, "p2_hp": 30, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 3, "p2_max_mana": 2, "p1_board_count": 2, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 5, "actor": 2000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 4638627424, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 5, "p1_hp": 27, "p2_hp": 30, "p1_mana": 4, "p2_mana": 0, "p1_max_mana": 4, "p2_max_mana": 2, "p1_board_count": 2, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 5, "actor": 1000, "kind": "play_card", "action_dict": {"type": "play_card", "card_ref": 0, "board_position": 0, "target_id": "86be3655-132c-4537-b792-41da689e2d9d", "target_is_hero": true}, "timestamp_ms": 4638629576, "human_decision_time_ms": 2146, "state_after_summary": {"turn_number": 5, "p1_hp": 27, "p2_hp": 30, "p1_mana": 2, "p2_mana": 0, "p1_max_mana": 4, "p2_max_mana": 2, "p1_board_count": 3, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 5, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "b1b6dc90-673a-4818-b34e-d99e5e296c98", "target_id": "14330524-ecc2-4ecd-9709-33678f9953be", "target_is_hero": false}, "timestamp_ms": 4638632918, "human_decision_time_ms": 3337, "state_after_summary": {"turn_number": 5, "p1_hp": 27, "p2_hp": 30, "p1_mana": 2, "p2_mana": 0, "p1_max_mana": 4, "p2_max_mana": 2, "p1_board_count": 2, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 5, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "08f4fb3a-91e7-4e37-ae7e-704d1561704c", "target_id": null, "target_is_hero": true}, "timestamp_ms": 4638634129, "human_decision_time_ms": 1205, "state_after_summary": {"turn_number": 5, "p1_hp": 27, "p2_hp": 25, "p1_mana": 2, "p2_mana": 0, "p1_max_mana": 4, "p2_max_mana": 2, "p1_board_count": 2, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 5, "actor": 1000, "kind": "mana_draw", "action_dict": {"type": "mana_draw"}, "timestamp_ms": 4638635052, "human_decision_time_ms": 917, "state_after_summary": {"turn_number": 5, "p1_hp": 27, "p2_hp": 25, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 4, "p2_max_mana": 2, "p1_board_count": 2, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 6, "actor": 1000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 4638635876, "human_decision_time_ms": 818, "state_after_summary": {"turn_number": 6, "p1_hp": 27, "p2_hp": 25, "p1_mana": 0, "p2_mana": 3, "p1_max_mana": 4, "p2_max_mana": 3, "p1_board_count": 2, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 6, "actor": 2000, "kind": "play_card", "action_dict": {"type": "play_card", "hand_index": 1, "target_id": null, "position": 0}, "timestamp_ms": 4638637741, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 6, "p1_hp": 27, "p2_hp": 25, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 4, "p2_max_mana": 3, "p1_board_count": 2, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 7, "actor": 2000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 4638638260, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 7, "p1_hp": 27, "p2_hp": 25, "p1_mana": 5, "p2_mana": 0, "p1_max_mana": 5, "p2_max_mana": 3, "p1_board_count": 2, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 7, "actor": 1000, "kind": "play_card", "action_dict": {"type": "play_card", "card_ref": 1, "board_position": 0, "target_id": "82dcb7f8-cc64-45e4-b744-64cb596689bc", "target_is_hero": false}, "timestamp_ms": 4638640131, "human_decision_time_ms": 1865, "state_after_summary": {"turn_number": 7, "p1_hp": 27, "p2_hp": 25, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 5, "p2_max_mana": 3, "p1_board_count": 3, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 7, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "e2b740c1-d1ea-4bb3-9148-06fb15c8310e", "target_id": null, "target_is_hero": true}, "timestamp_ms": 4638641502, "human_decision_time_ms": 1364, "state_after_summary": {"turn_number": 7, "p1_hp": 27, "p2_hp": 23, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 5, "p2_max_mana": 3, "p1_board_count": 3, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 7, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "08f4fb3a-91e7-4e37-ae7e-704d1561704c", "target_id": null, "target_is_hero": true}, "timestamp_ms": 4638642617, "human_decision_time_ms": 1109, "state_after_summary": {"turn_number": 7, "p1_hp": 27, "p2_hp": 18, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 5, "p2_max_mana": 3, "p1_board_count": 3, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 8, "actor": 1000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 4638643735, "human_decision_time_ms": 1111, "state_after_summary": {"turn_number": 8, "p1_hp": 27, "p2_hp": 18, "p1_mana": 0, "p2_mana": 4, "p1_max_mana": 5, "p2_max_mana": 4, "p1_board_count": 3, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 8, "actor": 2000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "82dcb7f8-cc64-45e4-b744-64cb596689bc", "target_id": "08f4fb3a-91e7-4e37-ae7e-704d1561704c", "target_is_hero": false}, "timestamp_ms": 4638645988, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 8, "p1_hp": 27, "p2_hp": 18, "p1_mana": 0, "p2_mana": 4, "p1_max_mana": 5, "p2_max_mana": 4, "p1_board_count": 2, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 8, "actor": 2000, "kind": "play_card", "action_dict": {"type": "play_card", "hand_index": 2, "target_id": "e2b740c1-d1ea-4bb3-9148-06fb15c8310e", "position": null}, "timestamp_ms": 4638646646, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 8, "p1_hp": 27, "p2_hp": 18, "p1_mana": 0, "p2_mana": 3, "p1_max_mana": 5, "p2_max_mana": 4, "p1_board_count": 2, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 8, "actor": 2000, "kind": "play_card", "action_dict": {"type": "play_card", "hand_index": 0, "target_id": "d54beefc-f260-424b-bbac-230a1508fa0b", "position": 0}, "timestamp_ms": 4638647315, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 8, "p1_hp": 27, "p2_hp": 21, "p1_mana": 0, "p2_mana": 1, "p1_max_mana": 5, "p2_max_mana": 4, "p1_board_count": 2, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 9, "actor": 2000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 4638647991, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 9, "p1_hp": 27, "p2_hp": 21, "p1_mana": 6, "p2_mana": 1, "p1_max_mana": 6, "p2_max_mana": 4, "p1_board_count": 2, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 9, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "bcd1406e-1e5a-4435-bf4f-0b437ee7a784", "target_id": null, "target_is_hero": true}, "timestamp_ms": 4638650247, "human_decision_time_ms": 2234, "state_after_summary": {"turn_number": 9, "p1_hp": 27, "p2_hp": 16, "p1_mana": 6, "p2_mana": 1, "p1_max_mana": 6, "p2_max_mana": 4, "p1_board_count": 2, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 9, "actor": 1000, "kind": "play_card", "action_dict": {"type": "play_card", "card_ref": 0, "board_position": 0, "target_id": "86be3655-132c-4537-b792-41da689e2d9d", "target_is_hero": true}, "timestamp_ms": 4638651899, "human_decision_time_ms": 1630, "state_after_summary": {"turn_number": 9, "p1_hp": 30, "p2_hp": 16, "p1_mana": 1, "p2_mana": 1, "p1_max_mana": 6, "p2_max_mana": 4, "p1_board_count": 3, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 9, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "e2b740c1-d1ea-4bb3-9148-06fb15c8310e", "target_id": null, "target_is_hero": true}, "timestamp_ms": 4638653271, "human_decision_time_ms": 1345, "state_after_summary": {"turn_number": 9, "p1_hp": 30, "p2_hp": 14, "p1_mana": 1, "p2_mana": 1, "p1_max_mana": 6, "p2_max_mana": 4, "p1_board_count": 3, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 9, "actor": 1000, "kind": "play_card", "action_dict": {"type": "play_card", "card_ref": 2, "board_position": 0, "target_id": "81f9846a-458d-41c3-ae19-929bb61fa03d", "target_is_hero": false}, "timestamp_ms": 4638655458, "human_decision_time_ms": 2165, "state_after_summary": {"turn_number": 9, "p1_hp": 30, "p2_hp": 14, "p1_mana": 0, "p2_mana": 1, "p1_max_mana": 6, "p2_max_mana": 4, "p1_board_count": 3, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 10, "actor": 1000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 4638656741, "human_decision_time_ms": 1262, "state_after_summary": {"turn_number": 10, "p1_hp": 30, "p2_hp": 14, "p1_mana": 0, "p2_mana": 5, "p1_max_mana": 6, "p2_max_mana": 5, "p1_board_count": 3, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 10, "actor": 2000, "kind": "play_card", "action_dict": {"type": "play_card", "hand_index": 0, "target_id": "bcd1406e-1e5a-4435-bf4f-0b437ee7a784", "position": null}, "timestamp_ms": 4638658747, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 10, "p1_hp": 30, "p2_hp": 14, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 6, "p2_max_mana": 5, "p1_board_count": 2, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 10, "actor": 2000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "81f9846a-458d-41c3-ae19-929bb61fa03d", "target_id": "e2b740c1-d1ea-4bb3-9148-06fb15c8310e", "target_is_hero": false}, "timestamp_ms": 4638659337, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 10, "p1_hp": 30, "p2_hp": 14, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 6, "p2_max_mana": 5, "p1_board_count": 1, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 11, "actor": 2000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 4638660009, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 11, "p1_hp": 30, "p2_hp": 14, "p1_mana": 7, "p2_mana": 0, "p1_max_mana": 7, "p2_max_mana": 5, "p1_board_count": 1, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 11, "actor": 1000, "kind": "play_card", "action_dict": {"type": "play_card", "card_ref": 2, "board_position": 1, "target_id": null, "target_is_hero": false}, "timestamp_ms": 4638662014, "human_decision_time_ms": 1996, "state_after_summary": {"turn_number": 11, "p1_hp": 30, "p2_hp": 12, "p1_mana": 5, "p2_mana": 0, "p1_max_mana": 7, "p2_max_mana": 5, "p1_board_count": 2, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 11, "actor": 1000, "kind": "mana_draw", "action_dict": {"type": "mana_draw"}, "timestamp_ms": 4638662703, "human_decision_time_ms": 681, "state_after_summary": {"turn_number": 11, "p1_hp": 30, "p2_hp": 12, "p1_mana": 3, "p2_mana": 0, "p1_max_mana": 7, "p2_max_mana": 5, "p1_board_count": 2, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 11, "actor": 1000, "kind": "play_card", "action_dict": {"type": "play_card", "card_ref": 2, "board_position": 2, "target_id": null, "target_is_hero": false}, "timestamp_ms": 4638663852, "human_decision_time_ms": 1141, "state_after_summary": {"turn_number": 11, "p1_hp": 30, "p2_hp": 12, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 7, "p2_max_mana": 5, "p1_board_count": 3, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 11, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "25b983f9-00f7-464a-8f8a-ff1302476347", "target_id": null, "target_is_hero": true}, "timestamp_ms": 4638664884, "human_decision_time_ms": 1025, "state_after_summary": {"turn_number": 11, "p1_hp": 30, "p2_hp": 8, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 7, "p2_max_mana": 5, "p1_board_count": 3, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 12, "actor": 1000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 4638665580, "human_decision_time_ms": 686, "state_after_summary": {"turn_number": 12, "p1_hp": 30, "p2_hp": 8, "p1_mana": 0, "p2_mana": 6, "p1_max_mana": 7, "p2_max_mana": 6, "p1_board_count": 3, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 12, "actor": 2000, "kind": "play_card", "action_dict": {"type": "play_card", "hand_index": 2, "target_id": null, "position": 0}, "timestamp_ms": 4638667572, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 12, "p1_hp": 30, "p2_hp": 8, "p1_mana": 0, "p2_mana": 2, "p1_max_mana": 7, "p2_max_mana": 6, "p1_board_count": 3, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 12, "actor": 2000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "2fd3874c-33a4-446a-a2be-664fca09d8b4", "target_id": null, "target_is_hero": true}, "timestamp_ms": 4638668160, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 12, "p1_hp": 22, "p2_hp": 8, "p1_mana": 0, "p2_mana": 2, "p1_max_mana": 7, "p2_max_mana": 6, "p1_board_count": 3, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 12, "actor": 2000, "kind": "mana_draw", "action_dict": {"type": "mana_draw"}, "timestamp_ms": 4638668950, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 12, "p1_hp": 22, "p2_hp": 8, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 7, "p2_max_mana": 6, "p1_board_count": 3, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 13, "actor": 2000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 4638669736, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 13, "p1_hp": 22, "p2_hp": 8, "p1_mana": 8, "p2_mana": 0, "p1_max_mana": 8, "p2_max_mana": 6, "p1_board_count": 3, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 13, "actor": 1000, "kind": "play_card", "action_dict": {"type": "play_card", "card_ref": 0, "board_position": 0, "target_id": "2fd3874c-33a4-446a-a2be-664fca09d8b4", "target_is_hero": false}, "timestamp_ms": 4638672204, "human_decision_time_ms": 2460, "state_after_summary": {"turn_number": 13, "p1_hp": 22, "p2_hp": 8, "p1_mana": 3, "p2_mana": 0, "p1_max_mana": 8, "p2_max_mana": 6, "p1_board_count": 3, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 13, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "08f4fb3a-91e7-4e37-ae7e-704d1561704c", "target_id": null, "target_is_hero": true}, "timestamp_ms": 4638673727, "human_decision_time_ms": 1515, "state_after_summary": {"turn_number": 13, "p1_hp": 22, "p2_hp": 3, "p1_mana": 3, "p2_mana": 0, "p1_max_mana": 8, "p2_max_mana": 6, "p1_board_count": 3, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 13, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "b1b6dc90-673a-4818-b34e-d99e5e296c98", "target_id": null, "target_is_hero": true}, "timestamp_ms": 4638675031, "human_decision_time_ms": 1296, "state_after_summary": {"turn_number": 13, "p1_hp": 22, "p2_hp": 0, "p1_mana": 3, "p2_mana": 0, "p1_max_mana": 8, "p2_max_mana": 6, "p1_board_count": 3, "p2_board_count": 0}, "ok": true, "error": null}], "final_state_summary": {"turn_number": 13, "p1_hp": 22, "p2_hp": 0, "p1_mana": 3, "p2_mana": 0, "p1_max_mana": 8, "p2_max_mana": 6, "p1_board_count": 3, "p2_board_count": 0}, "policy_warnings": [], "degraded": false}