{"log_version": "1.0", "battle_id": "b_b2a36d6a08", "group_id": "842560c11b4a", "started_at": "2026-07-16T17:42:11Z", "finished_at": "2026-07-16T17:42:57Z", "duration_seconds": 46.323, "result": {"status": "P2_WIN", "winner_user_id": 2000, "loser_user_id": 1000}, "models": {"p1": {"name": "human", "kind": "human", "is_human": true}, "p2": {"name": "extra-lr-v5-postB-preV5-u29250", "kind": "v5", "is_human": false}}, "decks": {"p1": [1, 22, 25, 27, 29, 43, 42, 8, 12], "p2": [7, 39, 30, 43, 28, 14, 42, 17, 11]}, "actions": [{"turn": 1, "actor": 2000, "kind": "play_card", "action_dict": {"type": "play_card", "hand_index": 2, "target_id": null, "position": 0}, "timestamp_ms": 4233834090, "state_after_summary": {"turn_number": 1, "p1_hp": 37, "p2_hp": 31, "p1_mana": 0, "p2_mana": 1, "p1_max_mana": 0, "p2_max_mana": 3, "p1_board_count": 0, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 2, "actor": 2000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 4233834829, "state_after_summary": {"turn_number": 2, "p1_hp": 37, "p2_hp": 31, "p1_mana": 1, "p2_mana": 1, "p1_max_mana": 1, "p2_max_mana": 3, "p1_board_count": 0, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 2, "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": 4233836317, "state_after_summary": {"turn_number": 2, "p1_hp": 37, "p2_hp": 31, "p1_mana": 0, "p2_mana": 1, "p1_max_mana": 1, "p2_max_mana": 3, "p1_board_count": 1, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 3, "actor": 1000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 4233836958, "state_after_summary": {"turn_number": 3, "p1_hp": 37, "p2_hp": 31, "p1_mana": 0, "p2_mana": 4, "p1_max_mana": 1, "p2_max_mana": 4, "p1_board_count": 1, "p2_board_count": 1}, "ok": true, "error": null}, {"turn": 3, "actor": 2000, "kind": "play_card", "action_dict": {"type": "play_card", "hand_index": 0, "target_id": null, "position": 1}, "timestamp_ms": 4233839389, "state_after_summary": {"turn_number": 3, "p1_hp": 37, "p2_hp": 31, "p1_mana": 0, "p2_mana": 2, "p1_max_mana": 1, "p2_max_mana": 4, "p1_board_count": 1, "p2_board_count": 2}, "ok": true, "error": null}, {"turn": 3, "actor": 2000, "kind": "play_card", "action_dict": {"type": "play_card", "hand_index": 0, "target_id": null, "position": 2}, "timestamp_ms": 4233839895, "state_after_summary": {"turn_number": 3, "p1_hp": 37, "p2_hp": 31, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 1, "p2_max_mana": 4, "p1_board_count": 1, "p2_board_count": 3}, "ok": true, "error": null}, {"turn": 3, "actor": 2000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "6c6e7f61-6db8-482a-b4ac-fcaf87864371", "target_id": null, "target_is_hero": true}, "timestamp_ms": 4233840351, "state_after_summary": {"turn_number": 3, "p1_hp": 32, "p2_hp": 31, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 1, "p2_max_mana": 4, "p1_board_count": 1, "p2_board_count": 3}, "ok": true, "error": null}, {"turn": 4, "actor": 2000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 4233840978, "state_after_summary": {"turn_number": 4, "p1_hp": 32, "p2_hp": 31, "p1_mana": 2, "p2_mana": 0, "p1_max_mana": 2, "p2_max_mana": 4, "p1_board_count": 1, "p2_board_count": 3}, "ok": true, "error": null}, {"turn": 4, "actor": 1000, "kind": "play_card", "action_dict": {"type": "play_card", "card_ref": 2, "board_position": 0, "target_id": "dd92882e-e017-4f86-b40b-86817eb6269a", "target_is_hero": false}, "timestamp_ms": 4233847636, "state_after_summary": {"turn_number": 4, "p1_hp": 32, "p2_hp": 31, "p1_mana": 1, "p2_mana": 0, "p1_max_mana": 2, "p2_max_mana": 4, "p1_board_count": 1, "p2_board_count": 3}, "ok": true, "error": null}, {"turn": 4, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "13c3ba01-01a5-4ece-b0ab-5a04d526e095", "target_id": "dd92882e-e017-4f86-b40b-86817eb6269a", "target_is_hero": false}, "timestamp_ms": 4233848726, "state_after_summary": {"turn_number": 4, "p1_hp": 32, "p2_hp": 31, "p1_mana": 1, "p2_mana": 0, "p1_max_mana": 2, "p2_max_mana": 4, "p1_board_count": 0, "p2_board_count": 2}, "ok": true, "error": null}, {"turn": 5, "actor": 1000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 4233849996, "state_after_summary": {"turn_number": 5, "p1_hp": 32, "p2_hp": 31, "p1_mana": 1, "p2_mana": 5, "p1_max_mana": 2, "p2_max_mana": 5, "p1_board_count": 0, "p2_board_count": 2}, "ok": true, "error": null}, {"turn": 5, "actor": 2000, "kind": "play_card", "action_dict": {"type": "play_card", "hand_index": 1, "target_id": null, "position": 2}, "timestamp_ms": 4233852285, "state_after_summary": {"turn_number": 5, "p1_hp": 32, "p2_hp": 31, "p1_mana": 1, "p2_mana": 3, "p1_max_mana": 2, "p2_max_mana": 5, "p1_board_count": 0, "p2_board_count": 3}, "ok": true, "error": null}, {"turn": 5, "actor": 2000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "6c6e7f61-6db8-482a-b4ac-fcaf87864371", "target_id": null, "target_is_hero": true}, "timestamp_ms": 4233853052, "state_after_summary": {"turn_number": 5, "p1_hp": 27, "p2_hp": 31, "p1_mana": 1, "p2_mana": 3, "p1_max_mana": 2, "p2_max_mana": 5, "p1_board_count": 0, "p2_board_count": 3}, "ok": true, "error": null}, {"turn": 5, "actor": 2000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "e237cc24-9387-4c4c-a246-687d61d9c84c", "target_id": null, "target_is_hero": true}, "timestamp_ms": 4233853470, "state_after_summary": {"turn_number": 5, "p1_hp": 23, "p2_hp": 31, "p1_mana": 1, "p2_mana": 3, "p1_max_mana": 2, "p2_max_mana": 5, "p1_board_count": 0, "p2_board_count": 3}, "ok": true, "error": null}, {"turn": 6, "actor": 2000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 4233854218, "state_after_summary": {"turn_number": 6, "p1_hp": 23, "p2_hp": 31, "p1_mana": 3, "p2_mana": 3, "p1_max_mana": 3, "p2_max_mana": 5, "p1_board_count": 0, "p2_board_count": 3}, "ok": true, "error": null}, {"turn": 6, "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": 4233858693, "state_after_summary": {"turn_number": 6, "p1_hp": 23, "p2_hp": 31, "p1_mana": 0, "p2_mana": 3, "p1_max_mana": 3, "p2_max_mana": 5, "p1_board_count": 1, "p2_board_count": 3}, "ok": true, "error": null}, {"turn": 7, "actor": 1000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 4233859280, "state_after_summary": {"turn_number": 7, "p1_hp": 23, "p2_hp": 31, "p1_mana": 0, "p2_mana": 6, "p1_max_mana": 3, "p2_max_mana": 6, "p1_board_count": 1, "p2_board_count": 3}, "ok": true, "error": null}, {"turn": 7, "actor": 2000, "kind": "play_card", "action_dict": {"type": "play_card", "hand_index": 0, "target_id": null, "position": 3}, "timestamp_ms": 4233861296, "state_after_summary": {"turn_number": 7, "p1_hp": 23, "p2_hp": 31, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 3, "p2_max_mana": 6, "p1_board_count": 1, "p2_board_count": 4}, "ok": true, "error": null}, {"turn": 7, "actor": 2000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "6c6e7f61-6db8-482a-b4ac-fcaf87864371", "target_id": null, "target_is_hero": true}, "timestamp_ms": 4233861776, "state_after_summary": {"turn_number": 7, "p1_hp": 18, "p2_hp": 31, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 3, "p2_max_mana": 6, "p1_board_count": 1, "p2_board_count": 4}, "ok": true, "error": null}, {"turn": 7, "actor": 2000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "6b4f9896-9f5f-4006-8e31-152506094071", "target_id": null, "target_is_hero": true}, "timestamp_ms": 4233862563, "state_after_summary": {"turn_number": 7, "p1_hp": 15, "p2_hp": 31, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 3, "p2_max_mana": 6, "p1_board_count": 1, "p2_board_count": 4}, "ok": true, "error": null}, {"turn": 7, "actor": 2000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "e237cc24-9387-4c4c-a246-687d61d9c84c", "target_id": null, "target_is_hero": true}, "timestamp_ms": 4233863169, "state_after_summary": {"turn_number": 7, "p1_hp": 11, "p2_hp": 31, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 3, "p2_max_mana": 6, "p1_board_count": 1, "p2_board_count": 4}, "ok": true, "error": null}, {"turn": 8, "actor": 2000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 4233863769, "state_after_summary": {"turn_number": 8, "p1_hp": 11, "p2_hp": 31, "p1_mana": 4, "p2_mana": 0, "p1_max_mana": 4, "p2_max_mana": 6, "p1_board_count": 1, "p2_board_count": 4}, "ok": true, "error": null}, {"turn": 8, "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": 4233866084, "state_after_summary": {"turn_number": 8, "p1_hp": 11, "p2_hp": 31, "p1_mana": 2, "p2_mana": 0, "p1_max_mana": 4, "p2_max_mana": 6, "p1_board_count": 2, "p2_board_count": 4}, "ok": true, "error": null}, {"turn": 8, "actor": 1000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "295461f2-12b3-42de-850e-e5242db98fcd", "target_id": "e237cc24-9387-4c4c-a246-687d61d9c84c", "target_is_hero": false}, "timestamp_ms": 4233873651, "state_after_summary": {"turn_number": 8, "p1_hp": 11, "p2_hp": 31, "p1_mana": 2, "p2_mana": 0, "p1_max_mana": 4, "p2_max_mana": 6, "p1_board_count": 2, "p2_board_count": 3}, "ok": true, "error": null}, {"turn": 8, "actor": 1000, "kind": "mana_draw", "action_dict": {"type": "mana_draw"}, "timestamp_ms": 4233874699, "state_after_summary": {"turn_number": 8, "p1_hp": 11, "p2_hp": 31, "p1_mana": 0, "p2_mana": 0, "p1_max_mana": 4, "p2_max_mana": 6, "p1_board_count": 2, "p2_board_count": 3}, "ok": true, "error": null}, {"turn": 9, "actor": 1000, "kind": "end_turn", "action_dict": {"type": "end_turn"}, "timestamp_ms": 4233875930, "state_after_summary": {"turn_number": 9, "p1_hp": 11, "p2_hp": 31, "p1_mana": 0, "p2_mana": 7, "p1_max_mana": 4, "p2_max_mana": 7, "p1_board_count": 2, "p2_board_count": 3}, "ok": true, "error": null}, {"turn": 9, "actor": 2000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "7258e070-8203-4c65-abcb-89dcb628deeb", "target_id": null, "target_is_hero": true}, "timestamp_ms": 4233877467, "state_after_summary": {"turn_number": 9, "p1_hp": 4, "p2_hp": 31, "p1_mana": 0, "p2_mana": 7, "p1_max_mana": 4, "p2_max_mana": 7, "p1_board_count": 2, "p2_board_count": 3}, "ok": true, "error": null}, {"turn": 9, "actor": 2000, "kind": "attack", "action_dict": {"type": "attack", "attacker_id": "6c6e7f61-6db8-482a-b4ac-fcaf87864371", "target_id": null, "target_is_hero": true}, "timestamp_ms": 4233878100, "state_after_summary": {"turn_number": 9, "p1_hp": 0, "p2_hp": 31, "p1_mana": 0, "p2_mana": 7, "p1_max_mana": 4, "p2_max_mana": 7, "p1_board_count": 2, "p2_board_count": 3}, "ok": true, "error": null}], "final_state_summary": {"turn_number": 9, "p1_hp": 0, "p2_hp": 31, "p1_mana": 0, "p2_mana": 7, "p1_max_mana": 4, "p2_max_mana": 7, "p1_board_count": 2, "p2_board_count": 3}, "policy_warnings": [], "degraded": false}