# moves

game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.698318
player_id: cpu_3
player_name: River
action: swap
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "clubs"}
decision_reason: swapped 4 for 6 at pos 1
hand_json:
[{"rank": "K", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}]


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.704594
player_id: cpu_0
player_name: Sofia
action: draw_deck
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "clubs"}
decision_reason: drew from deck
visible_opponents_json:
{"Priya": [{"rank": "3", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}], "Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}], "River": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}]}


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.710720
player_id: cpu_0
player_name: Sofia
action: swap
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "2", "suit": "spades"}
decision_reason: swapped K for 2 at pos 3
hand_json:
[{"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"Priya": [{"rank": "3", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}], "Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}], "River": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}]}


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.717457
player_id: cpu_1
player_name: Priya
action: take_discard
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "6", "suit": "clubs"}
decision_reason: took 2 from discard
visible_opponents_json:
{"Sofia": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}], "River": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}]}


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.723423
player_id: cpu_1
player_name: Priya
action: swap
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "3", "suit": "diamonds"}
decision_reason: swapped 2 for 3 at pos 1
hand_json:
[{"rank": "3", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"Sofia": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}], "River": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}]}


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.729415
player_id: cpu_2
player_name: Kenji
action: draw_deck
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "3", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"Sofia": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Priya": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "River": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}]}


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.735601
player_id: cpu_2
player_name: Kenji
action: swap
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "4", "suit": "hearts"}
decision_reason: swapped 2 for 4 at pos 3
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"Sofia": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Priya": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "River": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}]}


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.743687
player_id: cpu_3
player_name: River
action: take_discard
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "3", "suit": "diamonds"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "K", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"Sofia": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Priya": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}]}


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.749455
player_id: cpu_3
player_name: River
action: swap
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: swapped 4 for 6 at pos 4
hand_json:
[{"rank": "K", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"Sofia": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Priya": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}]}


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.755241
player_id: cpu_0
player_name: Sofia
action: draw_deck
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"Priya": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}], "River": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}]}


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.766520
player_id: cpu_1
player_name: Priya
action: draw_deck
card_rank: A
card_suit: spades
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"Sofia": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}], "River": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}]}


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.771984
player_id: cpu_1
player_name: Priya
action: swap
card_rank: A
card_suit: spades
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: swapped A for J at pos 3
hand_json:
[{"rank": "3", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"Sofia": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}], "River": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}]}


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.777722
player_id: cpu_2
player_name: Kenji
action: draw_deck
card_rank: Q
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"Sofia": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Priya": [{"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "River": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}]}


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.789305
player_id: cpu_3
player_name: River
action: draw_deck
card_rank: J
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"Sofia": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Priya": [{"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}]}


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.801710
player_id: cpu_0
player_name: Sofia
action: draw_deck
card_rank: 10
card_suit: spades
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: drew from deck
visible_opponents_json:
{"Priya": [{"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}], "River": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}]}


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.835125
player_id: cpu_2
player_name: Kenji
action: swap
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: swapped 4 for 10 at pos 1
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}]


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.840757
player_id: cpu_3
player_name: River
action: draw_deck
card_rank: 9
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: drew from deck
visible_opponents_json:
{"Sofia": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Priya": [{"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}]}


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.852101
player_id: cpu_0
player_name: Sofia
action: draw_deck
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"Priya": [{"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}], "River": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}]}


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.863899
player_id: cpu_1
player_name: Priya
action: draw_deck
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"Sofia": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}], "River": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}]}


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.918690
player_id: cpu_1
player_name: Priya
action: swap
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: swapped 4 for 8 at pos 2
hand_json:
[{"rank": "3", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}]


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.924381
player_id: cpu_2
player_name: Kenji
action: draw_deck
card_rank: Q
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: drew from deck
visible_opponents_json:
{"Sofia": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Priya": [{"rank": "2", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "River": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}]}


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.935236
player_id: cpu_3
player_name: River
action: draw_deck
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"Sofia": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Priya": [{"rank": "2", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}]}


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.946827
player_id: cpu_0
player_name: Sofia
action: draw_deck
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"Priya": [{"rank": "2", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}], "River": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}]}


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.976397
player_id: cpu_2
player_name: Kenji
action: swap
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: swapped 8 for 10 at pos 4
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}]


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.982127
player_id: cpu_3
player_name: River
action: draw_deck
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"Sofia": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Priya": [{"rank": "2", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}, {"rank": "8", "suit": "spades"}, {"rank": "3", "suit": "hearts"}]}


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:04.993367
player_id: cpu_0
player_name: Sofia
action: draw_deck
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"Priya": [{"rank": "2", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}, {"rank": "8", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "River": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}]}


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:05.005209
player_id: cpu_1
player_name: Priya
action: draw_deck
card_rank: 9
card_suit: spades
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"Sofia": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}, {"rank": "8", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "River": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}]}


game_id: 778f2ad2-1ac4-45ae-b107-3d4cc6c8a383
timestamp: 2026-01-24 18:52:05.011426
player_id: cpu_1
player_name: Priya
action: discard
card_rank: 9
card_suit: spades
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: discarded 9
hand_json:
[{"rank": "3", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}, {"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}, {"rank": "8", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "River": [{"rank": "K", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.028304
player_id: cpu_0
player_name: Kenji
action: take_discard
card_rank: 2
card_suit: diamonds
decision_reason: took 2 from discard
hand_json:
[{"rank": "2", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"Sage": [{"rank": "10", "suit": "diamonds"}, {"rank": "8", "suit": "spades"}], "Marcus": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.033776
player_id: cpu_0
player_name: Kenji
action: swap
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: swapped 2 for 9 at pos 3
hand_json:
[{"rank": "2", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"Sage": [{"rank": "10", "suit": "diamonds"}, {"rank": "8", "suit": "spades"}], "Marcus": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.039456
player_id: cpu_1
player_name: Sage
action: draw_deck
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "10", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "Marcus": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.045024
player_id: cpu_1
player_name: Sage
action: swap
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: swapped 5 for 10 at pos 0
hand_json:
[{"rank": "5", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "Marcus": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.050609
player_id: cpu_2
player_name: Marcus
action: draw_deck
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "8", "suit": "spades"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.056240
player_id: cpu_2
player_name: Marcus
action: swap
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: swapped 4 for 7 at pos 2
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "8", "suit": "spades"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.062200
player_id: cpu_3
player_name: Diego
action: draw_deck
card_rank: Q
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "8", "suit": "spades"}], "Marcus": [{"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "clubs"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.073750
player_id: cpu_0
player_name: Kenji
action: draw_deck
card_rank: 8
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"Sage": [{"rank": "5", "suit": "spades"}, {"rank": "8", "suit": "spades"}], "Marcus": [{"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "clubs"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.079417
player_id: cpu_0
player_name: Kenji
action: swap
card_rank: 8
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: swapped 8 for 6 at pos 4
hand_json:
[{"rank": "2", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"Sage": [{"rank": "5", "suit": "spades"}, {"rank": "8", "suit": "spades"}], "Marcus": [{"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "clubs"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.085056
player_id: cpu_1
player_name: Sage
action: take_discard
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "5", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "8", "suit": "clubs"}], "Marcus": [{"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "clubs"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.090863
player_id: cpu_1
player_name: Sage
action: swap
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: swapped 6 for 8 at pos 5
hand_json:
[{"rank": "5", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "8", "suit": "clubs"}], "Marcus": [{"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "clubs"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.096601
player_id: cpu_2
player_name: Marcus
action: draw_deck
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "8", "suit": "clubs"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.102045
player_id: cpu_2
player_name: Marcus
action: swap
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "clubs"}
decision_reason: swapped 3 for 5 at pos 3
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "8", "suit": "clubs"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.108004
player_id: cpu_3
player_name: Diego
action: take_discard
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "8", "suit": "clubs"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Marcus": [{"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.113602
player_id: cpu_3
player_name: Diego
action: swap
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: swapped 5 for 9 at pos 2
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "8", "suit": "clubs"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Marcus": [{"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.119444
player_id: cpu_0
player_name: Kenji
action: draw_deck
card_rank: 10
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"Sage": [{"rank": "5", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Marcus": [{"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.131905
player_id: cpu_1
player_name: Sage
action: draw_deck
card_rank: 10
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "8", "suit": "clubs"}], "Marcus": [{"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.144613
player_id: cpu_2
player_name: Marcus
action: draw_deck
card_rank: 10
card_suit: spades
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "8", "suit": "clubs"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.172971
player_id: cpu_0
player_name: Kenji
action: swap
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: swapped 4 for 8 at pos 4
hand_json:
[{"rank": "2", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.178488
player_id: cpu_1
player_name: Sage
action: draw_deck
card_rank: Q
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: drew from deck
visible_opponents_json:
{"Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "hearts"}], "Marcus": [{"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.189896
player_id: cpu_2
player_name: Marcus
action: draw_deck
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "hearts"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.195381
player_id: cpu_2
player_name: Marcus
action: swap
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "A", "suit": "hearts"}
decision_reason: swapped 5 for A at pos 4
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "hearts"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.201231
player_id: cpu_3
player_name: Diego
action: take_discard
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: took A from discard
visible_opponents_json:
{"Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "hearts"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Marcus": [{"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.208852
player_id: cpu_3
player_name: Diego
action: swap
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "A", "suit": "diamonds"}
decision_reason: swapped A for A at pos 3
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "hearts"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Marcus": [{"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.215061
player_id: cpu_0
player_name: Kenji
action: take_discard
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: took A from discard
hand_json:
[{"rank": "2", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"Sage": [{"rank": "5", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Marcus": [{"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.220898
player_id: cpu_0
player_name: Kenji
action: swap
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "4", "suit": "hearts"}
decision_reason: swapped A for 4 at pos 4
hand_json:
[{"rank": "2", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"Sage": [{"rank": "5", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Marcus": [{"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.227174
player_id: cpu_1
player_name: Sage
action: take_discard
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: took 4 from discard
visible_opponents_json:
{"Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}], "Marcus": [{"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.233126
player_id: cpu_1
player_name: Sage
action: swap
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "3", "suit": "hearts"}
decision_reason: swapped 4 for 3 at pos 4
hand_json:
[{"rank": "5", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}], "Marcus": [{"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.239088
player_id: cpu_2
player_name: Marcus
action: take_discard
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "6", "suit": "diamonds"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.245627
player_id: cpu_2
player_name: Marcus
action: swap
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "K", "suit": "diamonds"}
decision_reason: swapped 3 for K at pos 0
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "6", "suit": "diamonds"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.252285
player_id: cpu_3
player_name: Diego
action: draw_deck
card_rank: 8
card_suit: diamonds
discard_top_json: {"rank": "K", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"Kenji": [{"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "6", "suit": "diamonds"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.264193
player_id: cpu_0
player_name: Kenji
action: draw_deck
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"Sage": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "6", "suit": "diamonds"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.270188
player_id: cpu_0
player_name: Kenji
action: swap
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "2", "suit": "spades"}
decision_reason: swapped 3 for 2 at pos 0
hand_json:
[{"rank": "3", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"Sage": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "6", "suit": "diamonds"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.275946
player_id: cpu_1
player_name: Sage
action: take_discard
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: took 2 from discard
hand_json:
[{"rank": "5", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"Kenji": [{"rank": "3", "suit": "spades"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.281708
player_id: cpu_1
player_name: Sage
action: swap
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: swapped 2 for 6 at pos 5
hand_json:
[{"rank": "5", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"Kenji": [{"rank": "3", "suit": "spades"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.287659
player_id: cpu_2
player_name: Marcus
action: draw_deck
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"Kenji": [{"rank": "3", "suit": "spades"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.293455
player_id: cpu_2
player_name: Marcus
action: swap
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "hearts"}
decision_reason: swapped K for 5 at pos 4
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"Kenji": [{"rank": "3", "suit": "spades"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.299321
player_id: cpu_3
player_name: Diego
action: draw_deck
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "5", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"Kenji": [{"rank": "3", "suit": "spades"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.304813
player_id: cpu_3
player_name: Diego
action: swap
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "3", "suit": "diamonds"}
decision_reason: swapped 6 for 3 at pos 4
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"Kenji": [{"rank": "3", "suit": "spades"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.310071
player_id: cpu_0
player_name: Kenji
action: draw_deck
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "3", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"Sage": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.315850
player_id: cpu_0
player_name: Kenji
action: swap
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "3", "suit": "spades"}
decision_reason: swapped 2 for 3 at pos 0
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"Sage": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.321890
player_id: cpu_1
player_name: Sage
action: take_discard
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "3", "suit": "diamonds"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "5", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"Kenji": [{"rank": "2", "suit": "clubs"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.327986
player_id: cpu_1
player_name: Sage
action: swap
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: swapped 3 for 5 at pos 0
hand_json:
[{"rank": "3", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"Kenji": [{"rank": "2", "suit": "clubs"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.334444
player_id: cpu_2
player_name: Marcus
action: draw_deck
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"Kenji": [{"rank": "2", "suit": "clubs"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.340151
player_id: cpu_2
player_name: Marcus
action: swap
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: swapped 4 for J at pos 5
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"Kenji": [{"rank": "2", "suit": "clubs"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.345895
player_id: cpu_3
player_name: Diego
action: draw_deck
card_rank: 9
card_suit: spades
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"Kenji": [{"rank": "2", "suit": "clubs"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.358136
player_id: cpu_0
player_name: Kenji
action: draw_deck
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"Sage": [{"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.370713
player_id: cpu_1
player_name: Sage
action: draw_deck
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"Kenji": [{"rank": "2", "suit": "clubs"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.399590
player_id: cpu_3
player_name: Diego
action: swap
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "spades"}
decision_reason: swapped 5 for 6 at pos 4
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}]


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.405677
player_id: cpu_0
player_name: Kenji
action: draw_deck
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "6", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"Sage": [{"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.411339
player_id: cpu_0
player_name: Kenji
action: swap
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: swapped 4 for Q at pos 1
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"Sage": [{"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.421006
player_id: cpu_1
player_name: Sage
action: draw_deck
card_rank: Q
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"Kenji": [{"rank": "2", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.433794
player_id: cpu_2
player_name: Marcus
action: draw_deck
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: drew from deck
visible_opponents_json:
{"Kenji": [{"rank": "2", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.446033
player_id: cpu_3
player_name: Diego
action: draw_deck
card_rank: J
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"Kenji": [{"rank": "2", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.463740
player_id: cpu_0
player_name: Kenji
action: swap
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: swapped 7 for 9 at pos 5
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}]


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.469558
player_id: cpu_1
player_name: Sage
action: draw_deck
card_rank: J
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"Kenji": [{"rank": "2", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.481225
player_id: cpu_2
player_name: Marcus
action: draw_deck
card_rank: 9
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"Kenji": [{"rank": "2", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.494061
player_id: cpu_3
player_name: Diego
action: draw_deck
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"Kenji": [{"rank": "2", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}]}


game_id: 6d9147b7-135b-4f3d-905a-7d7f39d11670
timestamp: 2026-01-24 18:52:05.500707
player_id: cpu_3
player_name: Diego
action: discard
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: discarded 8
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"Kenji": [{"rank": "2", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "J", "suit": "diamonds"}, {"rank": "7", "suit": "hearts"}, {"rank": "A", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.518986
player_id: cpu_0
player_name: Sofia
action: take_discard
card_rank: 5
card_suit: hearts
decision_reason: took 5 from discard
hand_json:
[{"rank": "9", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Kenji": [{"rank": "10", "suit": "clubs"}, {"rank": "A", "suit": "spades"}], "Maya": [{"rank": "Q", "suit": "hearts"}, {"rank": "10", "suit": "hearts"}], "Sage": [{"rank": "3", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.524717
player_id: cpu_0
player_name: Sofia
action: swap
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: swapped 5 for 9 at pos 0
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Kenji": [{"rank": "10", "suit": "clubs"}, {"rank": "A", "suit": "spades"}], "Maya": [{"rank": "Q", "suit": "hearts"}, {"rank": "10", "suit": "hearts"}], "Sage": [{"rank": "3", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.530168
player_id: cpu_1
player_name: Kenji
action: draw_deck
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "5", "suit": "hearts"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "Q", "suit": "hearts"}, {"rank": "10", "suit": "hearts"}], "Sage": [{"rank": "3", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.535825
player_id: cpu_1
player_name: Kenji
action: swap
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "4", "suit": "hearts"}
decision_reason: swapped A for 4 at pos 1
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "5", "suit": "hearts"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "Q", "suit": "hearts"}, {"rank": "10", "suit": "hearts"}], "Sage": [{"rank": "3", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.541437
player_id: cpu_2
player_name: Maya
action: take_discard
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "Q", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "5", "suit": "hearts"}, {"rank": "9", "suit": "clubs"}], "Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "10", "suit": "clubs"}, {"rank": "A", "suit": "spades"}], "Sage": [{"rank": "3", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.547418
player_id: cpu_2
player_name: Maya
action: swap
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: swapped 4 for Q at pos 0
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "5", "suit": "hearts"}, {"rank": "9", "suit": "clubs"}], "Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "10", "suit": "clubs"}, {"rank": "A", "suit": "spades"}], "Sage": [{"rank": "3", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.553851
player_id: cpu_3
player_name: Sage
action: draw_deck
card_rank: K
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "5", "suit": "hearts"}, {"rank": "9", "suit": "clubs"}], "Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "10", "suit": "clubs"}, {"rank": "A", "suit": "spades"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "10", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.560178
player_id: cpu_3
player_name: Sage
action: swap
card_rank: K
card_suit: spades
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: swapped K for 7 at pos 3
hand_json:
[{"rank": "5", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "5", "suit": "hearts"}, {"rank": "9", "suit": "clubs"}], "Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "10", "suit": "clubs"}, {"rank": "A", "suit": "spades"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "10", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.566447
player_id: cpu_0
player_name: Sofia
action: take_discard
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "10", "suit": "clubs"}, {"rank": "A", "suit": "spades"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "10", "suit": "hearts"}], "Sage": [{"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.576533
player_id: cpu_0
player_name: Sofia
action: swap
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: swapped 7 for 9 at pos 4
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "10", "suit": "clubs"}, {"rank": "A", "suit": "spades"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "10", "suit": "hearts"}], "Sage": [{"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.582799
player_id: cpu_1
player_name: Kenji
action: draw_deck
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "5", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "10", "suit": "hearts"}], "Sage": [{"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.588598
player_id: cpu_1
player_name: Kenji
action: swap
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: swapped 7 for 10 at pos 2
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "5", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "10", "suit": "hearts"}], "Sage": [{"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.594602
player_id: cpu_2
player_name: Maya
action: take_discard
card_rank: 10
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: took 10 from discard
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "5", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}], "Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}, {"rank": "A", "suit": "spades"}], "Sage": [{"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.600543
player_id: cpu_2
player_name: Maya
action: swap
card_rank: 10
card_suit: clubs
discard_top_json: {"rank": "2", "suit": "hearts"}
decision_reason: swapped 10 for 2 at pos 1
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "5", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}], "Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}, {"rank": "A", "suit": "spades"}], "Sage": [{"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.608121
player_id: cpu_3
player_name: Sage
action: take_discard
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: took 2 from discard
hand_json:
[{"rank": "5", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "5", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}], "Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}, {"rank": "A", "suit": "spades"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "10", "suit": "clubs"}, {"rank": "10", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.614101
player_id: cpu_3
player_name: Sage
action: swap
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "3", "suit": "clubs"}
decision_reason: swapped 2 for 3 at pos 1
hand_json:
[{"rank": "5", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "5", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}], "Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}, {"rank": "A", "suit": "spades"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "10", "suit": "clubs"}, {"rank": "10", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.620038
player_id: cpu_0
player_name: Sofia
action: take_discard
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}, {"rank": "A", "suit": "spades"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "10", "suit": "clubs"}, {"rank": "10", "suit": "hearts"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.625876
player_id: cpu_0
player_name: Sofia
action: swap
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: swapped 3 for 7 at pos 4
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}, {"rank": "A", "suit": "spades"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "10", "suit": "clubs"}, {"rank": "10", "suit": "hearts"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.632239
player_id: cpu_1
player_name: Kenji
action: take_discard
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "10", "suit": "clubs"}, {"rank": "10", "suit": "hearts"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.638594
player_id: cpu_1
player_name: Kenji
action: swap
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: swapped 7 for J at pos 5
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"Sofia": [{"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "10", "suit": "clubs"}, {"rank": "10", "suit": "hearts"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.644446
player_id: cpu_2
player_name: Maya
action: draw_deck
card_rank: 8
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}, {"rank": "A", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.650937
player_id: cpu_2
player_name: Maya
action: swap
card_rank: 8
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: swapped 8 for 10 at pos 1
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}, {"rank": "A", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.656795
player_id: cpu_3
player_name: Sage
action: draw_deck
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}, {"rank": "A", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}, {"rank": "10", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.668305
player_id: cpu_0
player_name: Sofia
action: draw_deck
card_rank: 9
card_suit: spades
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}, {"rank": "A", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}, {"rank": "10", "suit": "hearts"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.680622
player_id: cpu_1
player_name: Kenji
action: draw_deck
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"Sofia": [{"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}, {"rank": "10", "suit": "hearts"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.686933
player_id: cpu_1
player_name: Kenji
action: swap
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: swapped 4 for 7 at pos 2
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"Sofia": [{"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}, {"rank": "10", "suit": "hearts"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.693637
player_id: cpu_2
player_name: Maya
action: take_discard
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.699856
player_id: cpu_2
player_name: Maya
action: swap
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: swapped 7 for 10 at pos 4
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.705855
player_id: cpu_3
player_name: Sage
action: draw_deck
card_rank: J
card_suit: spades
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"Sofia": [{"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.721648
player_id: cpu_0
player_name: Sofia
action: draw_deck
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.727838
player_id: cpu_0
player_name: Sofia
action: swap
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "hearts"}
decision_reason: swapped 2 for 5 at pos 0
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.733955
player_id: cpu_1
player_name: Kenji
action: take_discard
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.739858
player_id: cpu_1
player_name: Kenji
action: swap
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: swapped 5 for 7 at pos 5
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.746048
player_id: cpu_2
player_name: Maya
action: draw_deck
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.751854
player_id: cpu_2
player_name: Maya
action: swap
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: swapped 7 for 8 at pos 1
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.757846
player_id: cpu_3
player_name: Sage
action: draw_deck
card_rank: Q
card_suit: spades
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "7", "suit": "spades"}, {"rank": "7", "suit": "clubs"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.773399
player_id: cpu_0
player_name: Sofia
action: draw_deck
card_rank: Q
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "7", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.789328
player_id: cpu_1
player_name: Kenji
action: draw_deck
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "7", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.795432
player_id: cpu_1
player_name: Kenji
action: swap
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "5", "suit": "hearts"}
decision_reason: swapped 2 for 5 at pos 5
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "7", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.802077
player_id: cpu_2
player_name: Maya
action: take_discard
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.808074
player_id: cpu_2
player_name: Maya
action: swap
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: swapped 5 for 7 at pos 1
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.814180
player_id: cpu_3
player_name: Sage
action: draw_deck
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.826028
player_id: cpu_0
player_name: Sofia
action: draw_deck
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "clubs"}
decision_reason: drew from deck
visible_opponents_json:
{"Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.838288
player_id: cpu_1
player_name: Kenji
action: draw_deck
card_rank: K
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.844335
player_id: cpu_1
player_name: Kenji
action: swap
card_rank: K
card_suit: diamonds
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: swapped K for 4 at pos 2
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.850412
player_id: cpu_2
player_name: Maya
action: take_discard
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.856157
player_id: cpu_2
player_name: Maya
action: swap
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "K", "suit": "hearts"}
decision_reason: swapped 4 for K at pos 3
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.862253
player_id: cpu_3
player_name: Sage
action: take_discard
card_rank: K
card_suit: hearts
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: took K from discard
visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "7", "suit": "clubs"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.868590
player_id: cpu_3
player_name: Sage
action: swap
card_rank: K
card_suit: hearts
discard_top_json: {"rank": "3", "suit": "spades"}
decision_reason: swapped K for 3 at pos 4
hand_json:
[{"rank": "5", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "7", "suit": "clubs"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.875157
player_id: cpu_0
player_name: Sofia
action: take_discard
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: took 3 from discard
visible_opponents_json:
{"Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.881189
player_id: cpu_0
player_name: Sofia
action: swap
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "2", "suit": "spades"}
decision_reason: swapped 3 for 2 at pos 1
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Kenji": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.887932
player_id: cpu_1
player_name: Kenji
action: take_discard
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: took 2 from discard
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.893631
player_id: cpu_1
player_name: Kenji
action: swap
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "A", "suit": "diamonds"}
decision_reason: swapped 2 for A at pos 1
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.899268
player_id: cpu_2
player_name: Maya
action: draw_deck
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "A", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.905125
player_id: cpu_2
player_name: Maya
action: swap
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: swapped 5 for 7 at pos 4
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.911242
player_id: cpu_3
player_name: Sage
action: draw_deck
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.923686
player_id: cpu_0
player_name: Sofia
action: draw_deck
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Kenji": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.936705
player_id: cpu_1
player_name: Kenji
action: draw_deck
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.942353
player_id: cpu_1
player_name: Kenji
action: swap
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: swapped 4 for 10 at pos 3
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.948026
player_id: cpu_2
player_name: Maya
action: draw_deck
card_rank: J
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "clubs"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.959704
player_id: cpu_3
player_name: Sage
action: draw_deck
card_rank: Q
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "clubs"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.972475
player_id: cpu_0
player_name: Sofia
action: draw_deck
card_rank: J
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"Kenji": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "clubs"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.992533
player_id: cpu_1
player_name: Kenji
action: swap
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "4", "suit": "clubs"}
decision_reason: swapped 3 for 4 at pos 3
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}]


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:05.998395
player_id: cpu_2
player_name: Maya
action: draw_deck
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "4", "suit": "clubs"}
decision_reason: drew from deck
visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:06.004049
player_id: cpu_2
player_name: Maya
action: swap
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "5", "suit": "hearts"}
decision_reason: swapped 3 for 5 at pos 1
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:06.009788
player_id: cpu_3
player_name: Sage
action: draw_deck
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "5", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:06.023092
player_id: cpu_0
player_name: Sofia
action: draw_deck
card_rank: 9
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"Kenji": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:06.035332
player_id: cpu_1
player_name: Kenji
action: draw_deck
card_rank: J
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:06.067039
player_id: cpu_3
player_name: Sage
action: swap
card_rank: 10
card_suit: spades
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: swapped 10 for 5 at pos 0
hand_json:
[{"rank": "10", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}]


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:06.073350
player_id: cpu_0
player_name: Sofia
action: draw_deck
card_rank: J
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"Kenji": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "Sage": [{"rank": "10", "suit": "spades"}, {"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:06.085960
player_id: cpu_1
player_name: Kenji
action: draw_deck
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: drew from deck
visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "Sage": [{"rank": "10", "suit": "spades"}, {"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:06.098996
player_id: cpu_2
player_name: Maya
action: draw_deck
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Sage": [{"rank": "10", "suit": "spades"}, {"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:06.117685
player_id: cpu_3
player_name: Sage
action: swap
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: swapped 7 for 10 at pos 0
hand_json:
[{"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}]


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:06.123824
player_id: cpu_0
player_name: Sofia
action: draw_deck
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"Kenji": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "Sage": [{"rank": "7", "suit": "clubs"}, {"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:06.136430
player_id: cpu_1
player_name: Kenji
action: draw_deck
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "Sage": [{"rank": "7", "suit": "clubs"}, {"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:06.142255
player_id: cpu_1
player_name: Kenji
action: swap
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "A", "suit": "clubs"}
decision_reason: swapped 5 for A at pos 0
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "Sage": [{"rank": "7", "suit": "clubs"}, {"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:06.148270
player_id: cpu_2
player_name: Maya
action: take_discard
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: took A from discard
visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "5", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Sage": [{"rank": "7", "suit": "clubs"}, {"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:06.154197
player_id: cpu_2
player_name: Maya
action: swap
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: swapped A for 5 at pos 4
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "5", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Sage": [{"rank": "7", "suit": "clubs"}, {"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:06.160142
player_id: cpu_3
player_name: Sage
action: draw_deck
card_rank: Q
card_suit: spades
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"Sofia": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Kenji": [{"rank": "5", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "clubs"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:06.171928
player_id: cpu_0
player_name: Sofia
action: draw_deck
card_rank: Q
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"Kenji": [{"rank": "5", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "clubs"}], "Sage": [{"rank": "7", "suit": "clubs"}, {"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}]}


game_id: 52b347e4-5ed5-4a74-b7fe-2c3d6fef363a
timestamp: 2026-01-24 18:52:06.177989
player_id: cpu_0
player_name: Sofia
action: discard
card_rank: Q
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: discarded Q
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"Kenji": [{"rank": "5", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "clubs"}, {"rank": "10", "suit": "diamonds"}], "Sage": [{"rank": "7", "suit": "clubs"}, {"rank": "2", "suit": "hearts"}, {"rank": "6", "suit": "spades"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}]}


game_id: 62ebbcec-7b20-4786-a7e5-6db145b3739f
timestamp: 2026-01-24 19:21:17.752730
player_id: cpu_a81ffba3
player_name: Kenji
action: take_discard
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: took 8 from discard
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "River": [{"rank": "K", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}], "Sage": [{"rank": "7", "suit": "hearts"}, {"rank": "9", "suit": "diamonds"}], "Diego": [{"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "diamonds"}, {"rank": "7", "suit": "diamonds"}]}


game_id: 62ebbcec-7b20-4786-a7e5-6db145b3739f
timestamp: 2026-01-24 19:21:18.526720
player_id: cpu_a81ffba3
player_name: Kenji
action: swap
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: swapped 8 into position 1, replaced J
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "River": [{"rank": "K", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}], "Sage": [{"rank": "7", "suit": "hearts"}, {"rank": "9", "suit": "diamonds"}], "Diego": [{"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "diamonds"}, {"rank": "7", "suit": "diamonds"}]}


game_id: 62ebbcec-7b20-4786-a7e5-6db145b3739f
timestamp: 2026-01-24 19:21:19.457690
player_id: cpu_f472c6b1
player_name: River
action: draw_deck
card_rank: K
card_suit: spades
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "Kenji": [{"rank": "8", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Sage": [{"rank": "7", "suit": "hearts"}, {"rank": "9", "suit": "diamonds"}], "Diego": [{"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "diamonds"}, {"rank": "7", "suit": "diamonds"}]}


game_id: 62ebbcec-7b20-4786-a7e5-6db145b3739f
timestamp: 2026-01-24 19:21:20.041102
player_id: cpu_f472c6b1
player_name: River
action: swap
card_rank: K
card_suit: spades
discard_top_json: {"rank": "4", "suit": "diamonds"}
decision_reason: swapped K into position 3, replaced 4
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "Kenji": [{"rank": "8", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Sage": [{"rank": "7", "suit": "hearts"}, {"rank": "9", "suit": "diamonds"}], "Diego": [{"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "diamonds"}, {"rank": "7", "suit": "diamonds"}]}


game_id: 62ebbcec-7b20-4786-a7e5-6db145b3739f
timestamp: 2026-01-24 19:21:20.897952
player_id: cpu_74350dbe
player_name: Sage
action: take_discard
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "6", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "Kenji": [{"rank": "8", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "River": [{"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "spades"}], "Diego": [{"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "diamonds"}, {"rank": "7", "suit": "diamonds"}]}


game_id: 62ebbcec-7b20-4786-a7e5-6db145b3739f
timestamp: 2026-01-24 19:21:21.582908
player_id: cpu_74350dbe
player_name: Sage
action: swap
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: swapped 4 into position 3, replaced 9
hand_json:
[{"rank": "6", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "Kenji": [{"rank": "8", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "River": [{"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "spades"}], "Diego": [{"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "diamonds"}, {"rank": "7", "suit": "diamonds"}]}


game_id: 62ebbcec-7b20-4786-a7e5-6db145b3739f
timestamp: 2026-01-24 19:21:22.302344
player_id: cpu_9da40a2f
player_name: Diego
action: draw_deck
card_rank: 9
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "Kenji": [{"rank": "8", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "River": [{"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "spades"}], "Sage": [{"rank": "7", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Marcus": [{"rank": "2", "suit": "diamonds"}, {"rank": "7", "suit": "diamonds"}]}


game_id: 62ebbcec-7b20-4786-a7e5-6db145b3739f
timestamp: 2026-01-24 19:21:24.286065
player_id: cpu_c02c584d
player_name: Marcus
action: draw_deck
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "Kenji": [{"rank": "8", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "River": [{"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "spades"}], "Sage": [{"rank": "7", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Diego": [{"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}]}


game_id: 62ebbcec-7b20-4786-a7e5-6db145b3739f
timestamp: 2026-01-24 19:21:24.950753
player_id: cpu_c02c584d
player_name: Marcus
action: swap
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: swapped 6 into position 5, replaced 7
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "Kenji": [{"rank": "8", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "River": [{"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "spades"}], "Sage": [{"rank": "7", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Diego": [{"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}]}


game_id: 62ebbcec-7b20-4786-a7e5-6db145b3739f
timestamp: 2026-01-24 19:21:33.120166
player_id: cpu_a81ffba3
player_name: Kenji
action: draw_deck
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "River": [{"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "spades"}], "Sage": [{"rank": "7", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Diego": [{"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}]}


game_id: 62ebbcec-7b20-4786-a7e5-6db145b3739f
timestamp: 2026-01-24 19:21:33.821460
player_id: cpu_a81ffba3
player_name: Kenji
action: swap
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: swapped 4 into position 3, replaced 4
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "River": [{"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "spades"}], "Sage": [{"rank": "7", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Diego": [{"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}]}


game_id: 62ebbcec-7b20-4786-a7e5-6db145b3739f
timestamp: 2026-01-24 19:21:34.876952
player_id: cpu_f472c6b1
player_name: River
action: draw_deck
card_rank: J
card_suit: hearts
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "Kenji": [{"rank": "8", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Sage": [{"rank": "7", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Diego": [{"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}]}


game_id: 62ebbcec-7b20-4786-a7e5-6db145b3739f
timestamp: 2026-01-24 19:21:36.586920
player_id: cpu_74350dbe
player_name: Sage
action: draw_deck
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "Kenji": [{"rank": "8", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "River": [{"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "spades"}], "Diego": [{"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}]}


game_id: 62ebbcec-7b20-4786-a7e5-6db145b3739f
timestamp: 2026-01-24 19:21:37.235167
player_id: cpu_74350dbe
player_name: Sage
action: swap
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: swapped K into position 2, replaced 7
hand_json:
[{"rank": "6", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "Kenji": [{"rank": "8", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "River": [{"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "spades"}], "Diego": [{"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}]}


game_id: 62ebbcec-7b20-4786-a7e5-6db145b3739f
timestamp: 2026-01-24 19:21:37.943774
player_id: cpu_9da40a2f
player_name: Diego
action: draw_deck
card_rank: J
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "Kenji": [{"rank": "8", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "River": [{"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "spades"}], "Sage": [{"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Marcus": [{"rank": "2", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}]}


game_id: 62ebbcec-7b20-4786-a7e5-6db145b3739f
timestamp: 2026-01-24 19:21:39.510217
player_id: cpu_c02c584d
player_name: Marcus
action: draw_deck
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "Kenji": [{"rank": "8", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "River": [{"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "spades"}], "Sage": [{"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Diego": [{"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:00.977131
player_id: cpu_2258e89b
player_name: Maya
action: take_discard
card_rank: 6
card_suit: hearts
decision_reason: took 6 from discard
hand_json:
[{"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "10", "suit": "spades"}], "Marcus": [{"rank": "7", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "Q", "suit": "spades"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:01.584019
player_id: cpu_2258e89b
player_name: Maya
action: swap
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: swapped 6 into position 0, replaced J
hand_json:
[{"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "10", "suit": "spades"}], "Marcus": [{"rank": "7", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "Q", "suit": "spades"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:02.848499
player_id: cpu_65ef5b5e
player_name: River
action: draw_deck
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "6", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "Marcus": [{"rank": "7", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "Q", "suit": "spades"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:03.306844
player_id: cpu_65ef5b5e
player_name: River
action: swap
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: swapped 8 into position 5, replaced 10
hand_json:
[{"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "6", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "Marcus": [{"rank": "7", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "Q", "suit": "spades"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:04.268184
player_id: cpu_f5bc5293
player_name: Marcus
action: draw_deck
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "6", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "8", "suit": "spades"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "Q", "suit": "spades"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:04.915706
player_id: cpu_f5bc5293
player_name: Marcus
action: swap
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "K", "suit": "clubs"}
decision_reason: swapped 7 into position 5, replaced K
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "6", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "8", "suit": "spades"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "Q", "suit": "spades"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:05.933391
player_id: cpu_6c5751ea
player_name: Diego
action: take_discard
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: took K from discard
hand_json:
[{"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "6", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "8", "suit": "spades"}], "Marcus": [{"rank": "7", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:06.346988
player_id: cpu_6c5751ea
player_name: Diego
action: swap
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: swapped K into position 5, replaced Q
hand_json:
[{"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "6", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "8", "suit": "spades"}], "Marcus": [{"rank": "7", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:07.236172
player_id: cpu_42171da2
player_name: Sofia
action: draw_deck
card_rank: K
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "6", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "8", "suit": "spades"}], "Marcus": [{"rank": "7", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:07.997338
player_id: cpu_42171da2
player_name: Sofia
action: swap
card_rank: K
card_suit: diamonds
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: swapped K into position 4, replaced 5
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "6", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "8", "suit": "spades"}], "Marcus": [{"rank": "7", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:14.985216
player_id: cpu_2258e89b
player_name: Maya
action: draw_deck
card_rank: 10
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "8", "suit": "spades"}], "Marcus": [{"rank": "7", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:16.678326
player_id: cpu_65ef5b5e
player_name: River
action: draw_deck
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "6", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "Marcus": [{"rank": "7", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:17.373500
player_id: cpu_65ef5b5e
player_name: River
action: swap
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: swapped 6 into position 5, replaced 8
hand_json:
[{"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "6", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "Marcus": [{"rank": "7", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:18.554090
player_id: cpu_f5bc5293
player_name: Marcus
action: draw_deck
card_rank: 8
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "6", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:19.425831
player_id: cpu_6c5751ea
player_name: Diego
action: draw_deck
card_rank: 9
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "6", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Marcus": [{"rank": "7", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:21.013438
player_id: cpu_42171da2
player_name: Sofia
action: draw_deck
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "6", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Marcus": [{"rank": "7", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:36.417627
player_id: cpu_2258e89b
player_name: Maya
action: take_discard
card_rank: A
card_suit: spades
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: took A from discard
visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Marcus": [{"rank": "7", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:36.833519
player_id: cpu_2258e89b
player_name: Maya
action: swap
card_rank: A
card_suit: spades
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: swapped A into position 0, replaced 6
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Marcus": [{"rank": "7", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:37.781512
player_id: cpu_65ef5b5e
player_name: River
action: take_discard
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "Marcus": [{"rank": "7", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:38.418231
player_id: cpu_65ef5b5e
player_name: River
action: swap
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: swapped 6 into position 2, replaced J
hand_json:
[{"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "Marcus": [{"rank": "7", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:39.332322
player_id: cpu_f5bc5293
player_name: Marcus
action: draw_deck
card_rank: Q
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:40.215716
player_id: cpu_6c5751ea
player_name: Diego
action: draw_deck
card_rank: J
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}], "Marcus": [{"rank": "7", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:42.027115
player_id: cpu_42171da2
player_name: Sofia
action: draw_deck
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}], "Marcus": [{"rank": "7", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:42.758686
player_id: cpu_42171da2
player_name: Sofia
action: swap
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "3", "suit": "spades"}
decision_reason: swapped 4 into position 5, replaced 3
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}], "Marcus": [{"rank": "7", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:47.866018
player_id: cpu_2258e89b
player_name: Maya
action: take_discard
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: took A from discard
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}], "Marcus": [{"rank": "7", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "clubs"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:48.277611
player_id: cpu_2258e89b
player_name: Maya
action: swap
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: swapped A into position 3, replaced 6
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}], "Marcus": [{"rank": "7", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "clubs"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:49.406063
player_id: cpu_65ef5b5e
player_name: River
action: draw_deck
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}], "Marcus": [{"rank": "7", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "clubs"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:50.062357
player_id: cpu_65ef5b5e
player_name: River
action: swap
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: swapped 2 into position 2, replaced 6
hand_json:
[{"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}], "Marcus": [{"rank": "7", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "clubs"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:51.069204
player_id: cpu_f5bc5293
player_name: Marcus
action: draw_deck
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "clubs"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:51.776880
player_id: cpu_f5bc5293
player_name: Marcus
action: swap
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: swapped 6 into position 2, replaced 7
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "clubs"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:52.657913
player_id: cpu_6c5751ea
player_name: Diego
action: draw_deck
card_rank: 10
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Marcus": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "clubs"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:54.549595
player_id: cpu_42171da2
player_name: Sofia
action: draw_deck
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Marcus": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:32:55.038133
player_id: cpu_42171da2
player_name: Sofia
action: swap
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "4", "suit": "clubs"}
decision_reason: swapped 2 into position 5, replaced 4
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Marcus": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:05.880236
player_id: cpu_2258e89b
player_name: Maya
action: draw_deck
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Marcus": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:06.381888
player_id: cpu_2258e89b
player_name: Maya
action: swap
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: swapped 5 into position 5, replaced 9
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Marcus": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:07.549148
player_id: cpu_65ef5b5e
player_name: River
action: draw_deck
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:08.041278
player_id: cpu_65ef5b5e
player_name: River
action: swap
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "6", "suit": "clubs"}
decision_reason: swapped 5 into position 5, replaced 6
hand_json:
[{"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:09.070166
player_id: cpu_f5bc5293
player_name: Marcus
action: draw_deck
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "6", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:10.240597
player_id: cpu_6c5751ea
player_name: Diego
action: draw_deck
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Marcus": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:10.856252
player_id: cpu_6c5751ea
player_name: Diego
action: swap
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "spades"}
decision_reason: swapped 4 into position 4, replaced 6
hand_json:
[{"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Marcus": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:12.056912
player_id: cpu_42171da2
player_name: Sofia
action: draw_deck
card_rank: 10
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Marcus": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:20.695010
player_id: cpu_2258e89b
player_name: Maya
action: draw_deck
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "4", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Marcus": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:22.332944
player_id: cpu_65ef5b5e
player_name: River
action: draw_deck
card_rank: J
card_suit: spades
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:24.368142
player_id: cpu_f5bc5293
player_name: Marcus
action: draw_deck
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:24.923551
player_id: cpu_f5bc5293
player_name: Marcus
action: swap
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: swapped 3 into position 5, replaced 7
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:25.713392
player_id: cpu_6c5751ea
player_name: Diego
action: draw_deck
card_rank: K
card_suit: spades
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Marcus": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:26.463925
player_id: cpu_6c5751ea
player_name: Diego
action: swap
card_rank: K
card_suit: spades
discard_top_json: {"rank": "4", "suit": "clubs"}
decision_reason: swapped K into position 4, replaced 4
hand_json:
[{"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Marcus": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:27.619131
player_id: cpu_42171da2
player_name: Sofia
action: draw_deck
card_rank: K
card_suit: hearts
discard_top_json: {"rank": "4", "suit": "clubs"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Marcus": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "clubs"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:28.331497
player_id: cpu_42171da2
player_name: Sofia
action: swap
card_rank: K
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: swapped K into position 1, replaced 9
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Marcus": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "clubs"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:33.229902
player_id: cpu_2258e89b
player_name: Maya
action: draw_deck
card_rank: Q
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Marcus": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:34.757390
player_id: cpu_65ef5b5e
player_name: River
action: draw_deck
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:36.552742
player_id: cpu_f5bc5293
player_name: Marcus
action: draw_deck
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:37.073326
player_id: cpu_f5bc5293
player_name: Marcus
action: swap
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "6", "suit": "clubs"}
decision_reason: swapped 2 into position 2, replaced 6
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:37.530913
player_id: cpu_6c5751ea
player_name: Diego
action: draw_deck
card_rank: Q
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:39.026801
player_id: cpu_42171da2
player_name: Sofia
action: draw_deck
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "clubs"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:39.626206
player_id: cpu_42171da2
player_name: Sofia
action: swap
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: swapped A into position 3, replaced 4
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "clubs"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:48.007780
player_id: cpu_2258e89b
player_name: Maya
action: take_discard
card_rank: A
card_suit: spades
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: took A from discard
visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:48.723505
player_id: cpu_2258e89b
player_name: Maya
action: swap
card_rank: A
card_suit: spades
discard_top_json: {"rank": "5", "suit": "hearts"}
decision_reason: swapped A into position 5, replaced 5
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:49.954477
player_id: cpu_65ef5b5e
player_name: River
action: draw_deck
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "5", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:50.743478
player_id: cpu_65ef5b5e
player_name: River
action: swap
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: swapped 3 into position 5, replaced 5
hand_json:
[{"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:51.615242
player_id: cpu_f5bc5293
player_name: Marcus
action: draw_deck
card_rank: J
card_suit: spades
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:53.512405
player_id: cpu_6c5751ea
player_name: Diego
action: draw_deck
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:54.302885
player_id: cpu_6c5751ea
player_name: Diego
action: swap
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "4", "suit": "hearts"}
decision_reason: swapped A into position 2, replaced 4
hand_json:
[{"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:33:55.610207
player_id: cpu_42171da2
player_name: Sofia
action: draw_deck
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "4", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "clubs"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:34:02.701733
player_id: cpu_2258e89b
player_name: Maya
action: draw_deck
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:34:03.454451
player_id: cpu_2258e89b
player_name: Maya
action: swap
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: swapped 6 into position 2, replaced Q
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:34:04.630315
player_id: cpu_65ef5b5e
player_name: River
action: draw_deck
card_rank: Q
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:34:06.386850
player_id: cpu_f5bc5293
player_name: Marcus
action: draw_deck
card_rank: 9
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:34:07.619532
player_id: cpu_6c5751ea
player_name: Diego
action: draw_deck
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Sofia": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:34:09.224423
player_id: cpu_42171da2
player_name: Sofia
action: draw_deck
card_rank: K
card_suit: spades
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "clubs"}]}


game_id: 1b77b0ab-8faf-400c-9bc3-0a6f714e86d2
timestamp: 2026-01-24 19:34:09.721410
player_id: cpu_42171da2
player_name: Sofia
action: swap
card_rank: K
card_suit: spades
discard_top_json: {"rank": "4", "suit": "hearts"}
decision_reason: swapped K into position 2, replaced 4
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "J", "suit": "clubs"}, {"rank": "A", "suit": "spades"}], "River": [{"rank": "10", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "J", "suit": "diamonds"}, {"rank": "10", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}], "Marcus": [{"rank": "4", "suit": "diamonds"}, {"rank": "10", "suit": "clubs"}, {"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "8", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "Q", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "clubs"}, {"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:47:47.812864
player_id: cpu_3658c449
player_name: Maya
action: draw_deck
card_rank: 9
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "J", "suit": "clubs"}], "River": [{"rank": "10", "suit": "diamonds"}, {"rank": "10", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:47:48.366921
player_id: cpu_3658c449
player_name: Maya
action: swap
card_rank: 9
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: swapped 9 into position 0, replaced Q
hand_json:
[{"rank": "9", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "J", "suit": "clubs"}], "River": [{"rank": "10", "suit": "diamonds"}, {"rank": "10", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:47:49.596201
player_id: cpu_6d66354d
player_name: Priya
action: draw_deck
card_rank: 8
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "10", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Maya": [{"rank": "9", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "River": [{"rank": "10", "suit": "diamonds"}, {"rank": "10", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:47:50.215280
player_id: cpu_6d66354d
player_name: Priya
action: swap
card_rank: 8
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: swapped 8 into position 3, replaced J
hand_json:
[{"rank": "10", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Maya": [{"rank": "9", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "River": [{"rank": "10", "suit": "diamonds"}, {"rank": "10", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:47:51.452203
player_id: cpu_1520f9a2
player_name: River
action: draw_deck
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "10", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Maya": [{"rank": "9", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:47:52.138548
player_id: cpu_1520f9a2
player_name: River
action: swap
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: swapped 2 into position 0, replaced 10
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Maya": [{"rank": "9", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:47:52.669322
player_id: cpu_15648c42
player_name: Diego
action: draw_deck
card_rank: 9
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Maya": [{"rank": "9", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "8", "suit": "diamonds"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "10", "suit": "clubs"}], "Kenji": [{"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:47:54.552104
player_id: cpu_3f69ffc6
player_name: Kenji
action: draw_deck
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Maya": [{"rank": "9", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "8", "suit": "diamonds"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "10", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:47:55.089149
player_id: cpu_3f69ffc6
player_name: Kenji
action: swap
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: swapped 7 into position 0, replaced 4
hand_json:
[{"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Maya": [{"rank": "9", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "8", "suit": "diamonds"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "10", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:01.962579
player_id: cpu_3658c449
player_name: Maya
action: take_discard
card_rank: K
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: took K from discard
hand_json:
[{"rank": "9", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "8", "suit": "diamonds"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "10", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:02.564932
player_id: cpu_3658c449
player_name: Maya
action: swap
card_rank: K
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: swapped K into position 0, replaced 9
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "8", "suit": "diamonds"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "10", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:03.532088
player_id: cpu_6d66354d
player_name: Priya
action: draw_deck
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "10", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "10", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:04.027711
player_id: cpu_6d66354d
player_name: Priya
action: swap
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: swapped 5 into position 3, replaced 8
hand_json:
[{"rank": "10", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "10", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:05.314228
player_id: cpu_1520f9a2
player_name: River
action: take_discard
card_rank: 8
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: took 8 from discard
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:05.918259
player_id: cpu_1520f9a2
player_name: River
action: swap
card_rank: 8
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: swapped 8 into position 5, replaced 10
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:06.896334
player_id: cpu_15648c42
player_name: Diego
action: draw_deck
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "diamonds"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:07.318392
player_id: cpu_15648c42
player_name: Diego
action: swap
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "6", "suit": "spades"}
decision_reason: swapped 3 into position 4, replaced 6
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "diamonds"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:08.145060
player_id: cpu_3f69ffc6
player_name: Kenji
action: draw_deck
card_rank: 9
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "2", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:13.778695
player_id: cpu_3658c449
player_name: Maya
action: draw_deck
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:14.280383
player_id: cpu_3658c449
player_name: Maya
action: swap
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: swapped 6 into position 3, replaced 9
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:15.166268
player_id: cpu_6d66354d
player_name: Priya
action: draw_deck
card_rank: 9
card_suit: spades
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "10", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "6", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:15.851251
player_id: cpu_6d66354d
player_name: Priya
action: swap
card_rank: 9
card_suit: spades
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: swapped 9 into position 5, replaced 8
hand_json:
[{"rank": "10", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "6", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:17.091778
player_id: cpu_1520f9a2
player_name: River
action: take_discard
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: took 8 from discard
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "6", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "9", "suit": "spades"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:17.640940
player_id: cpu_1520f9a2
player_name: River
action: swap
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: swapped 8 into position 2, replaced 7
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "6", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "9", "suit": "spades"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:18.620221
player_id: cpu_15648c42
player_name: Diego
action: draw_deck
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "6", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "9", "suit": "spades"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:20.304142
player_id: cpu_3f69ffc6
player_name: Kenji
action: take_discard
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: took 7 from discard
visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "6", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "9", "suit": "spades"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "2", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:20.893253
player_id: cpu_3f69ffc6
player_name: Kenji
action: swap
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: swapped 7 into position 3, replaced 10
hand_json:
[{"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "6", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "9", "suit": "spades"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "2", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:32.367365
player_id: cpu_3658c449
player_name: Maya
action: take_discard
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "9", "suit": "spades"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:33.107987
player_id: cpu_3658c449
player_name: Maya
action: swap
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: swapped 4 into position 3, replaced 6
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "9", "suit": "spades"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:34.382152
player_id: cpu_6d66354d
player_name: Priya
action: take_discard
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "10", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:34.808134
player_id: cpu_6d66354d
player_name: Priya
action: swap
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: swapped 6 into position 5, replaced 9
hand_json:
[{"rank": "10", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:35.795842
player_id: cpu_1520f9a2
player_name: River
action: draw_deck
card_rank: J
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:37.166397
player_id: cpu_15648c42
player_name: Diego
action: draw_deck
card_rank: A
card_suit: spades
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:37.771854
player_id: cpu_15648c42
player_name: Diego
action: swap
card_rank: A
card_suit: spades
discard_top_json: {"rank": "3", "suit": "hearts"}
decision_reason: swapped A into position 4, replaced 3
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:38.795571
player_id: cpu_3f69ffc6
player_name: Kenji
action: take_discard
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:39.425708
player_id: cpu_3f69ffc6
player_name: Kenji
action: swap
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: swapped 3 into position 0, replaced 7
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:45.463457
player_id: cpu_3658c449
player_name: Maya
action: draw_deck
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:45.912622
player_id: cpu_3658c449
player_name: Maya
action: swap
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "hearts"}
decision_reason: swapped K into position 2, replaced 5
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:47.026098
player_id: cpu_6d66354d
player_name: Priya
action: take_discard
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "10", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:47.582242
player_id: cpu_6d66354d
player_name: Priya
action: swap
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: swapped 5 into position 0, replaced 10
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:48.767017
player_id: cpu_1520f9a2
player_name: River
action: draw_deck
card_rank: 9
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:50.274947
player_id: cpu_15648c42
player_name: Diego
action: draw_deck
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:50.945731
player_id: cpu_15648c42
player_name: Diego
action: swap
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "4", "suit": "hearts"}
decision_reason: swapped 5 into position 0, replaced 4
hand_json:
[{"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:52.082222
player_id: cpu_3f69ffc6
player_name: Kenji
action: take_discard
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:52.834107
player_id: cpu_3f69ffc6
player_name: Kenji
action: swap
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: swapped 4 into position 3, replaced 7
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:48:58.767043
player_id: cpu_3658c449
player_name: Maya
action: draw_deck
card_rank: 10
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Priya": [{"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:00.661881
player_id: cpu_6d66354d
player_name: Priya
action: draw_deck
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:01.345953
player_id: cpu_6d66354d
player_name: Priya
action: swap
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: swapped 3 into position 5, replaced 6
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:02.598097
player_id: cpu_1520f9a2
player_name: River
action: take_discard
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: took 6 from discard
visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:03.256917
player_id: cpu_1520f9a2
player_name: River
action: swap
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: swapped 6 into position 2, replaced 8
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:03.849196
player_id: cpu_15648c42
player_name: Diego
action: draw_deck
card_rank: 10
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:05.454920
player_id: cpu_3f69ffc6
player_name: Kenji
action: draw_deck
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:05.917681
player_id: cpu_3f69ffc6
player_name: Kenji
action: swap
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "K", "suit": "spades"}
decision_reason: swapped 5 into position 4, replaced K
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:11.259331
player_id: cpu_3658c449
player_name: Maya
action: draw_deck
card_rank: A
card_suit: spades
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: drew from deck
visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Priya": [{"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:12.018148
player_id: cpu_3658c449
player_name: Maya
action: swap
card_rank: A
card_suit: spades
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: swapped A into position 3, replaced 4
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Priya": [{"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:12.836114
player_id: cpu_6d66354d
player_name: Priya
action: take_discard
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:13.412296
player_id: cpu_6d66354d
player_name: Priya
action: swap
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: swapped 4 into position 4, replaced 7
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:14.708083
player_id: cpu_1520f9a2
player_name: River
action: draw_deck
card_rank: J
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:15.790343
player_id: cpu_15648c42
player_name: Diego
action: draw_deck
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:16.363301
player_id: cpu_15648c42
player_name: Diego
action: swap
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: swapped A into position 0, replaced 5
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:17.320216
player_id: cpu_3f69ffc6
player_name: Kenji
action: draw_deck
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:17.916626
player_id: cpu_3f69ffc6
player_name: Kenji
action: swap
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: swapped 3 into position 1, replaced 5
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:35.611441
player_id: cpu_3658c449
player_name: Maya
action: take_discard
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: took K from discard
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Priya": [{"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:36.333132
player_id: cpu_3658c449
player_name: Maya
action: swap
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "A", "suit": "spades"}
decision_reason: swapped K into position 3, replaced A
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Priya": [{"rank": "5", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:37.443879
player_id: cpu_6d66354d
player_name: Priya
action: take_discard
card_rank: A
card_suit: spades
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: took A from discard
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:38.208340
player_id: cpu_6d66354d
player_name: Priya
action: swap
card_rank: A
card_suit: spades
discard_top_json: {"rank": "5", "suit": "hearts"}
decision_reason: swapped A into position 0, replaced 5
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:39.426992
player_id: cpu_1520f9a2
player_name: River
action: take_discard
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: took 5 from discard
visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:39.878820
player_id: cpu_1520f9a2
player_name: River
action: swap
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: swapped 5 into position 5, replaced 8
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:40.482535
player_id: cpu_15648c42
player_name: Diego
action: draw_deck
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:40.913030
player_id: cpu_15648c42
player_name: Diego
action: swap
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "A", "suit": "clubs"}
decision_reason: swapped A into position 3, replaced A
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:42.007419
player_id: cpu_3f69ffc6
player_name: Kenji
action: take_discard
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: took A from discard
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}], "Diego": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:42.510364
player_id: cpu_3f69ffc6
player_name: Kenji
action: swap
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: swapped A into position 4, replaced 5
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}], "Diego": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:47.905306
player_id: cpu_3658c449
player_name: Maya
action: draw_deck
card_rank: Q
card_suit: diamonds
discard_top_json: {"rank": "4", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}], "Diego": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:49.493509
player_id: cpu_6d66354d
player_name: Priya
action: draw_deck
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}], "Diego": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:50.185228
player_id: cpu_6d66354d
player_name: Priya
action: swap
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "6", "suit": "spades"}
decision_reason: swapped 3 into position 2, replaced 6
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}], "Diego": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:51.230799
player_id: cpu_1520f9a2
player_name: River
action: draw_deck
card_rank: Q
card_suit: spades
discard_top_json: {"rank": "6", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:53.137548
player_id: cpu_15648c42
player_name: Diego
action: draw_deck
card_rank: Q
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:54.893569
player_id: cpu_3f69ffc6
player_name: Kenji
action: draw_deck
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}], "Diego": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:49:55.639267
player_id: cpu_3f69ffc6
player_name: Kenji
action: swap
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "4", "suit": "hearts"}
decision_reason: swapped A into position 3, replaced 4
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}], "Diego": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:50:09.416246
player_id: cpu_3658c449
player_name: Maya
action: draw_deck
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}], "Diego": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "A", "suit": "clubs"}, {"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:50:10.096707
player_id: cpu_3658c449
player_name: Maya
action: discard
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: discarded 7
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "3", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "hearts"}, {"rank": "6", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}], "Diego": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "9", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "10", "suit": "spades"}, {"rank": "A", "suit": "clubs"}, {"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:50:48.954231
player_id: cpu_3658c449
player_name: Maya
action: take_discard
card_rank: 7
card_suit: spades
decision_reason: took 7 from discard
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "10", "suit": "spades"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "K", "suit": "spades"}, {"rank": "Q", "suit": "hearts"}], "Kenji": [{"rank": "Q", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:50:49.498099
player_id: cpu_3658c449
player_name: Maya
action: swap
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: swapped 7 into position 2, replaced Q
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "10", "suit": "spades"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "K", "suit": "spades"}, {"rank": "Q", "suit": "hearts"}], "Kenji": [{"rank": "Q", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:50:50.361365
player_id: cpu_6d66354d
player_name: Priya
action: draw_deck
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "spades"}, {"rank": "8", "suit": "clubs"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "K", "suit": "spades"}, {"rank": "Q", "suit": "hearts"}], "Kenji": [{"rank": "Q", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:50:51.101855
player_id: cpu_6d66354d
player_name: Priya
action: swap
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: swapped 8 into position 5, replaced 10
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "spades"}, {"rank": "8", "suit": "clubs"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "K", "suit": "spades"}, {"rank": "Q", "suit": "hearts"}], "Kenji": [{"rank": "Q", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:50:52.189601
player_id: cpu_1520f9a2
player_name: River
action: draw_deck
card_rank: 10
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "spades"}, {"rank": "8", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "8", "suit": "hearts"}], "Diego": [{"rank": "K", "suit": "spades"}, {"rank": "Q", "suit": "hearts"}], "Kenji": [{"rank": "Q", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:50:53.306487
player_id: cpu_15648c42
player_name: Diego
action: draw_deck
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "spades"}, {"rank": "8", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "8", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Kenji": [{"rank": "Q", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:50:53.805279
player_id: cpu_15648c42
player_name: Diego
action: swap
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: swapped 2 into position 3, replaced Q
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "spades"}, {"rank": "8", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "8", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Kenji": [{"rank": "Q", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:50:54.683406
player_id: cpu_3f69ffc6
player_name: Kenji
action: take_discard
card_rank: Q
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: took Q from discard
hand_json:
[{"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "spades"}, {"rank": "8", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "8", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:50:55.159636
player_id: cpu_3f69ffc6
player_name: Kenji
action: swap
card_rank: Q
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: swapped Q into position 3, replaced J
hand_json:
[{"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "spades"}, {"rank": "8", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "8", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:03.547252
player_id: cpu_3658c449
player_name: Maya
action: take_discard
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "8", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "Q", "suit": "diamonds"}, {"rank": "Q", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:03.983729
player_id: cpu_3658c449
player_name: Maya
action: swap
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "5", "suit": "clubs"}
decision_reason: swapped 7 into position 5, replaced 5
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "8", "suit": "hearts"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "Q", "suit": "diamonds"}, {"rank": "Q", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:05.111299
player_id: cpu_6d66354d
player_name: Priya
action: take_discard
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "spades"}, {"rank": "8", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "Q", "suit": "diamonds"}, {"rank": "Q", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:05.573307
player_id: cpu_6d66354d
player_name: Priya
action: swap
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: swapped 5 into position 5, replaced 8
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "spades"}, {"rank": "8", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "Q", "suit": "diamonds"}, {"rank": "Q", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:06.465747
player_id: cpu_1520f9a2
player_name: River
action: draw_deck
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "spades"}, {"rank": "8", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}], "Diego": [{"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "Q", "suit": "diamonds"}, {"rank": "Q", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:07.197159
player_id: cpu_1520f9a2
player_name: River
action: swap
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "2", "suit": "diamonds"}
decision_reason: swapped 4 into position 0, replaced 2
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "spades"}, {"rank": "8", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}], "Diego": [{"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "Q", "suit": "diamonds"}, {"rank": "Q", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:07.651406
player_id: cpu_15648c42
player_name: Diego
action: take_discard
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: took 2 from discard
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "spades"}, {"rank": "8", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "4", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Kenji": [{"rank": "Q", "suit": "diamonds"}, {"rank": "Q", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:08.110322
player_id: cpu_15648c42
player_name: Diego
action: swap
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: swapped 2 into position 1, replaced 6
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "spades"}, {"rank": "8", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "4", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Kenji": [{"rank": "Q", "suit": "diamonds"}, {"rank": "Q", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:09.088357
player_id: cpu_3f69ffc6
player_name: Kenji
action: take_discard
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "spades"}, {"rank": "8", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "4", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:09.542662
player_id: cpu_3f69ffc6
player_name: Kenji
action: swap
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "4", "suit": "clubs"}
decision_reason: swapped 6 into position 1, replaced 4
hand_json:
[{"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "spades"}, {"rank": "8", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "4", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:18.552364
player_id: cpu_3658c449
player_name: Maya
action: take_discard
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "4", "suit": "clubs"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "4", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "Q", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "Q", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:19.187187
player_id: cpu_3658c449
player_name: Maya
action: swap
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: swapped 3 into position 3, replaced 8
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "4", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "Q", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "Q", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:20.313529
player_id: cpu_6d66354d
player_name: Priya
action: draw_deck
card_rank: 9
card_suit: spades
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "Q", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "Q", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:22.005439
player_id: cpu_1520f9a2
player_name: River
action: draw_deck
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "Q", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "Q", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:23.074573
player_id: cpu_15648c42
player_name: Diego
action: draw_deck
card_rank: 9
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "4", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Kenji": [{"rank": "Q", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "Q", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:24.791150
player_id: cpu_3f69ffc6
player_name: Kenji
action: draw_deck
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "4", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:25.293594
player_id: cpu_3f69ffc6
player_name: Kenji
action: swap
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: swapped 2 into position 0, replaced Q
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "4", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:33.819130
player_id: cpu_3658c449
player_name: Maya
action: draw_deck
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "4", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "2", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "Q", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:34.624889
player_id: cpu_3658c449
player_name: Maya
action: swap
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: swapped A into position 2, replaced 7
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "4", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "2", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "Q", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:35.722178
player_id: cpu_6d66354d
player_name: Priya
action: draw_deck
card_rank: J
card_suit: spades
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "2", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "Q", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:36.144892
player_id: cpu_6d66354d
player_name: Priya
action: swap
card_rank: J
card_suit: spades
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: swapped J into position 1, replaced 10
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "2", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "Q", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:37.335342
player_id: cpu_1520f9a2
player_name: River
action: draw_deck
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: drew from deck
visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "J", "suit": "spades"}, {"rank": "5", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "2", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "Q", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:38.060005
player_id: cpu_1520f9a2
player_name: River
action: swap
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "4", "suit": "hearts"}
decision_reason: swapped 2 into position 0, replaced 4
hand_json:
[{"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "J", "suit": "spades"}, {"rank": "5", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Kenji": [{"rank": "2", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "Q", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:38.375294
player_id: cpu_15648c42
player_name: Diego
action: draw_deck
card_rank: A
card_suit: spades
discard_top_json: {"rank": "4", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "J", "suit": "spades"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "2", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Kenji": [{"rank": "2", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "Q", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:39.172155
player_id: cpu_15648c42
player_name: Diego
action: swap
card_rank: A
card_suit: spades
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: swapped A into position 4, replaced 5
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "J", "suit": "spades"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "2", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Kenji": [{"rank": "2", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "Q", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:40.184215
player_id: cpu_3f69ffc6
player_name: Kenji
action: take_discard
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "4", "suit": "hearts"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "J", "suit": "spades"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "2", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:40.616174
player_id: cpu_3f69ffc6
player_name: Kenji
action: swap
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: swapped 5 into position 3, replaced Q
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "J", "suit": "spades"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "2", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:49.330366
player_id: cpu_3658c449
player_name: Maya
action: take_discard
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "J", "suit": "spades"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "2", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Kenji": [{"rank": "2", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:49.931716
player_id: cpu_3658c449
player_name: Maya
action: swap
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: swapped 5 into position 5, replaced 7
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "J", "suit": "spades"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "2", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Kenji": [{"rank": "2", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:50.912115
player_id: cpu_6d66354d
player_name: Priya
action: take_discard
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "River": [{"rank": "2", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Kenji": [{"rank": "2", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:51.387547
player_id: cpu_6d66354d
player_name: Priya
action: swap
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: swapped 7 into position 1, replaced J
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "River": [{"rank": "2", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Kenji": [{"rank": "2", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:52.445166
player_id: cpu_1520f9a2
player_name: River
action: draw_deck
card_rank: 9
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Kenji": [{"rank": "2", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:54.300262
player_id: cpu_15648c42
player_name: Diego
action: draw_deck
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "2", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Kenji": [{"rank": "2", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:55.847438
player_id: cpu_3f69ffc6
player_name: Kenji
action: draw_deck
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "2", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:51:56.524217
player_id: cpu_3f69ffc6
player_name: Kenji
action: swap
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: swapped 2 into position 1, replaced 6
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "2", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:52:08.978226
player_id: cpu_3658c449
player_name: Maya
action: draw_deck
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "2", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Kenji": [{"rank": "2", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:52:09.656249
player_id: cpu_3658c449
player_name: Maya
action: swap
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: swapped 2 into position 5, replaced 5
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "2", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Kenji": [{"rank": "2", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:52:10.714471
player_id: cpu_6d66354d
player_name: Priya
action: take_discard
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "River": [{"rank": "2", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Kenji": [{"rank": "2", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:52:11.128236
player_id: cpu_6d66354d
player_name: Priya
action: swap
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "3", "suit": "hearts"}
decision_reason: swapped 5 into position 2, replaced 3
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "River": [{"rank": "2", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Kenji": [{"rank": "2", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:52:12.130730
player_id: cpu_1520f9a2
player_name: River
action: draw_deck
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "3", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Kenji": [{"rank": "2", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:52:12.627192
player_id: cpu_1520f9a2
player_name: River
action: swap
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "3", "suit": "diamonds"}
decision_reason: swapped 4 into position 4, replaced 3
hand_json:
[{"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Kenji": [{"rank": "2", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:52:13.454482
player_id: cpu_15648c42
player_name: Diego
action: take_discard
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "3", "suit": "hearts"}
decision_reason: took 3 from discard
visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "2", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Kenji": [{"rank": "2", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:52:14.082033
player_id: cpu_15648c42
player_name: Diego
action: swap
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "5", "suit": "hearts"}
decision_reason: swapped 3 into position 5, replaced 5
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "2", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Kenji": [{"rank": "2", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:52:15.032667
player_id: cpu_3f69ffc6
player_name: Kenji
action: take_discard
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "3", "suit": "hearts"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "2", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:52:15.682437
player_id: cpu_3f69ffc6
player_name: Kenji
action: swap
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "6", "suit": "clubs"}
decision_reason: swapped 5 into position 4, replaced 6
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "2", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "diamonds"}]}


game_id: 3a021bfc-6861-47e4-962b-40decc67a9f9
timestamp: 2026-01-24 19:52:34.943029
player_id: cpu_3658c449
player_name: Maya
action: draw_deck
card_rank: 8
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"alee": [{"rank": "K", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "2", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "diamonds"}], "Kenji": [{"rank": "2", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}]}


