{"log_version": "1.0", "battle_id": "b_a316b28aa5", "group_id": "d6891a0f4483", "started_at": "2026-07-25T18:12:08Z", "finished_at": "2026-07-25T18:13:16Z", "duration_seconds": 68.214, "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": [49, 25, 45, 48, 44, 18, 10, 8, 12], "p2": [1, 22, 27, 48, 50, 43, 28, 19, 12]}, "actions": [{"turn": 2, "actor": 1000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 5013230688, "human_decision_time_ms": 1310, "state_after_summary": {"turn_number": 2, "p1_hp": 50, "p2_hp": 51, "p1_mana": 1, "p2_mana": 1, "p1_max_mana": 1, "p2_max_mana": 1, "p1_board_count": 0, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 2, "actor": 2000, "kind": "play_card", "action_dict": {"type": "play_card", "hand_index": 0, "target_id": null, "position": 0}, "timestamp_ms": 5013232686, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 2, "p1_hp": 50, "p2_hp": 51, "p1_mana": 1, "p2_mana": 0, "p1_max_mana": 1, "p2_max_mana": 1, "p1_board_count": 0, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 3, "actor": 2000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 5013233474, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 3, "p1_hp": 50, "p2_hp": 51, "p1_mana": 2, "p2_mana": 0, "p1_max_mana": 2, "p2_max_mana": 1, "p1_board_count": 0, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 3, "actor": 1000, "kind": "play_card", "action_dict": {"type": "play_card", "card_ref": 0, "board_position": 0, "target_id": null, "target_is_hero": false}, "timestamp_ms": 5013236543, "human_decision_time_ms": 3065, "state_after_summary": {"turn_number": 3, "p1_hp": 50, "p2_hp": 51, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 2, "p2_max_mana": 1, "p1_board_count": 1, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 3, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "84f11695-776f-4b49-b15c-db8ade62262e", "target_id": null, "target_is_hero": true}, "timestamp_ms": 5013237755, "human_decision_time_ms": 1207, "state_after_summary": {"turn_number": 3, "p1_hp": 50, "p2_hp": 45, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 2, "p2_max_mana": 1, "p1_board_count": 1, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 4, "actor": 1000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 5013238631, "human_decision_time_ms": 871, "state_after_summary": {"turn_number": 4, "p1_hp": 50, "p2_hp": 45, "p1_mana": 0, "p2_mana": 2, "p1_max_mana": 2, "p2_max_mana": 2, "p1_board_count": 1, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 4, "actor": 2000, "kind": "play_card", "action_dict": {"type": "play_card", "hand_index": 1, "target_id": null, "position": 1}, "timestamp_ms": 5013240843, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 4, "p1_hp": 50, "p2_hp": 45, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 2, "p2_max_mana": 2, "p1_board_count": 1, "p2_board_count": 2}, "ok": true, "error": null}, {"turn": 4, "actor": 2000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "13680d57-ac54-4473-b5ce-c496056e9be9", "target_id": "84f11695-776f-4b49-b15c-db8ade62262e", "target_is_hero": false}, "timestamp_ms": 5013241409, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 4, "p1_hp": 50, "p2_hp": 40, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 2, "p2_max_mana": 2, "p1_board_count": 0, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 5, "actor": 2000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 5013242053, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 5, "p1_hp": 50, "p2_hp": 40, "p1_mana": 3, "p2_mana": 0, "p1_max_mana": 3, "p2_max_mana": 2, "p1_board_count": 0, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 5, "actor": 1000, "kind": "play_card", "action_dict": {"type": "play_card", "card_ref": 2, "board_position": 0, "target_id": "1c349b61-87f8-4746-9ca5-59e2b7f6773c", "target_is_hero": false}, "timestamp_ms": 5013244191, "human_decision_time_ms": 2130, "state_after_summary": {"turn_number": 5, "p1_hp": 50, "p2_hp": 40, "p1_mana": 2, "p2_mana": 0, "p1_max_mana": 3, "p2_max_mana": 2, "p1_board_count": 0, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 5, "actor": 1000, "kind": "play_card", "action_dict": {"type": "play_card", "card_ref": 2, "board_position": 0, "target_id": null, "target_is_hero": false}, "timestamp_ms": 5013246793, "human_decision_time_ms": 2597, "state_after_summary": {"turn_number": 5, "p1_hp": 50, "p2_hp": 40, "p1_mana": 2, "p2_mana": 0, "p1_max_mana": 3, "p2_max_mana": 2, "p1_board_count": 0, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 5, "actor": 1000, "kind": "mana_draw", "action_dict": {"type": "mana_draw"}, "timestamp_ms": 5013247445, "human_decision_time_ms": 646, "state_after_summary": {"turn_number": 5, "p1_hp": 50, "p2_hp": 40, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 3, "p2_max_mana": 2, "p1_board_count": 0, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 6, "actor": 1000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 5013248307, "human_decision_time_ms": 856, "state_after_summary": {"turn_number": 6, "p1_hp": 50, "p2_hp": 40, "p1_mana": 0, "p2_mana": 1, "p1_max_mana": 3, "p2_max_mana": 3, "p1_board_count": 0, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 7, "actor": 2000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 5013250817, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 7, "p1_hp": 50, "p2_hp": 40, "p1_mana": 4, "p2_mana": 1, "p1_max_mana": 4, "p2_max_mana": 3, "p1_board_count": 0, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 8, "actor": 1000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 5013252706, "human_decision_time_ms": 1883, "state_after_summary": {"turn_number": 8, "p1_hp": 50, "p2_hp": 40, "p1_mana": 4, "p2_mana": 4, "p1_max_mana": 4, "p2_max_mana": 4, "p1_board_count": 0, "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": null, "position": 0}, "timestamp_ms": 5013255030, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 8, "p1_hp": 50, "p2_hp": 40, "p1_mana": 4, "p2_mana": 2, "p1_max_mana": 4, "p2_max_mana": 4, "p1_board_count": 0, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 8, "actor": 2000, "kind": "mana_draw", "action_dict": {"type": "mana_draw"}, "timestamp_ms": 5013255656, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 8, "p1_hp": 50, "p2_hp": 40, "p1_mana": 4, "p2_mana": 0, "p1_max_mana": 4, "p2_max_mana": 4, "p1_board_count": 0, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 9, "actor": 2000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 5013256453, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 9, "p1_hp": 50, "p2_hp": 40, "p1_mana": 5, "p2_mana": 0, "p1_max_mana": 5, "p2_max_mana": 4, "p1_board_count": 0, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 9, "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": 5013259319, "human_decision_time_ms": 2860, "state_after_summary": {"turn_number": 9, "p1_hp": 50, "p2_hp": 40, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 5, "p2_max_mana": 4, "p1_board_count": 1, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 10, "actor": 1000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 5013260341, "human_decision_time_ms": 1015, "state_after_summary": {"turn_number": 10, "p1_hp": 50, "p2_hp": 40, "p1_mana": 0, "p2_mana": 5, "p1_max_mana": 5, "p2_max_mana": 5, "p1_board_count": 1, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 10, "actor": 2000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "4f20006d-fa03-4aad-b2de-22c5273b58da", "target_id": "71fc9c9b-3111-494c-b13a-7336c9d6fcfa", "target_is_hero": false}, "timestamp_ms": 5013262015, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 10, "p1_hp": 50, "p2_hp": 40, "p1_mana": 0, "p2_mana": 5, "p1_max_mana": 5, "p2_max_mana": 5, "p1_board_count": 1, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 10, "actor": 2000, "kind": "play_card", "action_dict": {"type": "play_card", "hand_index": 2, "target_id": null, "position": null}, "timestamp_ms": 5013262506, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 10, "p1_hp": 50, "p2_hp": 40, "p1_mana": 0, "p2_mana": 5, "p1_max_mana": 5, "p2_max_mana": 5, "p1_board_count": 1, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 10, "actor": 2000, "kind": "mana_draw", "action_dict": {"type": "mana_draw"}, "timestamp_ms": 5013263033, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 10, "p1_hp": 50, "p2_hp": 40, "p1_mana": 0, "p2_mana": 3, "p1_max_mana": 5, "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": 5013263790, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 11, "p1_hp": 50, "p2_hp": 40, "p1_mana": 4, "p2_mana": 3, "p1_max_mana": 6, "p2_max_mana": 5, "p1_board_count": 1, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 11, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "71fc9c9b-3111-494c-b13a-7336c9d6fcfa", "target_id": null, "target_is_hero": true}, "timestamp_ms": 5013266346, "human_decision_time_ms": 2549, "state_after_summary": {"turn_number": 11, "p1_hp": 50, "p2_hp": 29, "p1_mana": 4, "p2_mana": 3, "p1_max_mana": 6, "p2_max_mana": 5, "p1_board_count": 1, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 12, "actor": 1000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 5013267440, "human_decision_time_ms": 1087, "state_after_summary": {"turn_number": 12, "p1_hp": 50, "p2_hp": 29, "p1_mana": 4, "p2_mana": 6, "p1_max_mana": 6, "p2_max_mana": 6, "p1_board_count": 1, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 12, "actor": 2000, "kind": "play_card", "action_dict": {"type": "play_card", "hand_index": 3, "target_id": "71fc9c9b-3111-494c-b13a-7336c9d6fcfa", "position": 0}, "timestamp_ms": 5013269611, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 12, "p1_hp": 50, "p2_hp": 29, "p1_mana": 4, "p2_mana": 2, "p1_max_mana": 6, "p2_max_mana": 6, "p1_board_count": 1, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 12, "actor": 2000, "kind": "mana_draw", "action_dict": {"type": "mana_draw"}, "timestamp_ms": 5013270276, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 12, "p1_hp": 50, "p2_hp": 29, "p1_mana": 4, "p2_mana": 0, "p1_max_mana": 6, "p2_max_mana": 6, "p1_board_count": 1, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 13, "actor": 2000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 5013270729, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 13, "p1_hp": 50, "p2_hp": 29, "p1_mana": 7, "p2_mana": 0, "p1_max_mana": 7, "p2_max_mana": 6, "p1_board_count": 1, "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": 1, "target_id": null, "target_is_hero": false}, "timestamp_ms": 5013273194, "human_decision_time_ms": 2458, "state_after_summary": {"turn_number": 13, "p1_hp": 50, "p2_hp": 29, "p1_mana": 2, "p2_mana": 0, "p1_max_mana": 7, "p2_max_mana": 6, "p1_board_count": 2, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 13, "actor": 1000, "kind": "mana_draw", "action_dict": {"type": "mana_draw"}, "timestamp_ms": 5013274630, "human_decision_time_ms": 1430, "state_after_summary": {"turn_number": 13, "p1_hp": 50, "p2_hp": 29, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 7, "p2_max_mana": 6, "p1_board_count": 2, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 14, "actor": 1000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 5013275514, "human_decision_time_ms": 877, "state_after_summary": {"turn_number": 14, "p1_hp": 50, "p2_hp": 29, "p1_mana": 0, "p2_mana": 7, "p1_max_mana": 7, "p2_max_mana": 7, "p1_board_count": 2, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 14, "actor": 2000, "kind": "play_card", "action_dict": {"type": "play_card", "hand_index": 1, "target_id": null, "position": 1}, "timestamp_ms": 5013277787, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 14, "p1_hp": 50, "p2_hp": 29, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 7, "p2_max_mana": 7, "p1_board_count": 2, "p2_board_count": 2}, "ok": true, "error": null}, {"turn": 14, "actor": 2000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "4c99081a-1672-4873-82f2-2d7d2df9fbeb", "target_id": "a8fee148-90db-4b80-84ae-83a3b9509786", "target_is_hero": false}, "timestamp_ms": 5013278373, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 14, "p1_hp": 50, "p2_hp": 29, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 7, "p2_max_mana": 7, "p1_board_count": 2, "p2_board_count": 2}, "ok": true, "error": null}, {"turn": 15, "actor": 2000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 5013279000, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 15, "p1_hp": 50, "p2_hp": 29, "p1_mana": 8, "p2_mana": 0, "p1_max_mana": 8, "p2_max_mana": 7, "p1_board_count": 2, "p2_board_count": 2}, "ok": true, "error": null}, {"turn": 15, "actor": 1000, "kind": "play_card", "action_dict": {"type": "play_card", "card_ref": 1, "board_position": 2, "target_id": null, "target_is_hero": false}, "timestamp_ms": 5013281166, "human_decision_time_ms": 2156, "state_after_summary": {"turn_number": 15, "p1_hp": 50, "p2_hp": 29, "p1_mana": 4, "p2_mana": 0, "p1_max_mana": 8, "p2_max_mana": 7, "p1_board_count": 2, "p2_board_count": 2}, "ok": true, "error": null}, {"turn": 15, "actor": 1000, "kind": "play_card", "action_dict": {"type": "play_card", "card_ref": 2, "board_position": 0, "target_id": "a834f8a1-10cf-4b77-9b72-5108ef8ad86f", "target_is_hero": false}, "timestamp_ms": 5013283418, "human_decision_time_ms": 2245, "state_after_summary": {"turn_number": 15, "p1_hp": 50, "p2_hp": 29, "p1_mana": 3, "p2_mana": 0, "p1_max_mana": 8, "p2_max_mana": 7, "p1_board_count": 2, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 15, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "a8fee148-90db-4b80-84ae-83a3b9509786", "target_id": null, "target_is_hero": true}, "timestamp_ms": 5013286299, "human_decision_time_ms": 2863, "state_after_summary": {"turn_number": 15, "p1_hp": 50, "p2_hp": 20, "p1_mana": 3, "p2_mana": 0, "p1_max_mana": 8, "p2_max_mana": 7, "p1_board_count": 2, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 15, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "71fc9c9b-3111-494c-b13a-7336c9d6fcfa", "target_id": null, "target_is_hero": true}, "timestamp_ms": 5013287948, "human_decision_time_ms": 1628, "state_after_summary": {"turn_number": 15, "p1_hp": 50, "p2_hp": 9, "p1_mana": 3, "p2_mana": 0, "p1_max_mana": 8, "p2_max_mana": 7, "p1_board_count": 2, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 15, "actor": 1000, "kind": "mana_draw", "action_dict": {"type": "mana_draw"}, "timestamp_ms": 5013288781, "human_decision_time_ms": 814, "state_after_summary": {"turn_number": 15, "p1_hp": 50, "p2_hp": 9, "p1_mana": 1, "p2_mana": 0, "p1_max_mana": 8, "p2_max_mana": 7, "p1_board_count": 2, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 16, "actor": 1000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 5013289838, "human_decision_time_ms": 1036, "state_after_summary": {"turn_number": 16, "p1_hp": 50, "p2_hp": 9, "p1_mana": 1, "p2_mana": 8, "p1_max_mana": 8, "p2_max_mana": 8, "p1_board_count": 2, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 16, "actor": 2000, "kind": "play_card", "action_dict": {"type": "play_card", "hand_index": 1, "target_id": null, "position": 1}, "timestamp_ms": 5013292202, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 16, "p1_hp": 50, "p2_hp": 9, "p1_mana": 1, "p2_mana": 0, "p1_max_mana": 8, "p2_max_mana": 8, "p1_board_count": 2, "p2_board_count": 2}, "ok": true, "error": null}, {"turn": 16, "actor": 2000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "4c99081a-1672-4873-82f2-2d7d2df9fbeb", "target_id": "a8fee148-90db-4b80-84ae-83a3b9509786", "target_is_hero": false}, "timestamp_ms": 5013292771, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 16, "p1_hp": 50, "p2_hp": 4, "p1_mana": 1, "p2_mana": 0, "p1_max_mana": 8, "p2_max_mana": 8, "p1_board_count": 1, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 17, "actor": 2000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 5013293296, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 17, "p1_hp": 50, "p2_hp": 4, "p1_mana": 9, "p2_mana": 0, "p1_max_mana": 9, "p2_max_mana": 8, "p1_board_count": 1, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 17, "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": 5013296309, "human_decision_time_ms": 3006, "state_after_summary": {"turn_number": 17, "p1_hp": 50, "p2_hp": 4, "p1_mana": 7, "p2_mana": 0, "p1_max_mana": 9, "p2_max_mana": 8, "p1_board_count": 2, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 17, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "84f11695-776f-4b49-b15c-db8ade62262e", "target_id": null, "target_is_hero": true}, "timestamp_ms": 5013297587, "human_decision_time_ms": 1271, "state_after_summary": {"turn_number": 17, "p1_hp": 50, "p2_hp": 0, "p1_mana": 7, "p2_mana": 0, "p1_max_mana": 9, "p2_max_mana": 8, "p1_board_count": 2, "p2_board_count": 1}, "ok": true, "error": null}], "final_state_summary": {"turn_number": 17, "p1_hp": 50, "p2_hp": 0, "p1_mana": 7, "p2_mana": 0, "p1_max_mana": 9, "p2_max_mana": 8, "p1_board_count": 2, "p2_board_count": 1}, "policy_warnings": [], "degraded": false}