# moves

game_id: 2fcc785e-64c7-48ce-b5a6-c00f8ca4da65
timestamp: 2026-01-25 00:10:38.424032
player_id: cpu_1
player_name: Kenji
action: swap
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: swapped 6 for Q at pos 3
hand_json:
[{"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}]

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


game_id: 2fcc785e-64c7-48ce-b5a6-c00f8ca4da65
timestamp: 2026-01-25 00:10:38.430251
player_id: cpu_2
player_name: Sage
action: draw_deck
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}]

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


game_id: 2fcc785e-64c7-48ce-b5a6-c00f8ca4da65
timestamp: 2026-01-25 00:10:38.436229
player_id: cpu_2
player_name: Sage
action: swap
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: swapped 5 for 9 at pos 0
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}]

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


game_id: 2fcc785e-64c7-48ce-b5a6-c00f8ca4da65
timestamp: 2026-01-25 00:10:38.443236
player_id: cpu_3
player_name: Diego
action: draw_deck
card_rank: A
card_suit: spades
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}]

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


game_id: 2fcc785e-64c7-48ce-b5a6-c00f8ca4da65
timestamp: 2026-01-25 00:10:38.449358
player_id: cpu_3
player_name: Diego
action: swap
card_rank: A
card_suit: spades
discard_top_json: {"rank": "3", "suit": "spades"}
decision_reason: swapped A for 3 at pos 5
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}]

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


game_id: 2fcc785e-64c7-48ce-b5a6-c00f8ca4da65
timestamp: 2026-01-25 00:10:38.455691
player_id: cpu_0
player_name: Sofia
action: take_discard
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "J", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: 2fcc785e-64c7-48ce-b5a6-c00f8ca4da65
timestamp: 2026-01-25 00:10:38.461810
player_id: cpu_0
player_name: Sofia
action: swap
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: swapped 3 for 8 at pos 3
hand_json:
[{"rank": "J", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: 2fcc785e-64c7-48ce-b5a6-c00f8ca4da65
timestamp: 2026-01-25 00:10:38.471281
player_id: cpu_1
player_name: Kenji
action: draw_deck
card_rank: 9
card_suit: spades
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}]

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


game_id: 2fcc785e-64c7-48ce-b5a6-c00f8ca4da65
timestamp: 2026-01-25 00:10:38.477430
player_id: cpu_1
player_name: Kenji
action: swap
card_rank: 9
card_suit: spades
discard_top_json: {"rank": "4", "suit": "clubs"}
decision_reason: swapped 9 for 4 at pos 1
hand_json:
[{"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}]

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


game_id: 2fcc785e-64c7-48ce-b5a6-c00f8ca4da65
timestamp: 2026-01-25 00:10:38.483662
player_id: cpu_2
player_name: Sage
action: take_discard
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}]

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


game_id: 2fcc785e-64c7-48ce-b5a6-c00f8ca4da65
timestamp: 2026-01-25 00:10:38.489626
player_id: cpu_2
player_name: Sage
action: swap
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "clubs"}
decision_reason: swapped 4 for 5 at pos 0
hand_json:
[{"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}]

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


game_id: 2fcc785e-64c7-48ce-b5a6-c00f8ca4da65
timestamp: 2026-01-25 00:10:38.495416
player_id: cpu_3
player_name: Diego
action: take_discard
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}]

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


game_id: 2fcc785e-64c7-48ce-b5a6-c00f8ca4da65
timestamp: 2026-01-25 00:10:38.501673
player_id: cpu_3
player_name: Diego
action: swap
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "A", "suit": "clubs"}
decision_reason: swapped 5 for A at pos 0
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}]

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


game_id: 2fcc785e-64c7-48ce-b5a6-c00f8ca4da65
timestamp: 2026-01-25 00:10:38.507663
player_id: cpu_0
player_name: Sofia
action: take_discard
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: took A from discard
hand_json:
[{"rank": "J", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: 2fcc785e-64c7-48ce-b5a6-c00f8ca4da65
timestamp: 2026-01-25 00:10:38.514077
player_id: cpu_0
player_name: Sofia
action: swap
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "4", "suit": "hearts"}
decision_reason: swapped A for 4 at pos 5
hand_json:
[{"rank": "J", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}]

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


game_id: 988ed299-8fd1-4e8f-8054-e2d9e1c62912
timestamp: 2026-01-25 00:11:55.901271
player_id: cpu_120cce09
player_name: Maya
action: draw_deck
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}], "Priya": [{"rank": "10", "suit": "clubs"}, {"rank": "6", "suit": "diamonds"}], "Marcus": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "spades"}]}


game_id: 988ed299-8fd1-4e8f-8054-e2d9e1c62912
timestamp: 2026-01-25 00:11:56.344792
player_id: cpu_120cce09
player_name: Maya
action: swap
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: swapped 6 into position 3, replaced 7
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}], "Priya": [{"rank": "10", "suit": "clubs"}, {"rank": "6", "suit": "diamonds"}], "Marcus": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "spades"}]}


game_id: 988ed299-8fd1-4e8f-8054-e2d9e1c62912
timestamp: 2026-01-25 00:11:57.478391
player_id: cpu_398cacd9
player_name: Priya
action: take_discard
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "10", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}], "Maya": [{"rank": "5", "suit": "hearts"}, {"rank": "6", "suit": "hearts"}, {"rank": "3", "suit": "spades"}], "Marcus": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "spades"}]}


game_id: 988ed299-8fd1-4e8f-8054-e2d9e1c62912
timestamp: 2026-01-25 00:11:58.040518
player_id: cpu_398cacd9
player_name: Priya
action: swap
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: swapped 7 into position 0, replaced 10
hand_json:
[{"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}], "Maya": [{"rank": "5", "suit": "hearts"}, {"rank": "6", "suit": "hearts"}, {"rank": "3", "suit": "spades"}], "Marcus": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "spades"}]}


game_id: 988ed299-8fd1-4e8f-8054-e2d9e1c62912
timestamp: 2026-01-25 00:11:59.148073
player_id: cpu_1111c7dc
player_name: Marcus
action: draw_deck
card_rank: Q
card_suit: spades
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "\u2605", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}], "Maya": [{"rank": "5", "suit": "hearts"}, {"rank": "6", "suit": "hearts"}, {"rank": "3", "suit": "spades"}], "Priya": [{"rank": "7", "suit": "hearts"}, {"rank": "6", "suit": "diamonds"}]}


game_id: 58cd42d1-14f6-4311-84ba-29f00512d06f
timestamp: 2026-01-25 00:17:25.357188
player_id: cpu_1661a8f3
player_name: Maya
action: take_discard
card_rank: K
card_suit: spades
decision_reason: took K from discard
hand_json:
[{"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "8", "suit": "hearts"}, {"rank": "A", "suit": "clubs"}, {"rank": "9", "suit": "clubs"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "2", "suit": "hearts"}], "River": [{"rank": "6", "suit": "hearts"}, {"rank": "10", "suit": "spades"}], "Priya": [{"rank": "3", "suit": "spades"}, {"rank": "Q", "suit": "spades"}]}


game_id: 58cd42d1-14f6-4311-84ba-29f00512d06f
timestamp: 2026-01-25 00:17:26.158478
player_id: cpu_1661a8f3
player_name: Maya
action: swap
card_rank: K
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: swapped K into position 0, replaced Q
hand_json:
[{"rank": "K", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "8", "suit": "hearts"}, {"rank": "A", "suit": "clubs"}, {"rank": "9", "suit": "clubs"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "2", "suit": "hearts"}], "River": [{"rank": "6", "suit": "hearts"}, {"rank": "10", "suit": "spades"}], "Priya": [{"rank": "3", "suit": "spades"}, {"rank": "Q", "suit": "spades"}]}


game_id: 58cd42d1-14f6-4311-84ba-29f00512d06f
timestamp: 2026-01-25 00:17:26.988000
player_id: cpu_dd4d65e5
player_name: Diego
action: draw_deck
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "J", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "8", "suit": "hearts"}, {"rank": "A", "suit": "clubs"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "spades"}, {"rank": "10", "suit": "clubs"}], "River": [{"rank": "6", "suit": "hearts"}, {"rank": "10", "suit": "spades"}], "Priya": [{"rank": "3", "suit": "spades"}, {"rank": "Q", "suit": "spades"}]}


game_id: 58cd42d1-14f6-4311-84ba-29f00512d06f
timestamp: 2026-01-25 00:17:27.760819
player_id: cpu_dd4d65e5
player_name: Diego
action: swap
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "3", "suit": "clubs"}
decision_reason: swapped 2 into position 2, replaced 3
hand_json:
[{"rank": "J", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "8", "suit": "hearts"}, {"rank": "A", "suit": "clubs"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "spades"}, {"rank": "10", "suit": "clubs"}], "River": [{"rank": "6", "suit": "hearts"}, {"rank": "10", "suit": "spades"}], "Priya": [{"rank": "3", "suit": "spades"}, {"rank": "Q", "suit": "spades"}]}


game_id: 58cd42d1-14f6-4311-84ba-29f00512d06f
timestamp: 2026-01-25 00:17:28.580135
player_id: cpu_6d880294
player_name: River
action: take_discard
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "8", "suit": "hearts"}, {"rank": "A", "suit": "clubs"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "spades"}, {"rank": "10", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}], "Priya": [{"rank": "3", "suit": "spades"}, {"rank": "Q", "suit": "spades"}]}


game_id: 88bf52f7-0736-48fc-a2f0-efab80200af6
timestamp: 2026-01-25 00:28:57.220236
player_id: cpu_c08aab08
player_name: Maya
action: take_discard
card_rank: 7
card_suit: hearts
decision_reason: took 7 from discard
hand_json:
[{"rank": "Q", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"dsaasad": [{"rank": "8", "suit": "clubs"}, {"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Priya": [{"rank": "6", "suit": "spades"}, {"rank": "9", "suit": "spades"}], "River": [{"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Marcus": [{"rank": "Q", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}]}


game_id: 88bf52f7-0736-48fc-a2f0-efab80200af6
timestamp: 2026-01-25 00:28:58.026497
player_id: cpu_c08aab08
player_name: Maya
action: swap
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: swapped 7 into position 0, replaced Q
hand_json:
[{"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"dsaasad": [{"rank": "8", "suit": "clubs"}, {"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Priya": [{"rank": "6", "suit": "spades"}, {"rank": "9", "suit": "spades"}], "River": [{"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Marcus": [{"rank": "Q", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}]}


game_id: 88bf52f7-0736-48fc-a2f0-efab80200af6
timestamp: 2026-01-25 00:28:58.999635
player_id: cpu_56534121
player_name: Priya
action: draw_deck
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "\u2605", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"dsaasad": [{"rank": "8", "suit": "clubs"}, {"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "hearts"}, {"rank": "J", "suit": "hearts"}], "River": [{"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Marcus": [{"rank": "Q", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}]}


game_id: 88bf52f7-0736-48fc-a2f0-efab80200af6
timestamp: 2026-01-25 00:28:59.801456
player_id: cpu_56534121
player_name: Priya
action: swap
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: swapped 6 into position 4, replaced 10
hand_json:
[{"rank": "\u2605", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"dsaasad": [{"rank": "8", "suit": "clubs"}, {"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "hearts"}, {"rank": "J", "suit": "hearts"}], "River": [{"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "diamonds"}], "Marcus": [{"rank": "Q", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}]}


game_id: 88bf52f7-0736-48fc-a2f0-efab80200af6
timestamp: 2026-01-25 00:29:00.805228
player_id: cpu_80564115
player_name: River
action: draw_deck
card_rank: K
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": "J", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"dsaasad": [{"rank": "8", "suit": "clubs"}, {"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "hearts"}, {"rank": "J", "suit": "hearts"}], "Priya": [{"rank": "6", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Marcus": [{"rank": "Q", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}]}


game_id: 88bf52f7-0736-48fc-a2f0-efab80200af6
timestamp: 2026-01-25 00:29:01.286518
player_id: cpu_80564115
player_name: River
action: swap
card_rank: K
card_suit: diamonds
discard_top_json: {"rank": "3", "suit": "hearts"}
decision_reason: swapped K into position 0, replaced 3
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"dsaasad": [{"rank": "8", "suit": "clubs"}, {"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "hearts"}, {"rank": "J", "suit": "hearts"}], "Priya": [{"rank": "6", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Marcus": [{"rank": "Q", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}]}


game_id: 88bf52f7-0736-48fc-a2f0-efab80200af6
timestamp: 2026-01-25 00:29:02.571329
player_id: cpu_c5c05301
player_name: Marcus
action: take_discard
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "Q", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dsaasad": [{"rank": "8", "suit": "clubs"}, {"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "hearts"}, {"rank": "J", "suit": "hearts"}], "Priya": [{"rank": "6", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "River": [{"rank": "K", "suit": "diamonds"}, {"rank": "3", "suit": "diamonds"}]}


game_id: 88bf52f7-0736-48fc-a2f0-efab80200af6
timestamp: 2026-01-25 00:29:03.240383
player_id: cpu_c5c05301
player_name: Marcus
action: swap
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: swapped 3 into position 0, replaced Q
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dsaasad": [{"rank": "8", "suit": "clubs"}, {"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "hearts"}, {"rank": "J", "suit": "hearts"}], "Priya": [{"rank": "6", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "River": [{"rank": "K", "suit": "diamonds"}, {"rank": "3", "suit": "diamonds"}]}


game_id: 88bf52f7-0736-48fc-a2f0-efab80200af6
timestamp: 2026-01-25 00:29:11.245801
player_id: cpu_c08aab08
player_name: Maya
action: take_discard
card_rank: J
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: took J from discard
hand_json:
[{"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"dsaasad": [{"rank": "8", "suit": "clubs"}, {"rank": "8", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Priya": [{"rank": "6", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "River": [{"rank": "K", "suit": "diamonds"}, {"rank": "3", "suit": "diamonds"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "Q", "suit": "diamonds"}]}


game_id: 88bf52f7-0736-48fc-a2f0-efab80200af6
timestamp: 2026-01-25 00:29:11.765421
player_id: cpu_c08aab08
player_name: Maya
action: swap
card_rank: J
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: swapped J into position 1, replaced 7
hand_json:
[{"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"dsaasad": [{"rank": "8", "suit": "clubs"}, {"rank": "8", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Priya": [{"rank": "6", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "River": [{"rank": "K", "suit": "diamonds"}, {"rank": "3", "suit": "diamonds"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "Q", "suit": "diamonds"}]}


game_id: 88bf52f7-0736-48fc-a2f0-efab80200af6
timestamp: 2026-01-25 00:29:12.577138
player_id: cpu_56534121
player_name: Priya
action: take_discard
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "\u2605", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"dsaasad": [{"rank": "8", "suit": "clubs"}, {"rank": "8", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "hearts"}, {"rank": "J", "suit": "clubs"}, {"rank": "J", "suit": "hearts"}], "River": [{"rank": "K", "suit": "diamonds"}, {"rank": "3", "suit": "diamonds"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "Q", "suit": "diamonds"}]}


game_id: 88bf52f7-0736-48fc-a2f0-efab80200af6
timestamp: 2026-01-25 00:29:13.340964
player_id: cpu_56534121
player_name: Priya
action: swap
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: swapped 7 into position 3, replaced 9
hand_json:
[{"rank": "\u2605", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"dsaasad": [{"rank": "8", "suit": "clubs"}, {"rank": "8", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "hearts"}, {"rank": "J", "suit": "clubs"}, {"rank": "J", "suit": "hearts"}], "River": [{"rank": "K", "suit": "diamonds"}, {"rank": "3", "suit": "diamonds"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "Q", "suit": "diamonds"}]}


game_id: 88bf52f7-0736-48fc-a2f0-efab80200af6
timestamp: 2026-01-25 00:29:14.359467
player_id: cpu_80564115
player_name: River
action: draw_deck
card_rank: ★
card_suit: spades
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"dsaasad": [{"rank": "8", "suit": "clubs"}, {"rank": "8", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "hearts"}, {"rank": "J", "suit": "clubs"}, {"rank": "J", "suit": "hearts"}], "Priya": [{"rank": "6", "suit": "spades"}, {"rank": "7", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "Q", "suit": "diamonds"}]}


game_id: 88bf52f7-0736-48fc-a2f0-efab80200af6
timestamp: 2026-01-25 00:29:14.807131
player_id: cpu_80564115
player_name: River
action: swap
card_rank: ★
card_suit: spades
discard_top_json: {"rank": "3", "suit": "diamonds"}
decision_reason: swapped ★ into position 5, replaced 3
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "\u2605", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"dsaasad": [{"rank": "8", "suit": "clubs"}, {"rank": "8", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "hearts"}, {"rank": "J", "suit": "clubs"}, {"rank": "J", "suit": "hearts"}], "Priya": [{"rank": "6", "suit": "spades"}, {"rank": "7", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "Q", "suit": "diamonds"}]}


game_id: 88bf52f7-0736-48fc-a2f0-efab80200af6
timestamp: 2026-01-25 00:29:16.052052
player_id: cpu_c5c05301
player_name: Marcus
action: take_discard
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dsaasad": [{"rank": "8", "suit": "clubs"}, {"rank": "8", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "hearts"}, {"rank": "J", "suit": "clubs"}, {"rank": "J", "suit": "hearts"}], "Priya": [{"rank": "6", "suit": "spades"}, {"rank": "7", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "River": [{"rank": "K", "suit": "diamonds"}, {"rank": "\u2605", "suit": "spades"}]}


game_id: 88bf52f7-0736-48fc-a2f0-efab80200af6
timestamp: 2026-01-25 00:29:16.761816
player_id: cpu_c5c05301
player_name: Marcus
action: swap
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: swapped 3 into position 3, replaced 7
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dsaasad": [{"rank": "8", "suit": "clubs"}, {"rank": "8", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Maya": [{"rank": "7", "suit": "hearts"}, {"rank": "J", "suit": "clubs"}, {"rank": "J", "suit": "hearts"}], "Priya": [{"rank": "6", "suit": "spades"}, {"rank": "7", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "River": [{"rank": "K", "suit": "diamonds"}, {"rank": "\u2605", "suit": "spades"}]}


game_id: 7db156cd-5ac6-4633-8ad7-fcaced97a677
timestamp: 2026-01-25 00:31:21.942298
player_id: cpu_14233be4
player_name: Maya
action: draw_deck
card_rank: A
card_suit: spades
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"dsaasad": [{"rank": "J", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "River": [{"rank": "A", "suit": "spades"}, {"rank": "8", "suit": "spades"}], "Marcus": [{"rank": "Q", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "Sage": [{"rank": "\u2605", "suit": "spades"}, {"rank": "J", "suit": "hearts"}]}


game_id: 7db156cd-5ac6-4633-8ad7-fcaced97a677
timestamp: 2026-01-25 00:31:22.369697
player_id: cpu_14233be4
player_name: Maya
action: swap
card_rank: A
card_suit: spades
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: swapped A into position 1, replaced 8
hand_json:
[{"rank": "K", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"dsaasad": [{"rank": "J", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "River": [{"rank": "A", "suit": "spades"}, {"rank": "8", "suit": "spades"}], "Marcus": [{"rank": "Q", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "Sage": [{"rank": "\u2605", "suit": "spades"}, {"rank": "J", "suit": "hearts"}]}


game_id: 7db156cd-5ac6-4633-8ad7-fcaced97a677
timestamp: 2026-01-25 00:31:23.431237
player_id: cpu_9c15f730
player_name: River
action: take_discard
card_rank: 8
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: took 8 from discard
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"dsaasad": [{"rank": "J", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Maya": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}], "Marcus": [{"rank": "Q", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "Sage": [{"rank": "\u2605", "suit": "spades"}, {"rank": "J", "suit": "hearts"}]}


game_id: 7db156cd-5ac6-4633-8ad7-fcaced97a677
timestamp: 2026-01-25 00:31:24.010374
player_id: cpu_9c15f730
player_name: River
action: swap
card_rank: 8
card_suit: diamonds
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: swapped 8 into position 1, replaced 5
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"dsaasad": [{"rank": "J", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Maya": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}], "Marcus": [{"rank": "Q", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "Sage": [{"rank": "\u2605", "suit": "spades"}, {"rank": "J", "suit": "hearts"}]}


game_id: 7db156cd-5ac6-4633-8ad7-fcaced97a677
timestamp: 2026-01-25 00:31:25.033489
player_id: cpu_6914cbe3
player_name: Marcus
action: take_discard
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "5", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"dsaasad": [{"rank": "J", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Maya": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}], "River": [{"rank": "A", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}, {"rank": "8", "suit": "spades"}], "Sage": [{"rank": "\u2605", "suit": "spades"}, {"rank": "J", "suit": "hearts"}]}


game_id: 7db156cd-5ac6-4633-8ad7-fcaced97a677
timestamp: 2026-01-25 00:31:25.445770
player_id: cpu_6914cbe3
player_name: Marcus
action: swap
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: swapped 5 into position 1, replaced 8
hand_json:
[{"rank": "5", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"dsaasad": [{"rank": "J", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Maya": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}], "River": [{"rank": "A", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}, {"rank": "8", "suit": "spades"}], "Sage": [{"rank": "\u2605", "suit": "spades"}, {"rank": "J", "suit": "hearts"}]}


game_id: 7db156cd-5ac6-4633-8ad7-fcaced97a677
timestamp: 2026-01-25 00:31:26.656409
player_id: cpu_6bd114c4
player_name: Sage
action: take_discard
card_rank: 8
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: took 8 from discard
hand_json:
[{"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "\u2605", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"dsaasad": [{"rank": "J", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Maya": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}], "River": [{"rank": "A", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}, {"rank": "8", "suit": "spades"}], "Marcus": [{"rank": "5", "suit": "diamonds"}, {"rank": "Q", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}]}


game_id: 7db156cd-5ac6-4633-8ad7-fcaced97a677
timestamp: 2026-01-25 00:31:27.261740
player_id: cpu_6bd114c4
player_name: Sage
action: swap
card_rank: 8
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: swapped 8 into position 4, replaced J
hand_json:
[{"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "\u2605", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"dsaasad": [{"rank": "J", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Maya": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}], "River": [{"rank": "A", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}, {"rank": "8", "suit": "spades"}], "Marcus": [{"rank": "5", "suit": "diamonds"}, {"rank": "Q", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}]}


game_id: 816baafb-a244-475d-a07b-b0f69ecc97eb
timestamp: 2026-01-25 00:42:45.138882
player_id: cpu_45fa4ffa
player_name: Priya
action: take_discard
card_rank: ★
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: took ★ from discard
hand_json:
[{"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dsasa": [{"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Sage": [{"rank": "Q", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Marcus": [{"rank": "8", "suit": "spades"}, {"rank": "9", "suit": "hearts"}], "River": [{"rank": "7", "suit": "spades"}, {"rank": "Q", "suit": "diamonds"}], "Diego": [{"rank": "7", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}]}


game_id: 816baafb-a244-475d-a07b-b0f69ecc97eb
timestamp: 2026-01-25 00:42:45.670300
player_id: cpu_45fa4ffa
player_name: Priya
action: swap
card_rank: ★
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: swapped ★ into position 0, replaced 8
hand_json:
[{"rank": "\u2605", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dsasa": [{"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Sage": [{"rank": "Q", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Marcus": [{"rank": "8", "suit": "spades"}, {"rank": "9", "suit": "hearts"}], "River": [{"rank": "7", "suit": "spades"}, {"rank": "Q", "suit": "diamonds"}], "Diego": [{"rank": "7", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}]}


game_id: 816baafb-a244-475d-a07b-b0f69ecc97eb
timestamp: 2026-01-25 00:42:46.950998
player_id: cpu_f6d54c48
player_name: Sage
action: take_discard
card_rank: 8
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: took 8 from discard
hand_json:
[{"rank": "10", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"dsasa": [{"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Priya": [{"rank": "\u2605", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}], "Marcus": [{"rank": "8", "suit": "spades"}, {"rank": "9", "suit": "hearts"}], "River": [{"rank": "7", "suit": "spades"}, {"rank": "Q", "suit": "diamonds"}], "Diego": [{"rank": "7", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}]}


game_id: 816baafb-a244-475d-a07b-b0f69ecc97eb
timestamp: 2026-01-25 00:42:47.376764
player_id: cpu_f6d54c48
player_name: Sage
action: swap
card_rank: 8
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: swapped 8 into position 1, replaced Q
hand_json:
[{"rank": "10", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"dsasa": [{"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Priya": [{"rank": "\u2605", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}], "Marcus": [{"rank": "8", "suit": "spades"}, {"rank": "9", "suit": "hearts"}], "River": [{"rank": "7", "suit": "spades"}, {"rank": "Q", "suit": "diamonds"}], "Diego": [{"rank": "7", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}]}


game_id: 816baafb-a244-475d-a07b-b0f69ecc97eb
timestamp: 2026-01-25 00:42:48.629352
player_id: cpu_85f2a688
player_name: Marcus
action: draw_deck
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"dsasa": [{"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Priya": [{"rank": "\u2605", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}], "Sage": [{"rank": "8", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "River": [{"rank": "7", "suit": "spades"}, {"rank": "Q", "suit": "diamonds"}], "Diego": [{"rank": "7", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}]}


game_id: 816baafb-a244-475d-a07b-b0f69ecc97eb
timestamp: 2026-01-25 00:42:49.106058
player_id: cpu_85f2a688
player_name: Marcus
action: swap
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: swapped 3 into position 5, replaced 9
hand_json:
[{"rank": "8", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"dsasa": [{"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Priya": [{"rank": "\u2605", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}], "Sage": [{"rank": "8", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "River": [{"rank": "7", "suit": "spades"}, {"rank": "Q", "suit": "diamonds"}], "Diego": [{"rank": "7", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}]}


game_id: 816baafb-a244-475d-a07b-b0f69ecc97eb
timestamp: 2026-01-25 00:42:49.957535
player_id: cpu_21fd9236
player_name: River
action: draw_deck
card_rank: J
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "7", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"dsasa": [{"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Priya": [{"rank": "\u2605", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}], "Sage": [{"rank": "8", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Marcus": [{"rank": "8", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "7", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}]}


game_id: 816baafb-a244-475d-a07b-b0f69ecc97eb
timestamp: 2026-01-25 00:42:51.435462
player_id: cpu_85f59df6
player_name: Diego
action: draw_deck
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"dsasa": [{"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Priya": [{"rank": "\u2605", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}], "Sage": [{"rank": "8", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Marcus": [{"rank": "8", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "River": [{"rank": "7", "suit": "spades"}, {"rank": "Q", "suit": "diamonds"}]}


game_id: 816baafb-a244-475d-a07b-b0f69ecc97eb
timestamp: 2026-01-25 00:42:52.126396
player_id: cpu_85f59df6
player_name: Diego
action: swap
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: swapped 5 into position 0, replaced 7
hand_json:
[{"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"dsasa": [{"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Priya": [{"rank": "\u2605", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}], "Sage": [{"rank": "8", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Marcus": [{"rank": "8", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "River": [{"rank": "7", "suit": "spades"}, {"rank": "Q", "suit": "diamonds"}]}


game_id: a1144784-e5b3-4f83-8622-11681120daa3
timestamp: 2026-01-25 00:51:23.664231
player_id: cpu_2435765d
player_name: Maya
action: take_discard
card_rank: 9
card_suit: spades
discard_top_json: {"rank": "4", "suit": "hearts"}
decision_reason: took 9 from discard
hand_json:
[{"rank": "10", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"dsasa": [{"rank": "K", "suit": "clubs"}, {"rank": "6", "suit": "spades"}, {"rank": "4", "suit": "spades"}], "Priya": [{"rank": "2", "suit": "hearts"}, {"rank": "8", "suit": "hearts"}], "River": [{"rank": "J", "suit": "hearts"}, {"rank": "7", "suit": "hearts"}], "Sofia": [{"rank": "J", "suit": "clubs"}, {"rank": "6", "suit": "spades"}]}


game_id: a1144784-e5b3-4f83-8622-11681120daa3
timestamp: 2026-01-25 00:51:24.468053
player_id: cpu_2435765d
player_name: Maya
action: swap
card_rank: 9
card_suit: spades
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: swapped 9 into position 1, replaced 8
hand_json:
[{"rank": "10", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"dsasa": [{"rank": "K", "suit": "clubs"}, {"rank": "6", "suit": "spades"}, {"rank": "4", "suit": "spades"}], "Priya": [{"rank": "2", "suit": "hearts"}, {"rank": "8", "suit": "hearts"}], "River": [{"rank": "J", "suit": "hearts"}, {"rank": "7", "suit": "hearts"}], "Sofia": [{"rank": "J", "suit": "clubs"}, {"rank": "6", "suit": "spades"}]}


game_id: a1144784-e5b3-4f83-8622-11681120daa3
timestamp: 2026-01-25 00:51:25.457175
player_id: cpu_a7067c9f
player_name: Priya
action: take_discard
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "4", "suit": "hearts"}
decision_reason: took 8 from discard
hand_json:
[{"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"dsasa": [{"rank": "K", "suit": "clubs"}, {"rank": "6", "suit": "spades"}, {"rank": "4", "suit": "spades"}], "Maya": [{"rank": "10", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "River": [{"rank": "J", "suit": "hearts"}, {"rank": "7", "suit": "hearts"}], "Sofia": [{"rank": "J", "suit": "clubs"}, {"rank": "6", "suit": "spades"}]}


game_id: a1144784-e5b3-4f83-8622-11681120daa3
timestamp: 2026-01-25 00:51:26.046602
player_id: cpu_a7067c9f
player_name: Priya
action: swap
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: swapped 8 into position 1, replaced 9
hand_json:
[{"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"dsasa": [{"rank": "K", "suit": "clubs"}, {"rank": "6", "suit": "spades"}, {"rank": "4", "suit": "spades"}], "Maya": [{"rank": "10", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "River": [{"rank": "J", "suit": "hearts"}, {"rank": "7", "suit": "hearts"}], "Sofia": [{"rank": "J", "suit": "clubs"}, {"rank": "6", "suit": "spades"}]}


game_id: a1144784-e5b3-4f83-8622-11681120daa3
timestamp: 2026-01-25 00:51:27.319824
player_id: cpu_29262ada
player_name: River
action: draw_deck
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": true}, {"rank": "\u2605", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"dsasa": [{"rank": "K", "suit": "clubs"}, {"rank": "6", "suit": "spades"}, {"rank": "4", "suit": "spades"}], "Maya": [{"rank": "10", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Priya": [{"rank": "2", "suit": "hearts"}, {"rank": "8", "suit": "spades"}, {"rank": "8", "suit": "hearts"}], "Sofia": [{"rank": "J", "suit": "clubs"}, {"rank": "6", "suit": "spades"}]}


game_id: a1144784-e5b3-4f83-8622-11681120daa3
timestamp: 2026-01-25 00:51:27.916061
player_id: cpu_29262ada
player_name: River
action: swap
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: swapped 3 into position 1, replaced J
hand_json:
[{"rank": "K", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "\u2605", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"dsasa": [{"rank": "K", "suit": "clubs"}, {"rank": "6", "suit": "spades"}, {"rank": "4", "suit": "spades"}], "Maya": [{"rank": "10", "suit": "spades"}, {"rank": "9", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Priya": [{"rank": "2", "suit": "hearts"}, {"rank": "8", "suit": "spades"}, {"rank": "8", "suit": "hearts"}], "Sofia": [{"rank": "J", "suit": "clubs"}, {"rank": "6", "suit": "spades"}]}


game_id: a1144784-e5b3-4f83-8622-11681120daa3
timestamp: 2026-01-25 00:51:29.149755
player_id: cpu_b203a4b3
player_name: Sofia
action: take_discard
card_rank: J
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: took J from discard
hand_json:
[{"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "\u2605", "suit": "hearts", "face_up": false}]

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


game_id: a1144784-e5b3-4f83-8622-11681120daa3
timestamp: 2026-01-25 00:51:29.578484
player_id: cpu_b203a4b3
player_name: Sofia
action: swap
card_rank: J
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: swapped J into position 4, replaced Q
hand_json:
[{"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": true}, {"rank": "\u2605", "suit": "hearts", "face_up": false}]

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


game_id: bc09dba8-1e4c-4c77-936f-b597d72b2a4a
timestamp: 2026-01-25 01:06:59.307695
player_id: cpu_c89e2aab
player_name: Marcus
action: take_discard
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: took 2 from discard
hand_json:
[{"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}]

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


game_id: bc09dba8-1e4c-4c77-936f-b597d72b2a4a
timestamp: 2026-01-25 01:06:59.952329
player_id: cpu_c89e2aab
player_name: Marcus
action: swap
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: swapped 2 into position 3, replaced 8
hand_json:
[{"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}]

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


game_id: bc09dba8-1e4c-4c77-936f-b597d72b2a4a
timestamp: 2026-01-25 01:07:01.086684
player_id: cpu_95712a98
player_name: Sage
action: draw_deck
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "J", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "2", "suit": "clubs"}, {"rank": "9", "suit": "diamonds"}, {"rank": "4", "suit": "hearts"}], "Marcus": [{"rank": "7", "suit": "spades"}, {"rank": "2", "suit": "hearts"}], "Diego": [{"rank": "2", "suit": "hearts"}, {"rank": "5", "suit": "spades"}]}


game_id: bc09dba8-1e4c-4c77-936f-b597d72b2a4a
timestamp: 2026-01-25 01:07:01.588879
player_id: cpu_95712a98
player_name: Sage
action: swap
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: swapped A into position 0, replaced J
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "2", "suit": "clubs"}, {"rank": "9", "suit": "diamonds"}, {"rank": "4", "suit": "hearts"}], "Marcus": [{"rank": "7", "suit": "spades"}, {"rank": "2", "suit": "hearts"}], "Diego": [{"rank": "2", "suit": "hearts"}, {"rank": "5", "suit": "spades"}]}


game_id: bc09dba8-1e4c-4c77-936f-b597d72b2a4a
timestamp: 2026-01-25 01:07:02.114383
player_id: cpu_652be3e0
player_name: Diego
action: draw_deck
card_rank: 3
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": "7", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}]

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


game_id: bc09dba8-1e4c-4c77-936f-b597d72b2a4a
timestamp: 2026-01-25 01:07:02.877282
player_id: cpu_652be3e0
player_name: Diego
action: swap
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: swapped 3 into position 5, replaced 5
hand_json:
[{"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}]

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


game_id: bc09dba8-1e4c-4c77-936f-b597d72b2a4a
timestamp: 2026-01-25 01:07:08.031929
player_id: cpu_c89e2aab
player_name: Marcus
action: take_discard
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}]

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


game_id: bc09dba8-1e4c-4c77-936f-b597d72b2a4a
timestamp: 2026-01-25 01:07:08.482430
player_id: cpu_c89e2aab
player_name: Marcus
action: swap
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: swapped 4 into position 2, replaced 7
hand_json:
[{"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}]

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


game_id: bc09dba8-1e4c-4c77-936f-b597d72b2a4a
timestamp: 2026-01-25 01:07:09.376689
player_id: cpu_95712a98
player_name: Sage
action: take_discard
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}]

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


game_id: bc09dba8-1e4c-4c77-936f-b597d72b2a4a
timestamp: 2026-01-25 01:07:09.871389
player_id: cpu_95712a98
player_name: Sage
action: swap
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "5", "suit": "clubs"}
decision_reason: swapped 7 into position 1, replaced 5
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}]

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


game_id: bc09dba8-1e4c-4c77-936f-b597d72b2a4a
timestamp: 2026-01-25 01:07:10.729271
player_id: cpu_652be3e0
player_name: Diego
action: take_discard
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}]

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


game_id: bc09dba8-1e4c-4c77-936f-b597d72b2a4a
timestamp: 2026-01-25 01:07:11.446838
player_id: cpu_652be3e0
player_name: Diego
action: swap
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "3", "suit": "clubs"}
decision_reason: swapped 5 into position 4, replaced 3
hand_json:
[{"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}]

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


game_id: df8d594f-5ff3-4c0c-a6db-f9ad156f3912
timestamp: 2026-01-25 01:37:42.684258
player_id: cpu_2888efa0
player_name: Maya
action: take_discard
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "8", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Diego": [{"rank": "9", "suit": "hearts"}, {"rank": "7", "suit": "hearts"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "9", "suit": "clubs"}], "Priya": [{"rank": "10", "suit": "clubs"}, {"rank": "Q", "suit": "spades"}]}


game_id: df8d594f-5ff3-4c0c-a6db-f9ad156f3912
timestamp: 2026-01-25 01:37:43.464862
player_id: cpu_2888efa0
player_name: Maya
action: swap
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: swapped 3 into position 5, replaced J
hand_json:
[{"rank": "8", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Diego": [{"rank": "9", "suit": "hearts"}, {"rank": "7", "suit": "hearts"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "9", "suit": "clubs"}], "Priya": [{"rank": "10", "suit": "clubs"}, {"rank": "Q", "suit": "spades"}]}


game_id: df8d594f-5ff3-4c0c-a6db-f9ad156f3912
timestamp: 2026-01-25 01:37:43.908765
player_id: cpu_77d95545
player_name: Diego
action: draw_deck
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "3", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "9", "suit": "clubs"}], "Priya": [{"rank": "10", "suit": "clubs"}, {"rank": "Q", "suit": "spades"}]}


game_id: df8d594f-5ff3-4c0c-a6db-f9ad156f3912
timestamp: 2026-01-25 01:37:44.509736
player_id: cpu_77d95545
player_name: Diego
action: swap
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: swapped 7 into position 2, replaced J
hand_json:
[{"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "3", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "9", "suit": "clubs"}], "Priya": [{"rank": "10", "suit": "clubs"}, {"rank": "Q", "suit": "spades"}]}


game_id: df8d594f-5ff3-4c0c-a6db-f9ad156f3912
timestamp: 2026-01-25 01:37:45.625342
player_id: cpu_dfdf4a47
player_name: River
action: draw_deck
card_rank: Q
card_suit: spades
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Maya": [{"rank": "3", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}], "Diego": [{"rank": "9", "suit": "hearts"}, {"rank": "7", "suit": "spades"}, {"rank": "7", "suit": "hearts"}], "Priya": [{"rank": "10", "suit": "clubs"}, {"rank": "Q", "suit": "spades"}]}


game_id: df8d594f-5ff3-4c0c-a6db-f9ad156f3912
timestamp: 2026-01-25 01:37:47.240184
player_id: cpu_eb5f799f
player_name: Priya
action: take_discard
card_rank: Q
card_suit: spades
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: took Q from discard
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}]

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


game_id: df8d594f-5ff3-4c0c-a6db-f9ad156f3912
timestamp: 2026-01-25 01:37:47.803014
player_id: cpu_eb5f799f
player_name: Priya
action: swap
card_rank: Q
card_suit: spades
discard_top_json: {"rank": "A", "suit": "clubs"}
decision_reason: swapped Q into position 0, replaced A
hand_json:
[{"rank": "Q", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}]

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


game_id: 48669194-b1b8-45c6-8c9e-eba32858228e
timestamp: 2026-01-25 01:41:46.135678
player_id: cpu_0c402d96
player_name: Maya
action: take_discard
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "\u2605", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "spades"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Diego": [{"rank": "7", "suit": "spades"}, {"rank": "Q", "suit": "clubs"}], "River": [{"rank": "9", "suit": "clubs"}, {"rank": "10", "suit": "clubs"}]}


game_id: 48669194-b1b8-45c6-8c9e-eba32858228e
timestamp: 2026-01-25 01:41:46.552218
player_id: cpu_0c402d96
player_name: Maya
action: swap
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: swapped 3 into position 2, replaced 6
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "\u2605", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "spades"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Diego": [{"rank": "7", "suit": "spades"}, {"rank": "Q", "suit": "clubs"}], "River": [{"rank": "9", "suit": "clubs"}, {"rank": "10", "suit": "clubs"}]}


game_id: 48669194-b1b8-45c6-8c9e-eba32858228e
timestamp: 2026-01-25 01:41:47.637355
player_id: cpu_37a91ca0
player_name: Diego
action: take_discard
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "7", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "spades"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "\u2605", "suit": "spades"}], "River": [{"rank": "9", "suit": "clubs"}, {"rank": "10", "suit": "clubs"}]}


game_id: 48669194-b1b8-45c6-8c9e-eba32858228e
timestamp: 2026-01-25 01:41:48.270389
player_id: cpu_37a91ca0
player_name: Diego
action: swap
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: swapped 6 into position 5, replaced Q
hand_json:
[{"rank": "7", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "spades"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "\u2605", "suit": "spades"}], "River": [{"rank": "9", "suit": "clubs"}, {"rank": "10", "suit": "clubs"}]}


game_id: 48669194-b1b8-45c6-8c9e-eba32858228e
timestamp: 2026-01-25 01:41:49.321321
player_id: cpu_df6cddd6
player_name: River
action: draw_deck
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "10", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "spades"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "\u2605", "suit": "spades"}], "Diego": [{"rank": "7", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}]}


game_id: 48669194-b1b8-45c6-8c9e-eba32858228e
timestamp: 2026-01-25 01:41:50.103157
player_id: cpu_df6cddd6
player_name: River
action: swap
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: swapped 2 into position 3, replaced 10
hand_json:
[{"rank": "10", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "spades"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "\u2605", "suit": "spades"}], "Diego": [{"rank": "7", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}]}


game_id: 48669194-b1b8-45c6-8c9e-eba32858228e
timestamp: 2026-01-25 01:41:54.099356
player_id: cpu_0c402d96
player_name: Maya
action: take_discard
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "\u2605", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "spades"}, {"rank": "3", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Diego": [{"rank": "7", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "River": [{"rank": "9", "suit": "clubs"}, {"rank": "2", "suit": "hearts"}]}


game_id: 48669194-b1b8-45c6-8c9e-eba32858228e
timestamp: 2026-01-25 01:41:54.677951
player_id: cpu_0c402d96
player_name: Maya
action: swap
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: swapped 6 into position 3, replaced 7
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "\u2605", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "spades"}, {"rank": "3", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Diego": [{"rank": "7", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "River": [{"rank": "9", "suit": "clubs"}, {"rank": "2", "suit": "hearts"}]}


game_id: 48669194-b1b8-45c6-8c9e-eba32858228e
timestamp: 2026-01-25 01:41:55.328749
player_id: cpu_37a91ca0
player_name: Diego
action: take_discard
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "7", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "spades"}, {"rank": "3", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "clubs"}, {"rank": "\u2605", "suit": "spades"}], "River": [{"rank": "9", "suit": "clubs"}, {"rank": "2", "suit": "hearts"}]}


game_id: 48669194-b1b8-45c6-8c9e-eba32858228e
timestamp: 2026-01-25 01:41:55.990437
player_id: cpu_37a91ca0
player_name: Diego
action: swap
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: swapped 7 into position 3, replaced 5
hand_json:
[{"rank": "7", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "spades"}, {"rank": "3", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "clubs"}, {"rank": "\u2605", "suit": "spades"}], "River": [{"rank": "9", "suit": "clubs"}, {"rank": "2", "suit": "hearts"}]}


game_id: 48669194-b1b8-45c6-8c9e-eba32858228e
timestamp: 2026-01-25 01:41:57.246426
player_id: cpu_df6cddd6
player_name: River
action: take_discard
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "10", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "spades"}, {"rank": "3", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "clubs"}, {"rank": "\u2605", "suit": "spades"}], "Diego": [{"rank": "7", "suit": "spades"}, {"rank": "7", "suit": "clubs"}, {"rank": "6", "suit": "diamonds"}]}


game_id: 48669194-b1b8-45c6-8c9e-eba32858228e
timestamp: 2026-01-25 01:41:57.935775
player_id: cpu_df6cddd6
player_name: River
action: swap
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: swapped 5 into position 1, replaced 9
hand_json:
[{"rank": "10", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "spades"}, {"rank": "3", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "clubs"}, {"rank": "\u2605", "suit": "spades"}], "Diego": [{"rank": "7", "suit": "spades"}, {"rank": "7", "suit": "clubs"}, {"rank": "6", "suit": "diamonds"}]}


game_id: 76c37275-1838-48fb-9455-831e3e85201d
timestamp: 2026-01-25 01:45:15.766122
player_id: cpu_a57e042c
player_name: Priya
action: draw_deck
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}], "River": [{"rank": "5", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Marcus": [{"rank": "K", "suit": "spades"}, {"rank": "4", "suit": "spades"}], "Sage": [{"rank": "Q", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}]}


game_id: 76c37275-1838-48fb-9455-831e3e85201d
timestamp: 2026-01-25 01:45:16.430555
player_id: cpu_a57e042c
player_name: Priya
action: swap
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: swapped A into position 4, replaced 6
hand_json:
[{"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}], "River": [{"rank": "5", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}], "Marcus": [{"rank": "K", "suit": "spades"}, {"rank": "4", "suit": "spades"}], "Sage": [{"rank": "Q", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}]}


game_id: 76c37275-1838-48fb-9455-831e3e85201d
timestamp: 2026-01-25 01:45:17.585268
player_id: cpu_f58e14bb
player_name: River
action: take_discard
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "\u2605", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Marcus": [{"rank": "K", "suit": "spades"}, {"rank": "4", "suit": "spades"}], "Sage": [{"rank": "Q", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}]}


game_id: 76c37275-1838-48fb-9455-831e3e85201d
timestamp: 2026-01-25 01:45:18.070112
player_id: cpu_f58e14bb
player_name: River
action: swap
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: swapped 6 into position 5, replaced 9
hand_json:
[{"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "\u2605", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Marcus": [{"rank": "K", "suit": "spades"}, {"rank": "4", "suit": "spades"}], "Sage": [{"rank": "Q", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}]}


game_id: 76c37275-1838-48fb-9455-831e3e85201d
timestamp: 2026-01-25 01:45:19.121358
player_id: cpu_f6e466a5
player_name: Marcus
action: draw_deck
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "River": [{"rank": "5", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}], "Sage": [{"rank": "Q", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}]}


game_id: 76c37275-1838-48fb-9455-831e3e85201d
timestamp: 2026-01-25 01:45:19.737261
player_id: cpu_f6e466a5
player_name: Marcus
action: swap
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: swapped K into position 4, replaced 4
hand_json:
[{"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "River": [{"rank": "5", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}], "Sage": [{"rank": "Q", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}]}


game_id: 76c37275-1838-48fb-9455-831e3e85201d
timestamp: 2026-01-25 01:45:20.583830
player_id: cpu_78766dff
player_name: Sage
action: take_discard
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": false}]

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


game_id: 76c37275-1838-48fb-9455-831e3e85201d
timestamp: 2026-01-25 01:45:21.321033
player_id: cpu_78766dff
player_name: Sage
action: swap
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: swapped 4 into position 1, replaced Q
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": false}]

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


game_id: 5582891d-9117-49ea-a536-b69f4db8c3d2
timestamp: 2026-01-25 02:11:54.619918
player_id: cpu_407b06c4
player_name: Diego
action: take_discard
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "7", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "6", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "Q", "suit": "diamonds"}], "Kenji": [{"rank": "\u2605", "suit": "hearts"}, {"rank": "9", "suit": "diamonds"}], "Sofia": [{"rank": "8", "suit": "spades"}, {"rank": "7", "suit": "clubs"}]}


game_id: 5582891d-9117-49ea-a536-b69f4db8c3d2
timestamp: 2026-01-25 02:11:55.208466
player_id: cpu_407b06c4
player_name: Diego
action: swap
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "spades"}
decision_reason: swapped 3 into position 1, replaced 6
hand_json:
[{"rank": "7", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "6", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "Q", "suit": "diamonds"}], "Kenji": [{"rank": "\u2605", "suit": "hearts"}, {"rank": "9", "suit": "diamonds"}], "Sofia": [{"rank": "8", "suit": "spades"}, {"rank": "7", "suit": "clubs"}]}


game_id: 5582891d-9117-49ea-a536-b69f4db8c3d2
timestamp: 2026-01-25 02:11:56.353636
player_id: cpu_55ac95c5
player_name: Kenji
action: take_discard
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "\u2605", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "diamonds", "face_up": true}, {"rank": "\u2605", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "6", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "Q", "suit": "diamonds"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}], "Sofia": [{"rank": "8", "suit": "spades"}, {"rank": "7", "suit": "clubs"}]}


game_id: 5582891d-9117-49ea-a536-b69f4db8c3d2
timestamp: 2026-01-25 02:11:57.073155
player_id: cpu_55ac95c5
player_name: Kenji
action: swap
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: swapped 6 into position 4, replaced 9
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "\u2605", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "\u2605", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "6", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "Q", "suit": "diamonds"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}], "Sofia": [{"rank": "8", "suit": "spades"}, {"rank": "7", "suit": "clubs"}]}


game_id: 5582891d-9117-49ea-a536-b69f4db8c3d2
timestamp: 2026-01-25 02:11:58.165976
player_id: cpu_fdd16a32
player_name: Sofia
action: draw_deck
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "spades", "face_up": true}, {"rank": "\u2605", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "6", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "Q", "suit": "diamonds"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}], "Kenji": [{"rank": "\u2605", "suit": "hearts"}, {"rank": "6", "suit": "spades"}]}


game_id: 5582891d-9117-49ea-a536-b69f4db8c3d2
timestamp: 2026-01-25 02:11:58.914750
player_id: cpu_fdd16a32
player_name: Sofia
action: swap
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: swapped 2 into position 0, replaced 8
hand_json:
[{"rank": "2", "suit": "spades", "face_up": true}, {"rank": "\u2605", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "6", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "Q", "suit": "diamonds"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}], "Kenji": [{"rank": "\u2605", "suit": "hearts"}, {"rank": "6", "suit": "spades"}]}


game_id: e9eadbdb-bd4d-4870-ba47-36b14001ccb3
timestamp: 2026-01-25 15:01:07.312933
player_id: cpu_bf4ebeef
player_name: Maya
action: take_discard
card_rank: 4
card_suit: diamonds
decision_reason: took 4 from discard
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "6", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Priya": [{"rank": "5", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Sage": [{"rank": "3", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}], "River": [{"rank": "8", "suit": "clubs"}, {"rank": "Q", "suit": "hearts"}]}


game_id: e9eadbdb-bd4d-4870-ba47-36b14001ccb3
timestamp: 2026-01-25 15:01:08.075414
player_id: cpu_bf4ebeef
player_name: Maya
action: swap
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: swapped 4 into position 2, replaced J
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "6", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Priya": [{"rank": "5", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Sage": [{"rank": "3", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}], "River": [{"rank": "8", "suit": "clubs"}, {"rank": "Q", "suit": "hearts"}]}


game_id: e9eadbdb-bd4d-4870-ba47-36b14001ccb3
timestamp: 2026-01-25 15:01:09.352089
player_id: cpu_5d6d8edd
player_name: Priya
action: draw_deck
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "hearts", "face_up": false}]

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


game_id: e9eadbdb-bd4d-4870-ba47-36b14001ccb3
timestamp: 2026-01-25 15:01:10.082402
player_id: cpu_5d6d8edd
player_name: Priya
action: swap
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "clubs"}
decision_reason: swapped A into position 2, replaced 5
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "hearts", "face_up": false}]

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


game_id: e9eadbdb-bd4d-4870-ba47-36b14001ccb3
timestamp: 2026-01-25 15:01:11.078055
player_id: cpu_0aef1203
player_name: Sage
action: take_discard
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}]

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


game_id: e9eadbdb-bd4d-4870-ba47-36b14001ccb3
timestamp: 2026-01-25 15:01:11.575299
player_id: cpu_0aef1203
player_name: Sage
action: swap
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "spades"}
decision_reason: swapped 5 into position 4, replaced 6
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}]

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


game_id: e9eadbdb-bd4d-4870-ba47-36b14001ccb3
timestamp: 2026-01-25 15:01:12.642033
player_id: cpu_11ca1b99
player_name: River
action: take_discard
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "6", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Sage": [{"rank": "3", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}]}


game_id: e9eadbdb-bd4d-4870-ba47-36b14001ccb3
timestamp: 2026-01-25 15:01:13.320042
player_id: cpu_11ca1b99
player_name: River
action: swap
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: swapped 6 into position 5, replaced Q
hand_json:
[{"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "6", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Sage": [{"rank": "3", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}]}


game_id: e9eadbdb-bd4d-4870-ba47-36b14001ccb3
timestamp: 2026-01-25 15:01:30.138059
player_id: cpu_bf4ebeef
player_name: Maya
action: take_discard
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "6", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Sage": [{"rank": "3", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "8", "suit": "clubs"}, {"rank": "6", "suit": "spades"}]}


game_id: e9eadbdb-bd4d-4870-ba47-36b14001ccb3
timestamp: 2026-01-25 15:01:30.786489
player_id: cpu_bf4ebeef
player_name: Maya
action: swap
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "2", "suit": "spades"}
decision_reason: swapped 7 into position 4, replaced 2
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "6", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Sage": [{"rank": "3", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "8", "suit": "clubs"}, {"rank": "6", "suit": "spades"}]}


game_id: e9eadbdb-bd4d-4870-ba47-36b14001ccb3
timestamp: 2026-01-25 15:01:31.967141
player_id: cpu_5d6d8edd
player_name: Priya
action: take_discard
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: took 2 from discard
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "6", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}], "Sage": [{"rank": "3", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "8", "suit": "clubs"}, {"rank": "6", "suit": "spades"}]}


game_id: e9eadbdb-bd4d-4870-ba47-36b14001ccb3
timestamp: 2026-01-25 15:01:32.753281
player_id: cpu_5d6d8edd
player_name: Priya
action: swap
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "A", "suit": "clubs"}
decision_reason: swapped 2 into position 2, replaced A
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "6", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}], "Sage": [{"rank": "3", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "8", "suit": "clubs"}, {"rank": "6", "suit": "spades"}]}


game_id: e9eadbdb-bd4d-4870-ba47-36b14001ccb3
timestamp: 2026-01-25 15:01:33.810399
player_id: cpu_0aef1203
player_name: Sage
action: take_discard
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: took A from discard
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}]

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


game_id: e9eadbdb-bd4d-4870-ba47-36b14001ccb3
timestamp: 2026-01-25 15:01:34.472370
player_id: cpu_0aef1203
player_name: Sage
action: swap
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "clubs"}
decision_reason: swapped A into position 4, replaced 5
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}]

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


game_id: e9eadbdb-bd4d-4870-ba47-36b14001ccb3
timestamp: 2026-01-25 15:01:35.284960
player_id: cpu_11ca1b99
player_name: River
action: take_discard
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "6", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}], "Priya": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Sage": [{"rank": "3", "suit": "diamonds"}, {"rank": "A", "suit": "clubs"}]}


game_id: e9eadbdb-bd4d-4870-ba47-36b14001ccb3
timestamp: 2026-01-25 15:01:36.015485
player_id: cpu_11ca1b99
player_name: River
action: swap
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: swapped 5 into position 1, replaced 8
hand_json:
[{"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "6", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}], "Priya": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Sage": [{"rank": "3", "suit": "diamonds"}, {"rank": "A", "suit": "clubs"}]}


game_id: 728c5158-5dca-4ce8-b1a7-cf04d6ae266a
timestamp: 2026-01-25 15:07:26.223692
player_id: cpu_e999af67
player_name: Priya
action: take_discard
card_rank: 9
card_suit: spades
decision_reason: took 9 from discard
hand_json:
[{"rank": "9", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "2", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}], "Sage": [{"rank": "4", "suit": "hearts"}, {"rank": "9", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "10", "suit": "diamonds"}]}


game_id: 728c5158-5dca-4ce8-b1a7-cf04d6ae266a
timestamp: 2026-01-25 15:07:26.829615
player_id: cpu_e999af67
player_name: Priya
action: swap
card_rank: 9
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: swapped 9 into position 3, replaced Q
hand_json:
[{"rank": "9", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "2", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}], "Sage": [{"rank": "4", "suit": "hearts"}, {"rank": "9", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "10", "suit": "diamonds"}]}


game_id: 728c5158-5dca-4ce8-b1a7-cf04d6ae266a
timestamp: 2026-01-25 15:07:28.001412
player_id: cpu_4830d1ae
player_name: Sage
action: draw_deck
card_rank: 9
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "2", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}], "Priya": [{"rank": "9", "suit": "diamonds"}, {"rank": "9", "suit": "spades"}, {"rank": "A", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "10", "suit": "diamonds"}]}


game_id: 728c5158-5dca-4ce8-b1a7-cf04d6ae266a
timestamp: 2026-01-25 15:07:28.787378
player_id: cpu_4830d1ae
player_name: Sage
action: swap
card_rank: 9
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: swapped 9 into position 2, replaced 7
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "2", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}], "Priya": [{"rank": "9", "suit": "diamonds"}, {"rank": "9", "suit": "spades"}, {"rank": "A", "suit": "clubs"}], "Diego": [{"rank": "2", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "Maya": [{"rank": "K", "suit": "hearts"}, {"rank": "10", "suit": "diamonds"}]}


game_id: 728c5158-5dca-4ce8-b1a7-cf04d6ae266a
timestamp: 2026-01-25 15:07:29.294055
player_id: cpu_877fa859
player_name: Diego
action: draw_deck
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 728c5158-5dca-4ce8-b1a7-cf04d6ae266a
timestamp: 2026-01-25 15:07:29.938400
player_id: cpu_877fa859
player_name: Diego
action: swap
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: swapped 6 into position 0, replaced 10
hand_json:
[{"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 728c5158-5dca-4ce8-b1a7-cf04d6ae266a
timestamp: 2026-01-25 15:07:31.139728
player_id: cpu_40d0c7d0
player_name: Maya
action: take_discard
card_rank: 10
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: took 10 from discard
hand_json:
[{"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": false}]

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


game_id: 728c5158-5dca-4ce8-b1a7-cf04d6ae266a
timestamp: 2026-01-25 15:07:31.602008
player_id: cpu_40d0c7d0
player_name: Maya
action: swap
card_rank: 10
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: swapped 10 into position 5, replaced 10
hand_json:
[{"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": true}]

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


game_id: b732579c-1b0f-4727-b8d6-e454ac31c86a
timestamp: 2026-01-25 15:12:06.373012
player_id: cpu_4badf8eb
player_name: Maya
action: draw_deck
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Kenji": [{"rank": "J", "suit": "diamonds"}, {"rank": "J", "suit": "hearts"}], "River": [{"rank": "3", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Marcus": [{"rank": "9", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}]}


game_id: b732579c-1b0f-4727-b8d6-e454ac31c86a
timestamp: 2026-01-25 15:12:07.180062
player_id: cpu_4badf8eb
player_name: Maya
action: swap
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: swapped 5 into position 2, replaced Q
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Kenji": [{"rank": "J", "suit": "diamonds"}, {"rank": "J", "suit": "hearts"}], "River": [{"rank": "3", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Marcus": [{"rank": "9", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}]}


game_id: b732579c-1b0f-4727-b8d6-e454ac31c86a
timestamp: 2026-01-25 15:12:08.371056
player_id: cpu_201a0045
player_name: Kenji
action: draw_deck
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "5", "suit": "diamonds"}, {"rank": "8", "suit": "spades"}], "River": [{"rank": "3", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Marcus": [{"rank": "9", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}]}


game_id: b732579c-1b0f-4727-b8d6-e454ac31c86a
timestamp: 2026-01-25 15:12:08.800803
player_id: cpu_201a0045
player_name: Kenji
action: swap
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: swapped 5 into position 2, replaced J
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "5", "suit": "diamonds"}, {"rank": "8", "suit": "spades"}], "River": [{"rank": "3", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Marcus": [{"rank": "9", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}]}


game_id: b732579c-1b0f-4727-b8d6-e454ac31c86a
timestamp: 2026-01-25 15:12:10.013464
player_id: cpu_a4f93561
player_name: River
action: draw_deck
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "5", "suit": "diamonds"}, {"rank": "8", "suit": "spades"}], "Kenji": [{"rank": "5", "suit": "clubs"}, {"rank": "J", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}]}


game_id: b732579c-1b0f-4727-b8d6-e454ac31c86a
timestamp: 2026-01-25 15:12:10.477094
player_id: cpu_a4f93561
player_name: River
action: swap
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "3", "suit": "clubs"}
decision_reason: swapped 2 into position 2, replaced 3
hand_json:
[{"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "5", "suit": "diamonds"}, {"rank": "8", "suit": "spades"}], "Kenji": [{"rank": "5", "suit": "clubs"}, {"rank": "J", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}]}


game_id: b732579c-1b0f-4727-b8d6-e454ac31c86a
timestamp: 2026-01-25 15:12:11.437810
player_id: cpu_defd8ede
player_name: Marcus
action: take_discard
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "5", "suit": "diamonds"}, {"rank": "8", "suit": "spades"}], "Kenji": [{"rank": "5", "suit": "clubs"}, {"rank": "J", "suit": "hearts"}], "River": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "clubs"}]}


game_id: b732579c-1b0f-4727-b8d6-e454ac31c86a
timestamp: 2026-01-25 15:12:11.894991
player_id: cpu_defd8ede
player_name: Marcus
action: swap
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: swapped 3 into position 1, replaced 10
hand_json:
[{"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "5", "suit": "diamonds"}, {"rank": "8", "suit": "spades"}], "Kenji": [{"rank": "5", "suit": "clubs"}, {"rank": "J", "suit": "hearts"}], "River": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "clubs"}]}


game_id: b732579c-1b0f-4727-b8d6-e454ac31c86a
timestamp: 2026-01-25 15:12:19.958367
player_id: cpu_4badf8eb
player_name: Maya
action: take_discard
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: took 2 from discard
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "7", "suit": "diamonds"}], "Kenji": [{"rank": "5", "suit": "clubs"}, {"rank": "J", "suit": "hearts"}], "River": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Marcus": [{"rank": "3", "suit": "clubs"}, {"rank": "9", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}]}


game_id: b732579c-1b0f-4727-b8d6-e454ac31c86a
timestamp: 2026-01-25 15:12:20.478228
player_id: cpu_4badf8eb
player_name: Maya
action: swap
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: swapped 2 into position 3, replaced 8
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "7", "suit": "diamonds"}], "Kenji": [{"rank": "5", "suit": "clubs"}, {"rank": "J", "suit": "hearts"}], "River": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Marcus": [{"rank": "3", "suit": "clubs"}, {"rank": "9", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}]}


game_id: b732579c-1b0f-4727-b8d6-e454ac31c86a
timestamp: 2026-01-25 15:12:21.294395
player_id: cpu_201a0045
player_name: Kenji
action: take_discard
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: took 8 from discard
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}], "River": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Marcus": [{"rank": "3", "suit": "clubs"}, {"rank": "9", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}]}


game_id: b732579c-1b0f-4727-b8d6-e454ac31c86a
timestamp: 2026-01-25 15:12:21.935068
player_id: cpu_201a0045
player_name: Kenji
action: swap
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: swapped 8 into position 3, replaced J
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}], "River": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Marcus": [{"rank": "3", "suit": "clubs"}, {"rank": "9", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}]}


game_id: b732579c-1b0f-4727-b8d6-e454ac31c86a
timestamp: 2026-01-25 15:12:23.079698
player_id: cpu_a4f93561
player_name: River
action: draw_deck
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}], "Kenji": [{"rank": "5", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Marcus": [{"rank": "3", "suit": "clubs"}, {"rank": "9", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}]}


game_id: b732579c-1b0f-4727-b8d6-e454ac31c86a
timestamp: 2026-01-25 15:12:24.614413
player_id: cpu_defd8ede
player_name: Marcus
action: take_discard
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}], "Kenji": [{"rank": "5", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "River": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "clubs"}]}


game_id: b732579c-1b0f-4727-b8d6-e454ac31c86a
timestamp: 2026-01-25 15:12:25.047628
player_id: cpu_defd8ede
player_name: Marcus
action: swap
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: swapped 6 into position 2, replaced 9
hand_json:
[{"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}], "Kenji": [{"rank": "5", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "River": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "clubs"}]}


game_id: b732579c-1b0f-4727-b8d6-e454ac31c86a
timestamp: 2026-01-25 15:12:34.978069
player_id: cpu_4badf8eb
player_name: Maya
action: draw_deck
card_rank: J
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": false}]

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


game_id: b732579c-1b0f-4727-b8d6-e454ac31c86a
timestamp: 2026-01-25 15:12:36.525000
player_id: cpu_201a0045
player_name: Kenji
action: draw_deck
card_rank: 9
card_suit: spades
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}]

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


game_id: b732579c-1b0f-4727-b8d6-e454ac31c86a
timestamp: 2026-01-25 15:12:38.077435
player_id: cpu_a4f93561
player_name: River
action: draw_deck
card_rank: 9
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}], "Maya": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}], "Kenji": [{"rank": "5", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Marcus": [{"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}]}


game_id: b732579c-1b0f-4727-b8d6-e454ac31c86a
timestamp: 2026-01-25 15:12:39.719030
player_id: cpu_defd8ede
player_name: Marcus
action: draw_deck
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}], "Maya": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}], "Kenji": [{"rank": "5", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "River": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "clubs"}]}


game_id: b732579c-1b0f-4727-b8d6-e454ac31c86a
timestamp: 2026-01-25 15:12:40.459483
player_id: cpu_defd8ede
player_name: Marcus
action: swap
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: swapped 3 into position 2, replaced 6
hand_json:
[{"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}], "Maya": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}], "Kenji": [{"rank": "5", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "River": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "clubs"}]}


game_id: d5c7e18c-8612-408b-9f71-a44959f2370b
timestamp: 2026-01-25 15:28:03.480424
player_id: cpu_1368cb4d
player_name: Maya
action: draw_deck
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": false}]

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


game_id: d5c7e18c-8612-408b-9f71-a44959f2370b
timestamp: 2026-01-25 15:28:03.899902
player_id: cpu_1368cb4d
player_name: Maya
action: swap
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: swapped 2 into position 0, replaced 8
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": false}]

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


game_id: d5c7e18c-8612-408b-9f71-a44959f2370b
timestamp: 2026-01-25 15:28:05.017297
player_id: cpu_964defaf
player_name: River
action: draw_deck
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "10", "suit": "hearts"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}], "Maya": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "spades"}], "Priya": [{"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}], "Diego": [{"rank": "3", "suit": "diamonds"}, {"rank": "J", "suit": "clubs"}]}


game_id: d5c7e18c-8612-408b-9f71-a44959f2370b
timestamp: 2026-01-25 15:28:05.561023
player_id: cpu_964defaf
player_name: River
action: swap
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: swapped A into position 4, replaced 10
hand_json:
[{"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "10", "suit": "hearts"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}], "Maya": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "spades"}], "Priya": [{"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}], "Diego": [{"rank": "3", "suit": "diamonds"}, {"rank": "J", "suit": "clubs"}]}


game_id: d5c7e18c-8612-408b-9f71-a44959f2370b
timestamp: 2026-01-25 15:28:06.384175
player_id: cpu_6d6fe745
player_name: Priya
action: draw_deck
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}]

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


game_id: d5c7e18c-8612-408b-9f71-a44959f2370b
timestamp: 2026-01-25 15:28:07.384273
player_id: cpu_acf4d2db
player_name: Diego
action: take_discard
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: took 8 from discard
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}]

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


game_id: d5c7e18c-8612-408b-9f71-a44959f2370b
timestamp: 2026-01-25 15:28:08.031958
player_id: cpu_acf4d2db
player_name: Diego
action: swap
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: swapped 8 into position 4, replaced J
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}]

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


game_id: cbcbfc9c-187a-4178-bc87-5624888eb0e1
timestamp: 2026-01-25 15:29:02.269577
player_id: cpu_13ff133f
player_name: Maya
action: draw_deck
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}]

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


game_id: cbcbfc9c-187a-4178-bc87-5624888eb0e1
timestamp: 2026-01-25 15:29:02.686521
player_id: cpu_13ff133f
player_name: Maya
action: swap
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: swapped 5 into position 1, replaced 8
hand_json:
[{"rank": "3", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}]

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


game_id: cbcbfc9c-187a-4178-bc87-5624888eb0e1
timestamp: 2026-01-25 15:29:03.210423
player_id: cpu_9f8647ee
player_name: Diego
action: draw_deck
card_rank: J
card_suit: spades
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "10", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}]

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


game_id: cbcbfc9c-187a-4178-bc87-5624888eb0e1
timestamp: 2026-01-25 15:29:04.802062
player_id: cpu_d8c74d65
player_name: River
action: take_discard
card_rank: J
card_suit: spades
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: took J from discard
hand_json:
[{"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}]

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


game_id: cbcbfc9c-187a-4178-bc87-5624888eb0e1
timestamp: 2026-01-25 15:29:05.287261
player_id: cpu_d8c74d65
player_name: River
action: swap
card_rank: J
card_suit: spades
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: swapped J into position 0, replaced 9
hand_json:
[{"rank": "J", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}]

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


game_id: cbcbfc9c-187a-4178-bc87-5624888eb0e1
timestamp: 2026-01-25 15:29:06.288383
player_id: cpu_0a23d396
player_name: Marcus
action: draw_deck
card_rank: Q
card_suit: spades
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "9", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}]

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


game_id: cbcbfc9c-187a-4178-bc87-5624888eb0e1
timestamp: 2026-01-25 15:29:07.900404
player_id: cpu_066c9737
player_name: Sage
action: draw_deck
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": true}]

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


game_id: cbcbfc9c-187a-4178-bc87-5624888eb0e1
timestamp: 2026-01-25 15:29:08.667143
player_id: cpu_066c9737
player_name: Sage
action: swap
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: swapped 6 into position 5, replaced 9
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}]

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


game_id: 12207294-d4fe-41de-a04c-af12b6ef62c9
timestamp: 2026-01-25 15:38:57.240585
player_id: cpu_cf3f4e82
player_name: Sofia
action: take_discard
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "7", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "hearts"}, {"rank": "K", "suit": "spades"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "6", "suit": "diamonds"}], "River": [{"rank": "10", "suit": "spades"}, {"rank": "9", "suit": "spades"}], "Kenji": [{"rank": "6", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}]}


game_id: 12207294-d4fe-41de-a04c-af12b6ef62c9
timestamp: 2026-01-25 15:38:57.919323
player_id: cpu_cf3f4e82
player_name: Sofia
action: swap
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: swapped 7 into position 4, replaced 9
hand_json:
[{"rank": "7", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "hearts"}, {"rank": "K", "suit": "spades"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "6", "suit": "diamonds"}], "River": [{"rank": "10", "suit": "spades"}, {"rank": "9", "suit": "spades"}], "Kenji": [{"rank": "6", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}]}


game_id: 12207294-d4fe-41de-a04c-af12b6ef62c9
timestamp: 2026-01-25 15:38:58.925364
player_id: cpu_f783af7e
player_name: Priya
action: draw_deck
card_rank: Q
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "hearts"}, {"rank": "K", "suit": "spades"}], "Sofia": [{"rank": "4", "suit": "hearts"}, {"rank": "7", "suit": "hearts"}], "River": [{"rank": "10", "suit": "spades"}, {"rank": "9", "suit": "spades"}], "Kenji": [{"rank": "6", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}]}


game_id: 12207294-d4fe-41de-a04c-af12b6ef62c9
timestamp: 2026-01-25 15:39:00.737270
player_id: cpu_9ca7af66
player_name: River
action: draw_deck
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "hearts"}, {"rank": "K", "suit": "spades"}], "Sofia": [{"rank": "4", "suit": "hearts"}, {"rank": "7", "suit": "hearts"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "6", "suit": "diamonds"}], "Kenji": [{"rank": "6", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}]}


game_id: 12207294-d4fe-41de-a04c-af12b6ef62c9
timestamp: 2026-01-25 15:39:01.215595
player_id: cpu_9ca7af66
player_name: River
action: swap
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: swapped A into position 2, replaced 10
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "hearts"}, {"rank": "K", "suit": "spades"}], "Sofia": [{"rank": "4", "suit": "hearts"}, {"rank": "7", "suit": "hearts"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "6", "suit": "diamonds"}], "Kenji": [{"rank": "6", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}]}


game_id: 12207294-d4fe-41de-a04c-af12b6ef62c9
timestamp: 2026-01-25 15:39:02.095284
player_id: cpu_cdc9d535
player_name: Kenji
action: draw_deck
card_rank: Q
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "hearts"}, {"rank": "K", "suit": "spades"}], "Sofia": [{"rank": "4", "suit": "hearts"}, {"rank": "7", "suit": "hearts"}], "Priya": [{"rank": "K", "suit": "hearts"}, {"rank": "6", "suit": "diamonds"}], "River": [{"rank": "A", "suit": "hearts"}, {"rank": "9", "suit": "spades"}]}


game_id: b1092afa-8642-444c-9433-bfb0534c318a
timestamp: 2026-01-25 15:42:32.691717
player_id: cpu_92f9d5c4
player_name: Maya
action: draw_deck
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "4", "suit": "hearts"}, {"rank": "7", "suit": "spades"}, {"rank": "8", "suit": "clubs"}], "Diego": [{"rank": "A", "suit": "clubs"}, {"rank": "7", "suit": "clubs"}], "River": [{"rank": "5", "suit": "spades"}, {"rank": "3", "suit": "diamonds"}], "Sage": [{"rank": "K", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}]}


game_id: b1092afa-8642-444c-9433-bfb0534c318a
timestamp: 2026-01-25 15:42:33.335224
player_id: cpu_92f9d5c4
player_name: Maya
action: swap
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "clubs"}
decision_reason: swapped 2 into position 0, replaced 6
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "4", "suit": "hearts"}, {"rank": "7", "suit": "spades"}, {"rank": "8", "suit": "clubs"}], "Diego": [{"rank": "A", "suit": "clubs"}, {"rank": "7", "suit": "clubs"}], "River": [{"rank": "5", "suit": "spades"}, {"rank": "3", "suit": "diamonds"}], "Sage": [{"rank": "K", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}]}


game_id: b1092afa-8642-444c-9433-bfb0534c318a
timestamp: 2026-01-25 15:42:33.870409
player_id: cpu_89e86da5
player_name: Diego
action: take_discard
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}]

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


game_id: b1092afa-8642-444c-9433-bfb0534c318a
timestamp: 2026-01-25 15:42:34.589606
player_id: cpu_89e86da5
player_name: Diego
action: swap
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: swapped 6 into position 5, replaced 7
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}]

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


game_id: b1092afa-8642-444c-9433-bfb0534c318a
timestamp: 2026-01-25 15:42:35.662802
player_id: cpu_3cddedc9
player_name: River
action: draw_deck
card_rank: 9
card_suit: spades
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}]

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


game_id: b1092afa-8642-444c-9433-bfb0534c318a
timestamp: 2026-01-25 15:42:37.133344
player_id: cpu_0dbb6500
player_name: Sage
action: draw_deck
card_rank: 10
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}]

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


game_id: 768f7f5a-0d37-4531-b538-9941df568a9f
timestamp: 2026-01-25 15:46:15.272236
player_id: cpu_2939bf4d
player_name: Diego
action: draw_deck
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "K", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "6", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}, {"rank": "3", "suit": "clubs"}], "Sage": [{"rank": "J", "suit": "diamonds"}, {"rank": "8", "suit": "spades"}], "Marcus": [{"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "spades"}]}


game_id: 768f7f5a-0d37-4531-b538-9941df568a9f
timestamp: 2026-01-25 15:46:15.920172
player_id: cpu_2939bf4d
player_name: Diego
action: swap
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: swapped 5 into position 2, replaced 7
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "6", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}, {"rank": "3", "suit": "clubs"}], "Sage": [{"rank": "J", "suit": "diamonds"}, {"rank": "8", "suit": "spades"}], "Marcus": [{"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "spades"}]}


game_id: 768f7f5a-0d37-4531-b538-9941df568a9f
timestamp: 2026-01-25 15:46:16.919553
player_id: cpu_64709032
player_name: Sage
action: take_discard
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "K", "suit": "diamonds"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}]

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


game_id: 768f7f5a-0d37-4531-b538-9941df568a9f
timestamp: 2026-01-25 15:46:17.541076
player_id: cpu_64709032
player_name: Sage
action: swap
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: swapped 7 into position 0, replaced J
hand_json:
[{"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}]

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


game_id: 768f7f5a-0d37-4531-b538-9941df568a9f
timestamp: 2026-01-25 15:46:18.609016
player_id: cpu_2169ac19
player_name: Marcus
action: draw_deck
card_rank: 9
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "6", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "Sage": [{"rank": "7", "suit": "diamonds"}, {"rank": "8", "suit": "spades"}]}


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:50:57.216172
player_id: cpu_4495a132
player_name: Maya
action: take_discard
card_rank: Q
card_suit: diamonds
decision_reason: took Q from discard
hand_json:
[{"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}]

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


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:50:57.769319
player_id: cpu_4495a132
player_name: Maya
action: swap
card_rank: Q
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: swapped Q into position 1, replaced 10
hand_json:
[{"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}]

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


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:50:58.338434
player_id: cpu_09c63867
player_name: Diego
action: take_discard
card_rank: 10
card_suit: clubs
decision_reason: took 10 from discard
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}]

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


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:50:59.134436
player_id: cpu_09c63867
player_name: Diego
action: swap
card_rank: 10
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: swapped 10 into position 5, replaced J
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": true}]

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


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:51:00.238522
player_id: cpu_0e9ed9bc
player_name: River
action: draw_deck
card_rank: Q
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}]

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


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:51:01.984033
player_id: cpu_bc150f63
player_name: Marcus
action: draw_deck
card_rank: 10
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "9", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}]

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


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:51:11.085341
player_id: cpu_4495a132
player_name: Maya
action: draw_deck
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}]

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


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:51:11.808999
player_id: cpu_4495a132
player_name: Maya
action: swap
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "K", "suit": "hearts"}
decision_reason: swapped 4 into position 3, replaced K
hand_json:
[{"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}]

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


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:51:12.364499
player_id: cpu_09c63867
player_name: Diego
action: take_discard
card_rank: K
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: took K from discard
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": true}]

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


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:51:12.840792
player_id: cpu_09c63867
player_name: Diego
action: swap
card_rank: K
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: swapped K into position 2, replaced 10
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": true}]

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


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:51:14.112572
player_id: cpu_0e9ed9bc
player_name: River
action: draw_deck
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}]

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


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:51:14.717413
player_id: cpu_0e9ed9bc
player_name: River
action: swap
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: swapped 7 into position 5, replaced 8
hand_json:
[{"rank": "5", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}]

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


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:51:15.924583
player_id: cpu_bc150f63
player_name: Marcus
action: draw_deck
card_rank: 10
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "9", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}]

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


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:51:26.977778
player_id: cpu_4495a132
player_name: Maya
action: draw_deck
card_rank: 10
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}]

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


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:51:28.419094
player_id: cpu_09c63867
player_name: Diego
action: draw_deck
card_rank: J
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": true}]

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


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:51:30.559847
player_id: cpu_0e9ed9bc
player_name: River
action: swap
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: swapped 6 into position 5, replaced 7
hand_json:
[{"rank": "5", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}]


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:51:31.516402
player_id: cpu_bc150f63
player_name: Marcus
action: take_discard
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: took 7 from discard
visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "A", "suit": "clubs"}, {"rank": "8", "suit": "hearts"}], "Maya": [{"rank": "4", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}, {"rank": "Q", "suit": "clubs"}], "Diego": [{"rank": "K", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}, {"rank": "10", "suit": "clubs"}], "River": [{"rank": "5", "suit": "spades"}, {"rank": "6", "suit": "spades"}]}


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:51:32.218704
player_id: cpu_bc150f63
player_name: Marcus
action: swap
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "A", "suit": "hearts"}
decision_reason: swapped 7 into position 5, replaced A
hand_json:
[{"rank": "9", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}]

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


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:51:36.421541
player_id: cpu_4495a132
player_name: Maya
action: take_discard
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: took 5 from discard
visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "A", "suit": "hearts"}, {"rank": "A", "suit": "clubs"}, {"rank": "8", "suit": "hearts"}], "Diego": [{"rank": "K", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}, {"rank": "10", "suit": "clubs"}], "River": [{"rank": "5", "suit": "spades"}, {"rank": "6", "suit": "spades"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}, {"rank": "7", "suit": "spades"}]}


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:51:37.225300
player_id: cpu_4495a132
player_name: Maya
action: swap
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: swapped 5 into position 1, replaced Q
hand_json:
[{"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}]

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


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:51:38.076158
player_id: cpu_09c63867
player_name: Diego
action: draw_deck
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "spades"}, {"rank": "A", "suit": "hearts"}, {"rank": "A", "suit": "clubs"}, {"rank": "8", "suit": "hearts"}], "Maya": [{"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}, {"rank": "Q", "suit": "clubs"}], "River": [{"rank": "5", "suit": "spades"}, {"rank": "6", "suit": "spades"}], "Marcus": [{"rank": "3", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}, {"rank": "7", "suit": "spades"}]}


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:51:38.858413
player_id: cpu_09c63867
player_name: Diego
action: swap
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: swapped K into position 5, replaced 10
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}]

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


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:51:40.080970
player_id: cpu_0e9ed9bc
player_name: River
action: draw_deck
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}]

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


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:51:40.567907
player_id: cpu_0e9ed9bc
player_name: River
action: swap
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "spades"}
decision_reason: swapped 4 into position 5, replaced 6
hand_json:
[{"rank": "5", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}]

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


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:51:41.563092
player_id: cpu_bc150f63
player_name: Marcus
action: take_discard
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "9", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}]

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


game_id: fd9ed588-b55d-463e-a7ca-10f5feedae6e
timestamp: 2026-01-25 15:51:42.304793
player_id: cpu_bc150f63
player_name: Marcus
action: swap
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: swapped 6 into position 5, replaced 7
hand_json:
[{"rank": "9", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": true}]

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


game_id: ca49fae3-dafc-4df7-a0b9-0087834fd64c
timestamp: 2026-01-25 15:58:09.915869
player_id: cpu_5c0560ec
player_name: Maya
action: draw_deck
card_rank: 9
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "8", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Diego": [{"rank": "10", "suit": "diamonds"}, {"rank": "J", "suit": "hearts"}], "River": [{"rank": "5", "suit": "clubs"}, {"rank": "Q", "suit": "spades"}], "Sage": [{"rank": "8", "suit": "clubs"}, {"rank": "9", "suit": "clubs"}]}


game_id: ca49fae3-dafc-4df7-a0b9-0087834fd64c
timestamp: 2026-01-25 15:58:10.469518
player_id: cpu_5c0560ec
player_name: Maya
action: swap
card_rank: 9
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: swapped 9 into position 5, replaced J
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "8", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Diego": [{"rank": "10", "suit": "diamonds"}, {"rank": "J", "suit": "hearts"}], "River": [{"rank": "5", "suit": "clubs"}, {"rank": "Q", "suit": "spades"}], "Sage": [{"rank": "8", "suit": "clubs"}, {"rank": "9", "suit": "clubs"}]}


game_id: ca49fae3-dafc-4df7-a0b9-0087834fd64c
timestamp: 2026-01-25 15:58:10.975987
player_id: cpu_7d59f55d
player_name: Diego
action: take_discard
card_rank: J
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: took J from discard
hand_json:
[{"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "8", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Maya": [{"rank": "6", "suit": "diamonds"}, {"rank": "9", "suit": "hearts"}], "River": [{"rank": "5", "suit": "clubs"}, {"rank": "Q", "suit": "spades"}], "Sage": [{"rank": "8", "suit": "clubs"}, {"rank": "9", "suit": "clubs"}]}


game_id: ca49fae3-dafc-4df7-a0b9-0087834fd64c
timestamp: 2026-01-25 15:58:11.763907
player_id: cpu_7d59f55d
player_name: Diego
action: swap
card_rank: J
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: swapped J into position 2, replaced J
hand_json:
[{"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "8", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Maya": [{"rank": "6", "suit": "diamonds"}, {"rank": "9", "suit": "hearts"}], "River": [{"rank": "5", "suit": "clubs"}, {"rank": "Q", "suit": "spades"}], "Sage": [{"rank": "8", "suit": "clubs"}, {"rank": "9", "suit": "clubs"}]}


game_id: ca49fae3-dafc-4df7-a0b9-0087834fd64c
timestamp: 2026-01-25 15:58:12.989633
player_id: cpu_2b5b9a52
player_name: River
action: draw_deck
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "8", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Maya": [{"rank": "6", "suit": "diamonds"}, {"rank": "9", "suit": "hearts"}], "Diego": [{"rank": "10", "suit": "diamonds"}, {"rank": "J", "suit": "diamonds"}, {"rank": "J", "suit": "hearts"}], "Sage": [{"rank": "8", "suit": "clubs"}, {"rank": "9", "suit": "clubs"}]}


game_id: ca49fae3-dafc-4df7-a0b9-0087834fd64c
timestamp: 2026-01-25 15:58:13.635605
player_id: cpu_2b5b9a52
player_name: River
action: swap
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: swapped K into position 4, replaced Q
hand_json:
[{"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "8", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Maya": [{"rank": "6", "suit": "diamonds"}, {"rank": "9", "suit": "hearts"}], "Diego": [{"rank": "10", "suit": "diamonds"}, {"rank": "J", "suit": "diamonds"}, {"rank": "J", "suit": "hearts"}], "Sage": [{"rank": "8", "suit": "clubs"}, {"rank": "9", "suit": "clubs"}]}


game_id: ca49fae3-dafc-4df7-a0b9-0087834fd64c
timestamp: 2026-01-25 15:58:14.473508
player_id: cpu_ff126ddb
player_name: Sage
action: draw_deck
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "8", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Maya": [{"rank": "6", "suit": "diamonds"}, {"rank": "9", "suit": "hearts"}], "Diego": [{"rank": "10", "suit": "diamonds"}, {"rank": "J", "suit": "diamonds"}, {"rank": "J", "suit": "hearts"}], "River": [{"rank": "5", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}]}


game_id: ca49fae3-dafc-4df7-a0b9-0087834fd64c
timestamp: 2026-01-25 15:58:14.988654
player_id: cpu_ff126ddb
player_name: Sage
action: swap
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: swapped 2 into position 4, replaced 9
hand_json:
[{"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "8", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Maya": [{"rank": "6", "suit": "diamonds"}, {"rank": "9", "suit": "hearts"}], "Diego": [{"rank": "10", "suit": "diamonds"}, {"rank": "J", "suit": "diamonds"}, {"rank": "J", "suit": "hearts"}], "River": [{"rank": "5", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}]}


game_id: 16c1e9ef-4810-4ec4-b33a-0306627a2e16
timestamp: 2026-01-25 15:59:42.607404
player_id: cpu_02bee688
player_name: Diego
action: draw_deck
card_rank: K
card_suit: diamonds
discard_top_json: {"rank": "5", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}]

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


game_id: 16c1e9ef-4810-4ec4-b33a-0306627a2e16
timestamp: 2026-01-25 15:59:43.103047
player_id: cpu_02bee688
player_name: Diego
action: swap
card_rank: K
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: swapped K into position 4, replaced 7
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}]

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


game_id: 16c1e9ef-4810-4ec4-b33a-0306627a2e16
timestamp: 2026-01-25 15:59:44.325886
player_id: cpu_e0ee6c33
player_name: River
action: draw_deck
card_rank: K
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "7", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}], "Diego": [{"rank": "5", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}], "Sage": [{"rank": "3", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 16c1e9ef-4810-4ec4-b33a-0306627a2e16
timestamp: 2026-01-25 15:59:44.988399
player_id: cpu_e0ee6c33
player_name: River
action: swap
card_rank: K
card_suit: hearts
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: swapped K into position 5, replaced 4
hand_json:
[{"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "7", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}], "Diego": [{"rank": "5", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}], "Sage": [{"rank": "3", "suit": "hearts"}, {"rank": "K", "suit": "spades"}]}


game_id: 16c1e9ef-4810-4ec4-b33a-0306627a2e16
timestamp: 2026-01-25 15:59:46.228226
player_id: cpu_107bd0f3
player_name: Sage
action: take_discard
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}]

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


game_id: 16c1e9ef-4810-4ec4-b33a-0306627a2e16
timestamp: 2026-01-25 15:59:46.929782
player_id: cpu_107bd0f3
player_name: Sage
action: swap
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "6", "suit": "clubs"}
decision_reason: swapped 4 into position 5, replaced 6
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}]

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


game_id: d835f17e-a41a-4770-b03a-7afd6bf2b86f
timestamp: 2026-01-25 16:00:47.731308
player_id: cpu_c88565ea
player_name: Sofia
action: draw_deck
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Diego": [{"rank": "J", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Marcus": [{"rank": "J", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}]}


game_id: d835f17e-a41a-4770-b03a-7afd6bf2b86f
timestamp: 2026-01-25 16:00:48.235011
player_id: cpu_c88565ea
player_name: Sofia
action: swap
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: swapped K into position 1, replaced 9
hand_json:
[{"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Diego": [{"rank": "J", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Marcus": [{"rank": "J", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}]}


game_id: d835f17e-a41a-4770-b03a-7afd6bf2b86f
timestamp: 2026-01-25 16:00:49.403027
player_id: cpu_df3cd10d
player_name: Kenji
action: draw_deck
card_rank: A
card_suit: spades
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": false}]

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


game_id: d835f17e-a41a-4770-b03a-7afd6bf2b86f
timestamp: 2026-01-25 16:00:49.823175
player_id: cpu_df3cd10d
player_name: Kenji
action: swap
card_rank: A
card_suit: spades
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: swapped A into position 4, replaced 8
hand_json:
[{"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": false}]

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


game_id: d835f17e-a41a-4770-b03a-7afd6bf2b86f
timestamp: 2026-01-25 16:00:50.669076
player_id: cpu_0058771a
player_name: Diego
action: take_discard
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: took 8 from discard
hand_json:
[{"rank": "J", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}]

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


game_id: d835f17e-a41a-4770-b03a-7afd6bf2b86f
timestamp: 2026-01-25 16:00:51.249109
player_id: cpu_0058771a
player_name: Diego
action: swap
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: swapped 8 into position 0, replaced J
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}]

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


game_id: d835f17e-a41a-4770-b03a-7afd6bf2b86f
timestamp: 2026-01-25 16:00:52.497884
player_id: cpu_8f375a27
player_name: Marcus
action: take_discard
card_rank: J
card_suit: spades
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: took J from discard
hand_json:
[{"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Sofia": [{"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}], "Diego": [{"rank": "8", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}]}


game_id: d835f17e-a41a-4770-b03a-7afd6bf2b86f
timestamp: 2026-01-25 16:00:52.958714
player_id: cpu_8f375a27
player_name: Marcus
action: swap
card_rank: J
card_suit: spades
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: swapped J into position 4, replaced 8
hand_json:
[{"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Sofia": [{"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}], "Diego": [{"rank": "8", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}]}


game_id: d835f17e-a41a-4770-b03a-7afd6bf2b86f
timestamp: 2026-01-25 16:01:00.411543
player_id: cpu_c88565ea
player_name: Sofia
action: draw_deck
card_rank: K
card_suit: spades
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}], "Diego": [{"rank": "8", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}], "Marcus": [{"rank": "J", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "J", "suit": "spades"}]}


game_id: d835f17e-a41a-4770-b03a-7afd6bf2b86f
timestamp: 2026-01-25 16:01:01.168175
player_id: cpu_c88565ea
player_name: Sofia
action: swap
card_rank: K
card_suit: spades
discard_top_json: {"rank": "4", "suit": "clubs"}
decision_reason: swapped K into position 3, replaced 4
hand_json:
[{"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}], "Diego": [{"rank": "8", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}], "Marcus": [{"rank": "J", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "J", "suit": "spades"}]}


game_id: d835f17e-a41a-4770-b03a-7afd6bf2b86f
timestamp: 2026-01-25 16:01:02.226800
player_id: cpu_df3cd10d
player_name: Kenji
action: draw_deck
card_rank: 10
card_suit: diamonds
discard_top_json: {"rank": "4", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Sofia": [{"rank": "K", "suit": "clubs"}, {"rank": "K", "suit": "spades"}], "Diego": [{"rank": "8", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}], "Marcus": [{"rank": "J", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "J", "suit": "spades"}]}


game_id: d835f17e-a41a-4770-b03a-7afd6bf2b86f
timestamp: 2026-01-25 16:01:03.419193
player_id: cpu_0058771a
player_name: Diego
action: draw_deck
card_rank: 10
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}]

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


game_id: d835f17e-a41a-4770-b03a-7afd6bf2b86f
timestamp: 2026-01-25 16:01:04.997323
player_id: cpu_8f375a27
player_name: Marcus
action: draw_deck
card_rank: 9
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Sofia": [{"rank": "K", "suit": "clubs"}, {"rank": "K", "suit": "spades"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}], "Diego": [{"rank": "8", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}]}


game_id: d835f17e-a41a-4770-b03a-7afd6bf2b86f
timestamp: 2026-01-25 16:01:05.771962
player_id: cpu_8f375a27
player_name: Marcus
action: swap
card_rank: 9
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: swapped 9 into position 1, replaced J
hand_json:
[{"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Sofia": [{"rank": "K", "suit": "clubs"}, {"rank": "K", "suit": "spades"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}], "Diego": [{"rank": "8", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}]}


game_id: d835f17e-a41a-4770-b03a-7afd6bf2b86f
timestamp: 2026-01-25 16:01:10.020618
player_id: cpu_c88565ea
player_name: Sofia
action: draw_deck
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "hearts"}, {"rank": "A", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}], "Diego": [{"rank": "8", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}], "Marcus": [{"rank": "9", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "J", "suit": "spades"}]}


game_id: d835f17e-a41a-4770-b03a-7afd6bf2b86f
timestamp: 2026-01-25 16:01:11.764367
player_id: cpu_df3cd10d
player_name: Kenji
action: take_discard
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: took 5 from discard
visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "hearts"}, {"rank": "A", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Sofia": [{"rank": "K", "suit": "clubs"}, {"rank": "K", "suit": "spades"}], "Diego": [{"rank": "8", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}], "Marcus": [{"rank": "9", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "J", "suit": "spades"}]}


game_id: d835f17e-a41a-4770-b03a-7afd6bf2b86f
timestamp: 2026-01-25 16:01:12.474202
player_id: cpu_df3cd10d
player_name: Kenji
action: swap
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: swapped 5 into position 0, replaced 7
hand_json:
[{"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "hearts"}, {"rank": "A", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Sofia": [{"rank": "K", "suit": "clubs"}, {"rank": "K", "suit": "spades"}], "Diego": [{"rank": "8", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}], "Marcus": [{"rank": "9", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "J", "suit": "spades"}]}


game_id: d835f17e-a41a-4770-b03a-7afd6bf2b86f
timestamp: 2026-01-25 16:01:13.595646
player_id: cpu_0058771a
player_name: Diego
action: draw_deck
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "hearts"}, {"rank": "A", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Sofia": [{"rank": "K", "suit": "clubs"}, {"rank": "K", "suit": "spades"}], "Kenji": [{"rank": "5", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}], "Marcus": [{"rank": "9", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "J", "suit": "spades"}]}


game_id: d835f17e-a41a-4770-b03a-7afd6bf2b86f
timestamp: 2026-01-25 16:01:14.297966
player_id: cpu_0058771a
player_name: Diego
action: swap
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: swapped 5 into position 0, replaced 8
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "hearts"}, {"rank": "A", "suit": "clubs"}, {"rank": "4", "suit": "diamonds"}], "Sofia": [{"rank": "K", "suit": "clubs"}, {"rank": "K", "suit": "spades"}], "Kenji": [{"rank": "5", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}], "Marcus": [{"rank": "9", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "J", "suit": "spades"}]}


game_id: d835f17e-a41a-4770-b03a-7afd6bf2b86f
timestamp: 2026-01-25 16:01:15.203549
player_id: cpu_8f375a27
player_name: Marcus
action: take_discard
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: took 8 from discard
hand_json:
[{"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}]

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


game_id: d835f17e-a41a-4770-b03a-7afd6bf2b86f
timestamp: 2026-01-25 16:01:15.968714
player_id: cpu_8f375a27
player_name: Marcus
action: swap
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: swapped 8 into position 4, replaced J
hand_json:
[{"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:05:52.209021
player_id: cpu_792c0779
player_name: Maya
action: take_discard
card_rank: 2
card_suit: hearts
decision_reason: took 2 from discard
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Diego": [{"rank": "10", "suit": "diamonds"}, {"rank": "8", "suit": "clubs"}], "River": [{"rank": "8", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}], "Priya": [{"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Sage": [{"rank": "2", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}]}


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:05:52.849438
player_id: cpu_792c0779
player_name: Maya
action: swap
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: swapped 2 into position 1, replaced 9
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Diego": [{"rank": "10", "suit": "diamonds"}, {"rank": "8", "suit": "clubs"}], "River": [{"rank": "8", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}], "Priya": [{"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Sage": [{"rank": "2", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}]}


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:05:53.902832
player_id: cpu_903aa267
player_name: Diego
action: draw_deck
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Maya": [{"rank": "2", "suit": "hearts"}, {"rank": "6", "suit": "spades"}], "River": [{"rank": "8", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}], "Priya": [{"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Sage": [{"rank": "2", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}]}


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:05:54.583533
player_id: cpu_903aa267
player_name: Diego
action: swap
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: swapped 7 into position 2, replaced 10
hand_json:
[{"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Maya": [{"rank": "2", "suit": "hearts"}, {"rank": "6", "suit": "spades"}], "River": [{"rank": "8", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}], "Priya": [{"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Sage": [{"rank": "2", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}]}


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:05:55.682038
player_id: cpu_c59ebc04
player_name: River
action: draw_deck
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Maya": [{"rank": "2", "suit": "hearts"}, {"rank": "6", "suit": "spades"}], "Diego": [{"rank": "7", "suit": "diamonds"}, {"rank": "8", "suit": "clubs"}], "Priya": [{"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Sage": [{"rank": "2", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}]}


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:05:56.096330
player_id: cpu_c59ebc04
player_name: River
action: swap
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: swapped 6 into position 2, replaced 8
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Maya": [{"rank": "2", "suit": "hearts"}, {"rank": "6", "suit": "spades"}], "Diego": [{"rank": "7", "suit": "diamonds"}, {"rank": "8", "suit": "clubs"}], "Priya": [{"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Sage": [{"rank": "2", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}]}


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:05:57.351058
player_id: cpu_61927346
player_name: Priya
action: take_discard
card_rank: 8
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: took 8 from discard
hand_json:
[{"rank": "3", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Maya": [{"rank": "2", "suit": "hearts"}, {"rank": "6", "suit": "spades"}], "Diego": [{"rank": "7", "suit": "diamonds"}, {"rank": "8", "suit": "clubs"}], "River": [{"rank": "6", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}], "Sage": [{"rank": "2", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}]}


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:05:57.798449
player_id: cpu_61927346
player_name: Priya
action: swap
card_rank: 8
card_suit: clubs
discard_top_json: {"rank": "3", "suit": "spades"}
decision_reason: swapped 8 into position 0, replaced 3
hand_json:
[{"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Maya": [{"rank": "2", "suit": "hearts"}, {"rank": "6", "suit": "spades"}], "Diego": [{"rank": "7", "suit": "diamonds"}, {"rank": "8", "suit": "clubs"}], "River": [{"rank": "6", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}], "Sage": [{"rank": "2", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}]}


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:05:58.913665
player_id: cpu_da76ac51
player_name: Sage
action: take_discard
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:05:59.502631
player_id: cpu_da76ac51
player_name: Sage
action: swap
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: swapped 3 into position 5, replaced 7
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:06:05.025650
player_id: cpu_792c0779
player_name: Maya
action: draw_deck
card_rank: 9
card_suit: spades
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "7", "suit": "diamonds"}, {"rank": "8", "suit": "clubs"}], "River": [{"rank": "6", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}], "Priya": [{"rank": "8", "suit": "clubs"}, {"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Sage": [{"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}]}


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:06:06.462265
player_id: cpu_903aa267
player_name: Diego
action: draw_deck
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "2", "suit": "hearts"}, {"rank": "6", "suit": "spades"}], "River": [{"rank": "6", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}], "Priya": [{"rank": "8", "suit": "clubs"}, {"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Sage": [{"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}]}


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:06:07.208232
player_id: cpu_903aa267
player_name: Diego
action: swap
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: swapped 2 into position 3, replaced 8
hand_json:
[{"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "2", "suit": "hearts"}, {"rank": "6", "suit": "spades"}], "River": [{"rank": "6", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}], "Priya": [{"rank": "8", "suit": "clubs"}, {"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Sage": [{"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}]}


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:06:08.320891
player_id: cpu_c59ebc04
player_name: River
action: draw_deck
card_rank: Q
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "2", "suit": "hearts"}, {"rank": "6", "suit": "spades"}], "Diego": [{"rank": "7", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}], "Priya": [{"rank": "8", "suit": "clubs"}, {"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Sage": [{"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}]}


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:06:09.574428
player_id: cpu_61927346
player_name: Priya
action: draw_deck
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:06:10.287390
player_id: cpu_61927346
player_name: Priya
action: swap
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: swapped 4 into position 0, replaced 8
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:06:11.427756
player_id: cpu_da76ac51
player_name: Sage
action: draw_deck
card_rank: J
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:06:21.746819
player_id: cpu_792c0779
player_name: Maya
action: draw_deck
card_rank: 9
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "7", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}], "River": [{"rank": "6", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Sage": [{"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}]}


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:06:23.315185
player_id: cpu_903aa267
player_name: Diego
action: draw_deck
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "2", "suit": "hearts"}, {"rank": "6", "suit": "spades"}], "River": [{"rank": "6", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Sage": [{"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}]}


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:06:23.739936
player_id: cpu_903aa267
player_name: Diego
action: swap
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: swapped 4 into position 2, replaced 7
hand_json:
[{"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "2", "suit": "hearts"}, {"rank": "6", "suit": "spades"}], "River": [{"rank": "6", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Sage": [{"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}]}


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:06:24.794747
player_id: cpu_c59ebc04
player_name: River
action: draw_deck
card_rank: J
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "2", "suit": "hearts"}, {"rank": "6", "suit": "spades"}], "Diego": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Sage": [{"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}]}


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:06:26.363529
player_id: cpu_61927346
player_name: Priya
action: draw_deck
card_rank: Q
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:06:28.082653
player_id: cpu_da76ac51
player_name: Sage
action: draw_deck
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "2", "suit": "hearts"}, {"rank": "6", "suit": "spades"}], "Diego": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "River": [{"rank": "6", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "spades"}]}


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:06:37.409220
player_id: cpu_792c0779
player_name: Maya
action: take_discard
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: took 7 from discard
visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "River": [{"rank": "6", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Sage": [{"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}]}


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:06:38.084336
player_id: cpu_792c0779
player_name: Maya
action: swap
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "K", "suit": "hearts"}
decision_reason: swapped 7 into position 5, replaced K
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Diego": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "River": [{"rank": "6", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Sage": [{"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}]}


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:06:38.555588
player_id: cpu_903aa267
player_name: Diego
action: draw_deck
card_rank: 10
card_suit: hearts
discard_top_json: {"rank": "K", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": false}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:06:40.594139
player_id: cpu_c59ebc04
player_name: River
action: draw_deck
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "2", "suit": "hearts"}, {"rank": "6", "suit": "spades"}, {"rank": "7", "suit": "hearts"}], "Diego": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Sage": [{"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}]}


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:06:41.030492
player_id: cpu_c59ebc04
player_name: River
action: swap
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "6", "suit": "clubs"}
decision_reason: swapped 3 into position 2, replaced 6
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "2", "suit": "hearts"}, {"rank": "6", "suit": "spades"}, {"rank": "7", "suit": "hearts"}], "Diego": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "spades"}], "Sage": [{"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}]}


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:06:41.959502
player_id: cpu_61927346
player_name: Priya
action: take_discard
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: took 6 from discard
visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "2", "suit": "hearts"}, {"rank": "6", "suit": "spades"}, {"rank": "7", "suit": "hearts"}], "Diego": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "River": [{"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}], "Sage": [{"rank": "2", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}]}


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:06:42.473074
player_id: cpu_61927346
player_name: Priya
action: swap
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: swapped 6 into position 4, replaced J
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:06:43.298473
player_id: cpu_da76ac51
player_name: Sage
action: draw_deck
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "2", "suit": "hearts"}, {"rank": "6", "suit": "spades"}, {"rank": "7", "suit": "hearts"}], "Diego": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "River": [{"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "6", "suit": "clubs"}]}


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:06:43.976468
player_id: cpu_da76ac51
player_name: Sage
action: swap
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "3", "suit": "spades"}
decision_reason: swapped A into position 5, replaced 3
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:08:49.478219
player_id: cpu_792c0779
player_name: Maya
action: draw_deck
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:08:49.918496
player_id: cpu_792c0779
player_name: Maya
action: swap
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: swapped K into position 5, replaced 7
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:08:51.116575
player_id: cpu_903aa267
player_name: Diego
action: take_discard
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: took 7 from discard
visible_opponents_json:
{"adlee": [{"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Maya": [{"rank": "2", "suit": "hearts"}, {"rank": "6", "suit": "spades"}, {"rank": "K", "suit": "clubs"}], "River": [{"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Sage": [{"rank": "2", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}]}


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:08:51.603803
player_id: cpu_903aa267
player_name: Diego
action: swap
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "3", "suit": "diamonds"}
decision_reason: swapped 7 into position 4, replaced 3
hand_json:
[{"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:08:52.539263
player_id: cpu_c59ebc04
player_name: River
action: take_discard
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:08:53.289224
player_id: cpu_c59ebc04
player_name: River
action: swap
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "2", "suit": "clubs"}
decision_reason: swapped 3 into position 5, replaced 2
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:08:54.321941
player_id: cpu_61927346
player_name: Priya
action: take_discard
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: took 2 from discard
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:08:55.106189
player_id: cpu_61927346
player_name: Priya
action: swap
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: swapped 2 into position 3, replaced 8
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:08:55.982972
player_id: cpu_da76ac51
player_name: Sage
action: draw_deck
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:08:56.647936
player_id: cpu_da76ac51
player_name: Sage
action: swap
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: swapped 7 into position 4, replaced 7
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:09:50.768337
player_id: cpu_792c0779
player_name: Maya
action: draw_deck
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:09:51.368346
player_id: cpu_792c0779
player_name: Maya
action: swap
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "6", "suit": "spades"}
decision_reason: swapped 2 into position 3, replaced 6
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:09:52.346838
player_id: cpu_903aa267
player_name: Diego
action: take_discard
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:09:52.967367
player_id: cpu_903aa267
player_name: Diego
action: swap
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: swapped 6 into position 4, replaced 7
hand_json:
[{"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:09:54.077167
player_id: cpu_c59ebc04
player_name: River
action: take_discard
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:09:54.515593
player_id: cpu_c59ebc04
player_name: River
action: swap
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "A", "suit": "clubs"}
decision_reason: swapped 7 into position 4, replaced A
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:09:55.447836
player_id: cpu_61927346
player_name: Priya
action: take_discard
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: took A from discard
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:09:56.010051
player_id: cpu_61927346
player_name: Priya
action: swap
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "clubs"}
decision_reason: swapped A into position 1, replaced 6
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:09:57.138122
player_id: cpu_da76ac51
player_name: Sage
action: take_discard
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:09:57.907837
player_id: cpu_da76ac51
player_name: Sage
action: swap
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: swapped 6 into position 4, replaced 7
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:10:10.542803
player_id: cpu_792c0779
player_name: Maya
action: draw_deck
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:10:11.009491
player_id: cpu_792c0779
player_name: Maya
action: swap
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: swapped 3 into position 2, replaced J
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:10:11.981525
player_id: cpu_903aa267
player_name: Diego
action: draw_deck
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:10:12.498103
player_id: cpu_903aa267
player_name: Diego
action: swap
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "spades"}
decision_reason: swapped 5 into position 4, replaced 6
hand_json:
[{"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:10:13.343443
player_id: cpu_c59ebc04
player_name: River
action: take_discard
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:10:13.922135
player_id: cpu_c59ebc04
player_name: River
action: swap
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: swapped 6 into position 4, replaced 7
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:10:14.952873
player_id: cpu_61927346
player_name: Priya
action: take_discard
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:10:15.449426
player_id: cpu_61927346
player_name: Priya
action: swap
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: swapped 7 into position 5, replaced J
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:10:16.376287
player_id: cpu_da76ac51
player_name: Sage
action: draw_deck
card_rank: 9
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": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:10:17.008243
player_id: cpu_da76ac51
player_name: Sage
action: swap
card_rank: 9
card_suit: diamonds
discard_top_json: {"rank": "5", "suit": "hearts"}
decision_reason: swapped 9 into position 1, replaced 5
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:10:24.764163
player_id: cpu_792c0779
player_name: Maya
action: take_discard
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:10:25.476033
player_id: cpu_792c0779
player_name: Maya
action: swap
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "5", "suit": "clubs"}
decision_reason: swapped 3 into position 0, replaced 5
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:10:26.471653
player_id: cpu_903aa267
player_name: Diego
action: take_discard
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:10:26.945114
player_id: cpu_903aa267
player_name: Diego
action: swap
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: swapped 5 into position 0, replaced J
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:10:28.086366
player_id: cpu_c59ebc04
player_name: River
action: draw_deck
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:10:28.757144
player_id: cpu_c59ebc04
player_name: River
action: swap
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "2", "suit": "diamonds"}
decision_reason: swapped 6 into position 1, replaced 2
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:10:29.750314
player_id: cpu_61927346
player_name: Priya
action: take_discard
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: took 2 from discard
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:10:30.505531
player_id: cpu_61927346
player_name: Priya
action: swap
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: swapped 2 into position 5, replaced 7
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:10:31.473448
player_id: cpu_da76ac51
player_name: Sage
action: take_discard
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}]

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


game_id: 6bd71c7d-248e-4ce7-aa0c-d9602de9246b
timestamp: 2026-01-25 16:10:32.010709
player_id: cpu_da76ac51
player_name: Sage
action: swap
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: swapped 7 into position 3, replaced 4
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}]

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


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:16:53.619080
player_id: cpu_5971d368
player_name: Maya
action: draw_deck
card_rank: Q
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "\u2605", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}], "Diego": [{"rank": "9", "suit": "spades"}, {"rank": "10", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Marcus": [{"rank": "5", "suit": "diamonds"}, {"rank": "9", "suit": "diamonds"}]}


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:16:54.512378
player_id: cpu_170c2c30
player_name: Diego
action: draw_deck
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}], "Maya": [{"rank": "2", "suit": "clubs"}, {"rank": "\u2605", "suit": "hearts"}], "River": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Marcus": [{"rank": "5", "suit": "diamonds"}, {"rank": "9", "suit": "diamonds"}]}


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:16:54.921578
player_id: cpu_170c2c30
player_name: Diego
action: swap
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: swapped 5 into position 3, replaced 10
hand_json:
[{"rank": "4", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}], "Maya": [{"rank": "2", "suit": "clubs"}, {"rank": "\u2605", "suit": "hearts"}], "River": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Marcus": [{"rank": "5", "suit": "diamonds"}, {"rank": "9", "suit": "diamonds"}]}


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:16:55.855451
player_id: cpu_43ca1cb4
player_name: River
action: draw_deck
card_rank: 10
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}], "Maya": [{"rank": "2", "suit": "clubs"}, {"rank": "\u2605", "suit": "hearts"}], "Diego": [{"rank": "9", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "5", "suit": "diamonds"}, {"rank": "9", "suit": "diamonds"}]}


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:16:57.405945
player_id: cpu_587ddcfb
player_name: Marcus
action: draw_deck
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}], "Maya": [{"rank": "2", "suit": "clubs"}, {"rank": "\u2605", "suit": "hearts"}], "Diego": [{"rank": "9", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}]}


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:16:58.120131
player_id: cpu_587ddcfb
player_name: Marcus
action: swap
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: swapped 2 into position 3, replaced 9
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}], "Maya": [{"rank": "2", "suit": "clubs"}, {"rank": "\u2605", "suit": "hearts"}], "Diego": [{"rank": "9", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}]}


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:17:30.254679
player_id: cpu_5971d368
player_name: Maya
action: take_discard
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "\u2605", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "diamonds"}, {"rank": "J", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}], "Diego": [{"rank": "9", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Marcus": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:17:30.791104
player_id: cpu_5971d368
player_name: Maya
action: swap
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: swapped 5 into position 4, replaced 6
hand_json:
[{"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "\u2605", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "diamonds"}, {"rank": "J", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}], "Diego": [{"rank": "9", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Marcus": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:17:31.907951
player_id: cpu_170c2c30
player_name: Diego
action: take_discard
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "4", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "diamonds"}, {"rank": "J", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}], "Maya": [{"rank": "2", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "\u2605", "suit": "hearts"}], "River": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Marcus": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:17:32.564680
player_id: cpu_170c2c30
player_name: Diego
action: swap
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: swapped 6 into position 1, replaced 9
hand_json:
[{"rank": "4", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "diamonds"}, {"rank": "J", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}], "Maya": [{"rank": "2", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "\u2605", "suit": "hearts"}], "River": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Marcus": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:17:33.749192
player_id: cpu_43ca1cb4
player_name: River
action: draw_deck
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "diamonds"}, {"rank": "J", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}], "Maya": [{"rank": "2", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "\u2605", "suit": "hearts"}], "Diego": [{"rank": "6", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:17:35.429097
player_id: cpu_587ddcfb
player_name: Marcus
action: draw_deck
card_rank: 9
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "diamonds"}, {"rank": "J", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}], "Maya": [{"rank": "2", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "\u2605", "suit": "hearts"}], "Diego": [{"rank": "6", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}]}


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:19:31.139316
player_id: cpu_5971d368
player_name: Maya
action: draw_deck
card_rank: K
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "\u2605", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "diamonds"}, {"rank": "J", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}], "Diego": [{"rank": "6", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Marcus": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:19:31.894034
player_id: cpu_5971d368
player_name: Maya
action: swap
card_rank: K
card_suit: hearts
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: swapped K into position 4, replaced 5
hand_json:
[{"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "\u2605", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "diamonds"}, {"rank": "J", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}], "Diego": [{"rank": "6", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Marcus": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:19:32.898363
player_id: cpu_170c2c30
player_name: Diego
action: draw_deck
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "diamonds"}, {"rank": "J", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}], "Maya": [{"rank": "2", "suit": "clubs"}, {"rank": "K", "suit": "hearts"}, {"rank": "\u2605", "suit": "hearts"}], "River": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Marcus": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:19:33.457849
player_id: cpu_170c2c30
player_name: Diego
action: swap
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: swapped 4 into position 1, replaced 6
hand_json:
[{"rank": "4", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "diamonds"}, {"rank": "J", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}], "Maya": [{"rank": "2", "suit": "clubs"}, {"rank": "K", "suit": "hearts"}, {"rank": "\u2605", "suit": "hearts"}], "River": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Marcus": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:19:34.403199
player_id: cpu_43ca1cb4
player_name: River
action: take_discard
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: took 6 from discard
visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "diamonds"}, {"rank": "J", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}], "Maya": [{"rank": "2", "suit": "clubs"}, {"rank": "K", "suit": "hearts"}, {"rank": "\u2605", "suit": "hearts"}], "Diego": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:19:35.208060
player_id: cpu_43ca1cb4
player_name: River
action: swap
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "3", "suit": "hearts"}
decision_reason: swapped 6 into position 4, replaced 3
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "diamonds"}, {"rank": "J", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}], "Maya": [{"rank": "2", "suit": "clubs"}, {"rank": "K", "suit": "hearts"}, {"rank": "\u2605", "suit": "hearts"}], "Diego": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "5", "suit": "diamonds"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:19:36.128120
player_id: cpu_587ddcfb
player_name: Marcus
action: take_discard
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: took 3 from discard
visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "diamonds"}, {"rank": "J", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}], "Maya": [{"rank": "2", "suit": "clubs"}, {"rank": "K", "suit": "hearts"}, {"rank": "\u2605", "suit": "hearts"}], "Diego": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "diamonds"}]}


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:19:36.719575
player_id: cpu_587ddcfb
player_name: Marcus
action: swap
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: swapped 3 into position 1, replaced 5
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "diamonds"}, {"rank": "J", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}], "Maya": [{"rank": "2", "suit": "clubs"}, {"rank": "K", "suit": "hearts"}, {"rank": "\u2605", "suit": "hearts"}], "Diego": [{"rank": "4", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "diamonds"}]}


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:19:46.672551
player_id: cpu_5971d368
player_name: Maya
action: take_discard
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "\u2605", "suit": "hearts", "face_up": true}]

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


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:19:47.146054
player_id: cpu_5971d368
player_name: Maya
action: swap
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "3", "suit": "diamonds"}
decision_reason: swapped 7 into position 3, replaced 3
hand_json:
[{"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "\u2605", "suit": "hearts", "face_up": true}]

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


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:19:48.163649
player_id: cpu_170c2c30
player_name: Diego
action: take_discard
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "4", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}]

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


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:19:48.789954
player_id: cpu_170c2c30
player_name: Diego
action: swap
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: swapped 3 into position 0, replaced 4
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}]

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


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:19:50.090495
player_id: cpu_43ca1cb4
player_name: River
action: take_discard
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}]

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


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:19:50.879924
player_id: cpu_43ca1cb4
player_name: River
action: swap
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: swapped 4 into position 5, replaced 7
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}]

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


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:19:52.172337
player_id: cpu_587ddcfb
player_name: Marcus
action: take_discard
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:19:52.940562
player_id: cpu_587ddcfb
player_name: Marcus
action: swap
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "K", "suit": "hearts"}
decision_reason: swapped 7 into position 0, replaced K
hand_json:
[{"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:19:55.787276
player_id: cpu_5971d368
player_name: Maya
action: take_discard
card_rank: K
card_suit: spades
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: took K from discard
hand_json:
[{"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "\u2605", "suit": "hearts", "face_up": true}]

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


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:19:56.543775
player_id: cpu_5971d368
player_name: Maya
action: swap
card_rank: K
card_suit: spades
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: swapped K into position 3, replaced 7
hand_json:
[{"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "\u2605", "suit": "hearts", "face_up": true}]

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


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:19:56.924881
player_id: cpu_170c2c30
player_name: Diego
action: take_discard
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}]

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


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:19:57.423726
player_id: cpu_170c2c30
player_name: Diego
action: swap
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "K", "suit": "clubs"}
decision_reason: swapped 7 into position 2, replaced K
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}]

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


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:19:58.232051
player_id: cpu_43ca1cb4
player_name: River
action: take_discard
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: took K from discard
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}]

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


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:19:58.994315
player_id: cpu_43ca1cb4
player_name: River
action: swap
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: swapped K into position 4, replaced 6
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}]

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


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:19:59.813429
player_id: cpu_587ddcfb
player_name: Marcus
action: take_discard
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:20:00.428259
player_id: cpu_587ddcfb
player_name: Marcus
action: swap
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: swapped 6 into position 0, replaced 7
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:27:18.279876
player_id: cpu_5971d368
player_name: Maya
action: draw_deck
card_rank: J
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "\u2605", "suit": "hearts", "face_up": true}]

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


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:27:19.998589
player_id: cpu_170c2c30
player_name: Diego
action: draw_deck
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "J", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}, {"rank": "6", "suit": "hearts"}], "Maya": [{"rank": "2", "suit": "clubs"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}, {"rank": "\u2605", "suit": "hearts"}], "River": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}], "Marcus": [{"rank": "6", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:27:20.510367
player_id: cpu_170c2c30
player_name: Diego
action: swap
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: swapped 8 into position 5, replaced 8
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "J", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}, {"rank": "6", "suit": "hearts"}], "Maya": [{"rank": "2", "suit": "clubs"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}, {"rank": "\u2605", "suit": "hearts"}], "River": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}], "Marcus": [{"rank": "6", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:27:21.790301
player_id: cpu_43ca1cb4
player_name: River
action: draw_deck
card_rank: 9
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}]

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


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:27:23.420749
player_id: cpu_587ddcfb
player_name: Marcus
action: draw_deck
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:27:24.188073
player_id: cpu_587ddcfb
player_name: Marcus
action: swap
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: swapped 5 into position 0, replaced 6
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:27:37.512057
player_id: cpu_5971d368
player_name: Maya
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": "J", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "J", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}, {"rank": "6", "suit": "hearts"}], "Diego": [{"rank": "3", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}, {"rank": "5", "suit": "hearts"}, {"rank": "8", "suit": "spades"}], "River": [{"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}], "Marcus": [{"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:27:38.532721
player_id: cpu_170c2c30
player_name: Diego
action: draw_deck
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}]

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


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:27:39.143992
player_id: cpu_170c2c30
player_name: Diego
action: swap
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: swapped 5 into position 4, replaced 9
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": true}]

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


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:27:40.416459
player_id: cpu_43ca1cb4
player_name: River
action: draw_deck
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "J", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "J", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}, {"rank": "6", "suit": "hearts"}], "Maya": [{"rank": "2", "suit": "clubs"}, {"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "hearts"}, {"rank": "\u2605", "suit": "hearts"}], "Diego": [{"rank": "3", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}, {"rank": "5", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "8", "suit": "spades"}], "Marcus": [{"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}]}


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:27:41.214859
player_id: cpu_43ca1cb4
player_name: River
action: swap
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "A", "suit": "spades"}
decision_reason: swapped 4 into position 0, replaced A
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}]

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


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:27:42.293701
player_id: cpu_587ddcfb
player_name: Marcus
action: take_discard
card_rank: A
card_suit: spades
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: took A from discard
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 6a66ad2c-dd5d-484d-ab21-8d161d9f5455
timestamp: 2026-01-25 16:27:43.028301
player_id: cpu_587ddcfb
player_name: Marcus
action: swap
card_rank: A
card_suit: spades
discard_top_json: {"rank": "5", "suit": "clubs"}
decision_reason: swapped A into position 0, replaced 5
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: cee49553-2196-4a3c-9cbd-19f08ee59ec2
timestamp: 2026-01-25 16:32:43.383409
player_id: cpu_1481bf36
player_name: Maya
action: draw_deck
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "J", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}]

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


game_id: cee49553-2196-4a3c-9cbd-19f08ee59ec2
timestamp: 2026-01-25 16:32:44.661189
player_id: cpu_bfb7f12a
player_name: Diego
action: take_discard
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: took 8 from discard
hand_json:
[{"rank": "6", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}]

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


game_id: cee49553-2196-4a3c-9cbd-19f08ee59ec2
timestamp: 2026-01-25 16:32:45.239261
player_id: cpu_bfb7f12a
player_name: Diego
action: swap
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: swapped 8 into position 4, replaced J
hand_json:
[{"rank": "6", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}]

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


game_id: cee49553-2196-4a3c-9cbd-19f08ee59ec2
timestamp: 2026-01-25 16:32:46.462922
player_id: cpu_d0b09863
player_name: Marcus
action: draw_deck
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}]

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


game_id: cee49553-2196-4a3c-9cbd-19f08ee59ec2
timestamp: 2026-01-25 16:32:47.250185
player_id: cpu_d0b09863
player_name: Marcus
action: swap
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: swapped A into position 1, replaced 7
hand_json:
[{"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}]

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


game_id: cee49553-2196-4a3c-9cbd-19f08ee59ec2
timestamp: 2026-01-25 16:32:53.145169
player_id: cpu_1481bf36
player_name: Maya
action: take_discard
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "J", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}]

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


game_id: cee49553-2196-4a3c-9cbd-19f08ee59ec2
timestamp: 2026-01-25 16:32:53.594979
player_id: cpu_1481bf36
player_name: Maya
action: swap
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: swapped 5 into position 5, replaced 6
hand_json:
[{"rank": "J", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}]

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


game_id: cee49553-2196-4a3c-9cbd-19f08ee59ec2
timestamp: 2026-01-25 16:32:53.997349
player_id: cpu_bfb7f12a
player_name: Diego
action: take_discard
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "6", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}]

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


game_id: cee49553-2196-4a3c-9cbd-19f08ee59ec2
timestamp: 2026-01-25 16:32:54.594693
player_id: cpu_bfb7f12a
player_name: Diego
action: swap
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: swapped 6 into position 5, replaced J
hand_json:
[{"rank": "6", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}]

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


game_id: cee49553-2196-4a3c-9cbd-19f08ee59ec2
timestamp: 2026-01-25 16:32:55.445070
player_id: cpu_d0b09863
player_name: Marcus
action: draw_deck
card_rank: A
card_suit: spades
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}]

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


game_id: cee49553-2196-4a3c-9cbd-19f08ee59ec2
timestamp: 2026-01-25 16:32:55.973104
player_id: cpu_d0b09863
player_name: Marcus
action: swap
card_rank: A
card_suit: spades
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: swapped A into position 4, replaced 7
hand_json:
[{"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "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": "J", "suit": "hearts", "face_up": false}]

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


game_id: cee49553-2196-4a3c-9cbd-19f08ee59ec2
timestamp: 2026-01-25 16:33:03.400208
player_id: cpu_1481bf36
player_name: Maya
action: take_discard
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "J", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}]

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


game_id: cee49553-2196-4a3c-9cbd-19f08ee59ec2
timestamp: 2026-01-25 16:33:04.202460
player_id: cpu_1481bf36
player_name: Maya
action: swap
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "5", "suit": "hearts"}
decision_reason: swapped 3 into position 5, replaced 5
hand_json:
[{"rank": "J", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}]

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


game_id: cee49553-2196-4a3c-9cbd-19f08ee59ec2
timestamp: 2026-01-25 16:33:05.256605
player_id: cpu_bfb7f12a
player_name: Diego
action: draw_deck
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "5", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}]

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


game_id: cee49553-2196-4a3c-9cbd-19f08ee59ec2
timestamp: 2026-01-25 16:33:05.901401
player_id: cpu_bfb7f12a
player_name: Diego
action: swap
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: swapped 5 into position 4, replaced 8
hand_json:
[{"rank": "6", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}]

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


game_id: cee49553-2196-4a3c-9cbd-19f08ee59ec2
timestamp: 2026-01-25 16:33:06.808251
player_id: cpu_d0b09863
player_name: Marcus
action: draw_deck
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "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": "J", "suit": "hearts", "face_up": false}]

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


game_id: cee49553-2196-4a3c-9cbd-19f08ee59ec2
timestamp: 2026-01-25 16:33:07.421006
player_id: cpu_d0b09863
player_name: Marcus
action: swap
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "4", "suit": "clubs"}
decision_reason: swapped 7 into position 0, replaced 4
hand_json:
[{"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "diamonds", "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": "J", "suit": "hearts", "face_up": false}]

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


game_id: cee49553-2196-4a3c-9cbd-19f08ee59ec2
timestamp: 2026-01-25 16:33:13.946145
player_id: cpu_1481bf36
player_name: Maya
action: take_discard
card_rank: K
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: took K from discard
hand_json:
[{"rank": "J", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}]

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


game_id: cee49553-2196-4a3c-9cbd-19f08ee59ec2
timestamp: 2026-01-25 16:33:14.644237
player_id: cpu_1481bf36
player_name: Maya
action: swap
card_rank: K
card_suit: hearts
discard_top_json: {"rank": "4", "suit": "hearts"}
decision_reason: swapped K into position 1, replaced 4
hand_json:
[{"rank": "J", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}]

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


game_id: cee49553-2196-4a3c-9cbd-19f08ee59ec2
timestamp: 2026-01-25 16:33:15.364341
player_id: cpu_bfb7f12a
player_name: Diego
action: take_discard
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "6", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}]

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


game_id: cee49553-2196-4a3c-9cbd-19f08ee59ec2
timestamp: 2026-01-25 16:33:15.953686
player_id: cpu_bfb7f12a
player_name: Diego
action: swap
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "6", "suit": "clubs"}
decision_reason: swapped 4 into position 2, replaced 6
hand_json:
[{"rank": "6", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}]

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


game_id: cee49553-2196-4a3c-9cbd-19f08ee59ec2
timestamp: 2026-01-25 16:33:17.077429
player_id: cpu_d0b09863
player_name: Marcus
action: take_discard
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "diamonds", "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": "J", "suit": "hearts", "face_up": false}]

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


game_id: cee49553-2196-4a3c-9cbd-19f08ee59ec2
timestamp: 2026-01-25 16:33:17.556362
player_id: cpu_d0b09863
player_name: Marcus
action: swap
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: swapped 6 into position 0, replaced 7
hand_json:
[{"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "diamonds", "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": "J", "suit": "hearts", "face_up": false}]

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


game_id: b18fad67-7fb4-4b16-9d78-97e2def4c387
timestamp: 2026-01-25 16:45:37.667455
player_id: cpu_3f7cf88a
player_name: Maya
action: take_discard
card_rank: Q
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: took Q from discard
hand_json:
[{"rank": "9", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "K", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "9", "suit": "spades"}], "Diego": [{"rank": "10", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Marcus": [{"rank": "3", "suit": "diamonds"}, {"rank": "3", "suit": "diamonds"}]}


game_id: b18fad67-7fb4-4b16-9d78-97e2def4c387
timestamp: 2026-01-25 16:45:38.356510
player_id: cpu_3f7cf88a
player_name: Maya
action: swap
card_rank: Q
card_suit: hearts
discard_top_json: {"rank": "6", "suit": "clubs"}
decision_reason: swapped Q into position 5, replaced 6
hand_json:
[{"rank": "9", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "K", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "9", "suit": "spades"}], "Diego": [{"rank": "10", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "clubs"}], "Marcus": [{"rank": "3", "suit": "diamonds"}, {"rank": "3", "suit": "diamonds"}]}


