{"log_version": "1.0", "battle_id": "b_2041b21a8b", "group_id": "d6891a0f4483", "started_at": "2026-07-25T18:11:03Z", "finished_at": "2026-07-25T18:12:00Z", "duration_seconds": 57.5, "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, 50, 42, 27, 28, 21, 19, 12, 10], "p2": [6, 33, 51, 24, 27, 32, 39, 26, 10]}, "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": 5013166111, "human_decision_time_ms": 2297, "state_after_summary": {"turn_number": 1, "p1_hp": 39, "p2_hp": 51, "p1_mana": 2, "p2_mana": 0, "p1_max_mana": 4, "p2_max_mana": 0, "p1_board_count": 1, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 1, "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": 5013167605, "human_decision_time_ms": 1482, "state_after_summary": {"turn_number": 1, "p1_hp": 39, "p2_hp": 51, "p1_mana": 1, "p2_mana": 0, "p1_max_mana": 4, "p2_max_mana": 0, "p1_board_count": 2, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 2, "actor": 1000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 5013168472, "human_decision_time_ms": 855, "state_after_summary": {"turn_number": 2, "p1_hp": 39, "p2_hp": 51, "p1_mana": 1, "p2_mana": 1, "p1_max_mana": 4, "p2_max_mana": 1, "p1_board_count": 2, "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": 5013170680, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 2, "p1_hp": 39, "p2_hp": 51, "p1_mana": 1, "p2_mana": 1, "p1_max_mana": 4, "p2_max_mana": 1, "p1_board_count": 2, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 2, "actor": 2000, "kind": "play_card", "action_dict": {"type": "play_card", "hand_index": 0, "target_id": null, "position": 1}, "timestamp_ms": 5013171378, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 2, "p1_hp": 39, "p2_hp": 51, "p1_mana": 1, "p2_mana": 0, "p1_max_mana": 4, "p2_max_mana": 1, "p1_board_count": 2, "p2_board_count": 2}, "ok": true, "error": null}, {"turn": 3, "actor": 2000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 5013172180, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 3, "p1_hp": 39, "p2_hp": 51, "p1_mana": 5, "p2_mana": 0, "p1_max_mana": 5, "p2_max_mana": 1, "p1_board_count": 2, "p2_board_count": 2}, "ok": true, "error": null}, {"turn": 3, "actor": 1000, "kind": "play_card", "action_dict": {"type": "play_card", "card_ref": 0, "board_position": 0, "target_id": "aa44a044-830f-4b04-aa46-b14a04f5112d", "target_is_hero": false}, "timestamp_ms": 5013174713, "human_decision_time_ms": 2528, "state_after_summary": {"turn_number": 3, "p1_hp": 39, "p2_hp": 51, "p1_mana": 1, "p2_mana": 0, "p1_max_mana": 5, "p2_max_mana": 1, "p1_board_count": 3, "p2_board_count": 2}, "ok": true, "error": null}, {"turn": 3, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "286076d4-a31f-4814-9d91-6bce25c20c01", "target_id": "e3eb6cb2-8bb0-40e9-ad82-318d0cae9aec", "target_is_hero": false}, "timestamp_ms": 5013176461, "human_decision_time_ms": 1742, "state_after_summary": {"turn_number": 3, "p1_hp": 39, "p2_hp": 51, "p1_mana": 1, "p2_mana": 0, "p1_max_mana": 5, "p2_max_mana": 1, "p1_board_count": 3, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 3, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "a28d7bbb-2763-4b29-9fc5-f473fc701d80", "target_id": "aa44a044-830f-4b04-aa46-b14a04f5112d", "target_is_hero": false}, "timestamp_ms": 5013178385, "human_decision_time_ms": 1918, "state_after_summary": {"turn_number": 3, "p1_hp": 39, "p2_hp": 51, "p1_mana": 1, "p2_mana": 0, "p1_max_mana": 5, "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": 5013179418, "human_decision_time_ms": 1019, "state_after_summary": {"turn_number": 4, "p1_hp": 39, "p2_hp": 51, "p1_mana": 1, "p2_mana": 2, "p1_max_mana": 5, "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": 0, "target_id": null, "position": 0}, "timestamp_ms": 5013181087, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 4, "p1_hp": 39, "p2_hp": 51, "p1_mana": 1, "p2_mana": 0, "p1_max_mana": 5, "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": 5013181842, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 5, "p1_hp": 39, "p2_hp": 51, "p1_mana": 6, "p2_mana": 0, "p1_max_mana": 6, "p2_max_mana": 2, "p1_board_count": 2, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 5, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "6e3e574d-863b-49a6-ab7e-34aa9745f578", "target_id": "629772bf-0dfd-4c47-8deb-9171f9447834", "target_is_hero": false}, "timestamp_ms": 5013184320, "human_decision_time_ms": 2459, "state_after_summary": {"turn_number": 5, "p1_hp": 39, "p2_hp": 51, "p1_mana": 6, "p2_mana": 0, "p1_max_mana": 6, "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": "286076d4-a31f-4814-9d91-6bce25c20c01", "target_id": null, "target_is_hero": true}, "timestamp_ms": 5013185890, "human_decision_time_ms": 1552, "state_after_summary": {"turn_number": 5, "p1_hp": 39, "p2_hp": 42, "p1_mana": 6, "p2_mana": 0, "p1_max_mana": 6, "p2_max_mana": 2, "p1_board_count": 2, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 5, "actor": 1000, "kind": "play_card", "action_dict": {"type": "play_card", "card_ref": 0, "board_position": 2, "target_id": null, "target_is_hero": false}, "timestamp_ms": 5013187443, "human_decision_time_ms": 1524, "state_after_summary": {"turn_number": 5, "p1_hp": 39, "p2_hp": 42, "p1_mana": 6, "p2_mana": 0, "p1_max_mana": 6, "p2_max_mana": 2, "p1_board_count": 2, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 5, "actor": 1000, "kind": "play_card", "action_dict": {"type": "play_card", "card_ref": 0, "board_position": 2, "target_id": null, "target_is_hero": false}, "timestamp_ms": 5013189412, "human_decision_time_ms": 1951, "state_after_summary": {"turn_number": 5, "p1_hp": 39, "p2_hp": 42, "p1_mana": 1, "p2_mana": 0, "p1_max_mana": 6, "p2_max_mana": 2, "p1_board_count": 3, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 6, "actor": 1000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 5013190649, "human_decision_time_ms": 1218, "state_after_summary": {"turn_number": 6, "p1_hp": 39, "p2_hp": 45, "p1_mana": 1, "p2_mana": 1, "p1_max_mana": 6, "p2_max_mana": 3, "p1_board_count": 3, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 7, "actor": 2000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 5013192398, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 7, "p1_hp": 39, "p2_hp": 45, "p1_mana": 7, "p2_mana": 1, "p1_max_mana": 7, "p2_max_mana": 3, "p1_board_count": 3, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 7, "actor": 1000, "kind": "play_card", "action_dict": {"type": "play_card", "card_ref": 0, "board_position": 3, "target_id": null, "target_is_hero": false}, "timestamp_ms": 5013194379, "human_decision_time_ms": 1975, "state_after_summary": {"turn_number": 7, "p1_hp": 39, "p2_hp": 45, "p1_mana": 1, "p2_mana": 1, "p1_max_mana": 7, "p2_max_mana": 3, "p1_board_count": 4, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 7, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "05fa5c30-54e4-4eab-9db9-5c9945227643", "target_id": null, "target_is_hero": true}, "timestamp_ms": 5013195928, "human_decision_time_ms": 1542, "state_after_summary": {"turn_number": 7, "p1_hp": 39, "p2_hp": 37, "p1_mana": 1, "p2_mana": 1, "p1_max_mana": 7, "p2_max_mana": 3, "p1_board_count": 4, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 7, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "286076d4-a31f-4814-9d91-6bce25c20c01", "target_id": null, "target_is_hero": true}, "timestamp_ms": 5013197684, "human_decision_time_ms": 1749, "state_after_summary": {"turn_number": 7, "p1_hp": 39, "p2_hp": 28, "p1_mana": 1, "p2_mana": 1, "p1_max_mana": 7, "p2_max_mana": 3, "p1_board_count": 4, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 7, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "6e3e574d-863b-49a6-ab7e-34aa9745f578", "target_id": null, "target_is_hero": true}, "timestamp_ms": 5013199214, "human_decision_time_ms": 1523, "state_after_summary": {"turn_number": 7, "p1_hp": 39, "p2_hp": 23, "p1_mana": 1, "p2_mana": 1, "p1_max_mana": 7, "p2_max_mana": 3, "p1_board_count": 4, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 8, "actor": 1000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 5013200106, "human_decision_time_ms": 886, "state_after_summary": {"turn_number": 8, "p1_hp": 39, "p2_hp": 26, "p1_mana": 1, "p2_mana": 4, "p1_max_mana": 7, "p2_max_mana": 4, "p1_board_count": 4, "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": 5013201819, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 8, "p1_hp": 39, "p2_hp": 26, "p1_mana": 1, "p2_mana": 0, "p1_max_mana": 7, "p2_max_mana": 4, "p1_board_count": 4, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 8, "actor": 2000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "84e7c314-299b-4a1f-9eec-84336f5f4a94", "target_id": null, "target_is_hero": true}, "timestamp_ms": 5013202398, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 8, "p1_hp": 28, "p2_hp": 26, "p1_mana": 1, "p2_mana": 0, "p1_max_mana": 7, "p2_max_mana": 4, "p1_board_count": 4, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 9, "actor": 2000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 5013203194, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 9, "p1_hp": 28, "p2_hp": 26, "p1_mana": 8, "p2_mana": 0, "p1_max_mana": 8, "p2_max_mana": 4, "p1_board_count": 4, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 9, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "286076d4-a31f-4814-9d91-6bce25c20c01", "target_id": "84e7c314-299b-4a1f-9eec-84336f5f4a94", "target_is_hero": false}, "timestamp_ms": 5013208040, "human_decision_time_ms": 4834, "state_after_summary": {"turn_number": 9, "p1_hp": 28, "p2_hp": 26, "p1_mana": 8, "p2_mana": 0, "p1_max_mana": 8, "p2_max_mana": 4, "p1_board_count": 3, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 9, "actor": 1000, "kind": "play_card", "action_dict": {"type": "play_card", "card_ref": 0, "board_position": 3, "target_id": null, "target_is_hero": false}, "timestamp_ms": 5013211106, "human_decision_time_ms": 3058, "state_after_summary": {"turn_number": 9, "p1_hp": 28, "p2_hp": 26, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 8, "p2_max_mana": 4, "p1_board_count": 4, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 9, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "3a9a0251-7bd9-4fd5-aefc-ae8b66b5e1a1", "target_id": null, "target_is_hero": true}, "timestamp_ms": 5013212522, "human_decision_time_ms": 1409, "state_after_summary": {"turn_number": 9, "p1_hp": 28, "p2_hp": 15, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 8, "p2_max_mana": 4, "p1_board_count": 4, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 9, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "05fa5c30-54e4-4eab-9db9-5c9945227643", "target_id": null, "target_is_hero": true}, "timestamp_ms": 5013213999, "human_decision_time_ms": 1470, "state_after_summary": {"turn_number": 9, "p1_hp": 28, "p2_hp": 7, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 8, "p2_max_mana": 4, "p1_board_count": 4, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 9, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "6e3e574d-863b-49a6-ab7e-34aa9745f578", "target_id": null, "target_is_hero": true}, "timestamp_ms": 5013215481, "human_decision_time_ms": 1476, "state_after_summary": {"turn_number": 9, "p1_hp": 28, "p2_hp": 2, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 8, "p2_max_mana": 4, "p1_board_count": 4, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 10, "actor": 1000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 5013216421, "human_decision_time_ms": 933, "state_after_summary": {"turn_number": 10, "p1_hp": 28, "p2_hp": 5, "p1_mana": 0, "p2_mana": 5, "p1_max_mana": 8, "p2_max_mana": 5, "p1_board_count": 4, "p2_board_count": 0}, "ok": true, "error": null}, {"turn": 10, "actor": 2000, "kind": "play_card", "action_dict": {"type": "play_card", "hand_index": 3, "target_id": null, "position": 0}, "timestamp_ms": 5013218400, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 10, "p1_hp": 28, "p2_hp": 5, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 8, "p2_max_mana": 5, "p1_board_count": 4, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 11, "actor": 2000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 5013218933, "human_decision_time_ms": null, "state_after_summary": {"turn_number": 11, "p1_hp": 28, "p2_hp": 5, "p1_mana": 9, "p2_mana": 0, "p1_max_mana": 9, "p2_max_mana": 5, "p1_board_count": 4, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 11, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "05fa5c30-54e4-4eab-9db9-5c9945227643", "target_id": null, "target_is_hero": true}, "timestamp_ms": 5013221301, "human_decision_time_ms": 2346, "state_after_summary": {"turn_number": 11, "p1_hp": 28, "p2_hp": 0, "p1_mana": 9, "p2_mana": 0, "p1_max_mana": 9, "p2_max_mana": 5, "p1_board_count": 4, "p2_board_count": 1}, "ok": true, "error": null}], "final_state_summary": {"turn_number": 11, "p1_hp": 28, "p2_hp": 0, "p1_mana": 9, "p2_mana": 0, "p1_max_mana": 9, "p2_max_mana": 5, "p1_board_count": 4, "p2_board_count": 1}, "policy_warnings": [], "degraded": false}