# moves

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

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


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

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


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

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


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

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


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

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


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

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


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

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


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


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

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


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

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


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

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


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


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

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


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

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


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

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


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


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

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


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

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


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

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


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


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

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


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:09.007274
player_id: cpu_20fde7cf
player_name: Maya
action: take_discard
card_rank: 8
card_suit: clubs
decision_reason: took 8 from discard
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}], "Priya": [{"rank": "9", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "clubs"}, {"rank": "A", "suit": "spades"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:09.533053
player_id: cpu_20fde7cf
player_name: Maya
action: swap
card_rank: 8
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: swapped 8 into position 1, replaced 10
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}], "Priya": [{"rank": "9", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "clubs"}, {"rank": "A", "suit": "spades"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:10.714188
player_id: cpu_479d8aa5
player_name: Priya
action: draw_deck
card_rank: K
card_suit: spades
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "8", "suit": "clubs"}, {"rank": "9", "suit": "clubs"}], "Marcus": [{"rank": "9", "suit": "clubs"}, {"rank": "A", "suit": "spades"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:11.167286
player_id: cpu_479d8aa5
player_name: Priya
action: swap
card_rank: K
card_suit: spades
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: swapped K into position 2, replaced 9
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "8", "suit": "clubs"}, {"rank": "9", "suit": "clubs"}], "Marcus": [{"rank": "9", "suit": "clubs"}, {"rank": "A", "suit": "spades"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:12.042815
player_id: cpu_f82b85fe
player_name: Marcus
action: take_discard
card_rank: 9
card_suit: spades
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: took 9 from discard
hand_json:
[{"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "8", "suit": "clubs"}, {"rank": "9", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:12.608185
player_id: cpu_f82b85fe
player_name: Marcus
action: swap
card_rank: 9
card_suit: spades
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: swapped 9 into position 3, replaced 8
hand_json:
[{"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "8", "suit": "clubs"}, {"rank": "9", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:13.770054
player_id: cpu_1619a181
player_name: Sage
action: draw_deck
card_rank: 10
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "8", "suit": "clubs"}, {"rank": "9", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "clubs"}, {"rank": "9", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Diego": [{"rank": "9", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:15.048696
player_id: cpu_725ac6a2
player_name: Diego
action: draw_deck
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "9", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "8", "suit": "clubs"}, {"rank": "9", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "clubs"}, {"rank": "9", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "clubs"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:15.627116
player_id: cpu_725ac6a2
player_name: Diego
action: swap
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: swapped 7 into position 0, replaced 9
hand_json:
[{"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "8", "suit": "clubs"}, {"rank": "9", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "clubs"}, {"rank": "9", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "clubs"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:34.718466
player_id: cpu_20fde7cf
player_name: Maya
action: draw_deck
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "clubs"}, {"rank": "9", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "7", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:35.254657
player_id: cpu_20fde7cf
player_name: Maya
action: swap
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: swapped A into position 3, replaced 9
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "clubs"}, {"rank": "9", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "7", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:36.176200
player_id: cpu_479d8aa5
player_name: Priya
action: draw_deck
card_rank: J
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "8", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}], "Marcus": [{"rank": "9", "suit": "clubs"}, {"rank": "9", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Sage": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "7", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:37.925031
player_id: cpu_f82b85fe
player_name: Marcus
action: draw_deck
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

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


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:38.670109
player_id: cpu_f82b85fe
player_name: Marcus
action: swap
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: swapped 5 into position 0, replaced 9
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

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


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:39.550531
player_id: cpu_1619a181
player_name: Sage
action: draw_deck
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "8", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "5", "suit": "hearts"}, {"rank": "9", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Diego": [{"rank": "7", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:40.311771
player_id: cpu_1619a181
player_name: Sage
action: swap
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: swapped 3 into position 2, replaced 5
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "8", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "5", "suit": "hearts"}, {"rank": "9", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Diego": [{"rank": "7", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:40.889276
player_id: cpu_725ac6a2
player_name: Diego
action: take_discard
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "8", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "5", "suit": "hearts"}, {"rank": "9", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "clubs"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:41.565942
player_id: cpu_725ac6a2
player_name: Diego
action: swap
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: swapped 5 into position 0, replaced 7
hand_json:
[{"rank": "5", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "8", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "5", "suit": "hearts"}, {"rank": "9", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "clubs"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:50.444511
player_id: cpu_20fde7cf
player_name: Maya
action: draw_deck
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": false}]

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


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:51.177085
player_id: cpu_20fde7cf
player_name: Maya
action: swap
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "2", "suit": "hearts"}
decision_reason: swapped 8 into position 4, replaced 2
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}]

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


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:52.464108
player_id: cpu_479d8aa5
player_name: Priya
action: draw_deck
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "2", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "8", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Marcus": [{"rank": "5", "suit": "hearts"}, {"rank": "9", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "5", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:54.435129
player_id: cpu_f82b85fe
player_name: Marcus
action: take_discard
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "2", "suit": "hearts"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

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


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:54.873272
player_id: cpu_f82b85fe
player_name: Marcus
action: swap
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: swapped 6 into position 3, replaced 9
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

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


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:56.042008
player_id: cpu_1619a181
player_name: Sage
action: draw_deck
card_rank: 10
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": "3", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "8", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "5", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}, {"rank": "A", "suit": "spades"}], "Diego": [{"rank": "5", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:57.411086
player_id: cpu_725ac6a2
player_name: Diego
action: draw_deck
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "8", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "5", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}, {"rank": "A", "suit": "spades"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "clubs"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:57:58.129207
player_id: cpu_725ac6a2
player_name: Diego
action: swap
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: swapped 4 into position 0, replaced 5
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "8", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "5", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}, {"rank": "A", "suit": "spades"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "clubs"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:58:23.793179
player_id: cpu_20fde7cf
player_name: Maya
action: take_discard
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: took A from discard
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}]

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


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:58:24.320502
player_id: cpu_20fde7cf
player_name: Maya
action: swap
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "A", "suit": "hearts"}
decision_reason: swapped A into position 0, replaced A
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}]

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


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:58:25.433278
player_id: cpu_479d8aa5
player_name: Priya
action: take_discard
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: took A from discard
visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "8", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Marcus": [{"rank": "5", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}, {"rank": "A", "suit": "spades"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:58:25.875138
player_id: cpu_479d8aa5
player_name: Priya
action: swap
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "5", "suit": "hearts"}
decision_reason: swapped A into position 3, replaced 5
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}]

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


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:58:26.975773
player_id: cpu_f82b85fe
player_name: Marcus
action: draw_deck
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "5", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "8", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:58:27.444212
player_id: cpu_f82b85fe
player_name: Marcus
action: swap
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "5", "suit": "clubs"}
decision_reason: swapped A into position 1, replaced 5
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "8", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "clubs"}], "Diego": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:58:28.474208
player_id: cpu_1619a181
player_name: Sage
action: draw_deck
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "clubs"}
decision_reason: drew from deck
visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "8", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}], "Marcus": [{"rank": "5", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}, {"rank": "A", "suit": "spades"}], "Diego": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:58:28.889872
player_id: cpu_1619a181
player_name: Sage
action: swap
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "4", "suit": "clubs"}
decision_reason: swapped 2 into position 4, replaced 4
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "8", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}], "Marcus": [{"rank": "5", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}, {"rank": "A", "suit": "spades"}], "Diego": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:58:29.253475
player_id: cpu_725ac6a2
player_name: Diego
action: take_discard
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "clubs"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}]

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


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:58:29.740364
player_id: cpu_725ac6a2
player_name: Diego
action: swap
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: swapped 4 into position 3, replaced J
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}]

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


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:58:37.374983
player_id: cpu_20fde7cf
player_name: Maya
action: draw_deck
card_rank: 10
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}]

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


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:58:38.942574
player_id: cpu_479d8aa5
player_name: Priya
action: draw_deck
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}]

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


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:58:40.647669
player_id: cpu_f82b85fe
player_name: Marcus
action: draw_deck
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "8", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Diego": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:58:41.254177
player_id: cpu_f82b85fe
player_name: Marcus
action: swap
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "6", "suit": "clubs"}
decision_reason: swapped 2 into position 3, replaced 6
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "8", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Diego": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:58:42.258385
player_id: cpu_1619a181
player_name: Sage
action: draw_deck
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "6", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "8", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}], "Marcus": [{"rank": "5", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Diego": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:58:43.676350
player_id: cpu_725ac6a2
player_name: Diego
action: draw_deck
card_rank: 10
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "8", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}], "Marcus": [{"rank": "5", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "2", "suit": "clubs"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:58:56.719120
player_id: cpu_20fde7cf
player_name: Maya
action: draw_deck
card_rank: K
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}], "Marcus": [{"rank": "5", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Diego": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:58:57.334939
player_id: cpu_20fde7cf
player_name: Maya
action: swap
card_rank: K
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: swapped K into position 1, replaced 8
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}]

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


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:58:58.155230
player_id: cpu_479d8aa5
player_name: Priya
action: draw_deck
card_rank: J
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: drew from deck
visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Marcus": [{"rank": "5", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Diego": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:58:59.482433
player_id: cpu_f82b85fe
player_name: Marcus
action: draw_deck
card_rank: Q
card_suit: spades
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Diego": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:59:01.052765
player_id: cpu_1619a181
player_name: Sage
action: draw_deck
card_rank: 8
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}], "Marcus": [{"rank": "5", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Diego": [{"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:59:02.338718
player_id: cpu_725ac6a2
player_name: Diego
action: draw_deck
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}], "Marcus": [{"rank": "5", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "2", "suit": "clubs"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:59:03.079842
player_id: cpu_725ac6a2
player_name: Diego
action: swap
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: swapped 3 into position 0, replaced 4
hand_json:
[{"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}], "Marcus": [{"rank": "5", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "2", "suit": "clubs"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:59:23.051202
player_id: cpu_20fde7cf
player_name: Maya
action: take_discard
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: took K from discard
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}]

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


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:59:23.732868
player_id: cpu_20fde7cf
player_name: Maya
action: swap
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: swapped K into position 4, replaced 8
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}]

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


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:59:24.630710
player_id: cpu_479d8aa5
player_name: Priya
action: draw_deck
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Marcus": [{"rank": "5", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:59:26.365381
player_id: cpu_f82b85fe
player_name: Marcus
action: draw_deck
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:59:27.026139
player_id: cpu_f82b85fe
player_name: Marcus
action: swap
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: swapped 5 into position 5, replaced 10
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}], "Sage": [{"rank": "3", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:59:28.039201
player_id: cpu_1619a181
player_name: Sage
action: draw_deck
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}], "Marcus": [{"rank": "5", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:59:28.598365
player_id: cpu_1619a181
player_name: Sage
action: swap
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "3", "suit": "diamonds"}
decision_reason: swapped 4 into position 1, replaced 3
hand_json:
[{"rank": "A", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}], "Marcus": [{"rank": "5", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:59:29.190354
player_id: cpu_725ac6a2
player_name: Diego
action: draw_deck
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "3", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}], "Marcus": [{"rank": "5", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Sage": [{"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "2", "suit": "clubs"}]}


game_id: 5bca915a-6583-468d-bd32-5035b3641079
timestamp: 2026-01-24 19:59:29.743453
player_id: cpu_725ac6a2
player_name: Diego
action: swap
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "2", "suit": "hearts"}
decision_reason: swapped 6 into position 5, replaced 2
hand_json:
[{"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}, {"rank": "9", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}], "Priya": [{"rank": "8", "suit": "hearts"}, {"rank": "Q", "suit": "hearts"}, {"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}, {"rank": "6", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}], "Marcus": [{"rank": "5", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Sage": [{"rank": "A", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}]}


game_id: 49e5ce5f-344f-46aa-a88f-390b52088594
timestamp: 2026-01-24 20:02:22.315081
player_id: cpu_998a00ef
player_name: Sofia
action: take_discard
card_rank: 6
card_suit: clubs
decision_reason: took 6 from discard
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "7", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "diamonds"}, {"rank": "8", "suit": "diamonds"}], "Priya": [{"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "diamonds"}, {"rank": "Q", "suit": "diamonds"}], "Sage": [{"rank": "K", "suit": "spades"}, {"rank": "8", "suit": "hearts"}]}


game_id: 49e5ce5f-344f-46aa-a88f-390b52088594
timestamp: 2026-01-24 20:02:23.096025
player_id: cpu_998a00ef
player_name: Sofia
action: swap
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: swapped 6 into position 2, replaced 10
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "7", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "diamonds"}, {"rank": "8", "suit": "diamonds"}], "Priya": [{"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "diamonds"}, {"rank": "Q", "suit": "diamonds"}], "Sage": [{"rank": "K", "suit": "spades"}, {"rank": "8", "suit": "hearts"}]}


game_id: 49e5ce5f-344f-46aa-a88f-390b52088594
timestamp: 2026-01-24 20:02:23.977797
player_id: cpu_80be0518
player_name: Maya
action: draw_deck
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "7", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Sofia": [{"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "clubs"}], "Priya": [{"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "diamonds"}, {"rank": "Q", "suit": "diamonds"}], "Sage": [{"rank": "K", "suit": "spades"}, {"rank": "8", "suit": "hearts"}]}


game_id: 49e5ce5f-344f-46aa-a88f-390b52088594
timestamp: 2026-01-24 20:02:24.690377
player_id: cpu_80be0518
player_name: Maya
action: swap
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: swapped 4 into position 4, replaced 8
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "7", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Sofia": [{"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "clubs"}], "Priya": [{"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "diamonds"}, {"rank": "Q", "suit": "diamonds"}], "Sage": [{"rank": "K", "suit": "spades"}, {"rank": "8", "suit": "hearts"}]}


game_id: 49e5ce5f-344f-46aa-a88f-390b52088594
timestamp: 2026-01-24 20:02:25.590033
player_id: cpu_b7959300
player_name: Priya
action: draw_deck
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "7", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Sofia": [{"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "diamonds"}, {"rank": "4", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "diamonds"}, {"rank": "Q", "suit": "diamonds"}], "Sage": [{"rank": "K", "suit": "spades"}, {"rank": "8", "suit": "hearts"}]}


game_id: 49e5ce5f-344f-46aa-a88f-390b52088594
timestamp: 2026-01-24 20:02:26.252627
player_id: cpu_b7959300
player_name: Priya
action: swap
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: swapped 4 into position 1, replaced 5
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "7", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Sofia": [{"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "diamonds"}, {"rank": "4", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "diamonds"}, {"rank": "Q", "suit": "diamonds"}], "Sage": [{"rank": "K", "suit": "spades"}, {"rank": "8", "suit": "hearts"}]}


game_id: 49e5ce5f-344f-46aa-a88f-390b52088594
timestamp: 2026-01-24 20:02:27.105880
player_id: cpu_c6243da5
player_name: Marcus
action: take_discard
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "9", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "7", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Sofia": [{"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "diamonds"}, {"rank": "4", "suit": "hearts"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}], "Sage": [{"rank": "K", "suit": "spades"}, {"rank": "8", "suit": "hearts"}]}


game_id: 49e5ce5f-344f-46aa-a88f-390b52088594
timestamp: 2026-01-24 20:02:27.767711
player_id: cpu_c6243da5
player_name: Marcus
action: swap
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: swapped 5 into position 4, replaced Q
hand_json:
[{"rank": "9", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "7", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Sofia": [{"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "diamonds"}, {"rank": "4", "suit": "hearts"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}], "Sage": [{"rank": "K", "suit": "spades"}, {"rank": "8", "suit": "hearts"}]}


game_id: 49e5ce5f-344f-46aa-a88f-390b52088594
timestamp: 2026-01-24 20:02:28.817956
player_id: cpu_67d7d63e
player_name: Sage
action: draw_deck
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "7", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Sofia": [{"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "diamonds"}, {"rank": "4", "suit": "hearts"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}]}


game_id: 49e5ce5f-344f-46aa-a88f-390b52088594
timestamp: 2026-01-24 20:02:29.602815
player_id: cpu_67d7d63e
player_name: Sage
action: swap
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: swapped 7 into position 4, replaced 8
hand_json:
[{"rank": "K", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "7", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Sofia": [{"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "diamonds"}, {"rank": "4", "suit": "hearts"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}]}


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:10:07.008147
player_id: cpu_d47763bb
player_name: Maya
action: draw_deck
card_rank: Q
card_suit: clubs
discard_top_json: {"rank": "3", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Priya": [{"rank": "3", "suit": "hearts"}, {"rank": "Q", "suit": "spades"}], "River": [{"rank": "Q", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Diego": [{"rank": "8", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Marcus": [{"rank": "7", "suit": "diamonds"}, {"rank": "J", "suit": "diamonds"}]}


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:10:08.706673
player_id: cpu_2cd31155
player_name: Priya
action: take_discard
card_rank: Q
card_suit: clubs
discard_top_json: {"rank": "3", "suit": "clubs"}
decision_reason: took Q from discard
hand_json:
[{"rank": "3", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Maya": [{"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "River": [{"rank": "Q", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Diego": [{"rank": "8", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Marcus": [{"rank": "7", "suit": "diamonds"}, {"rank": "J", "suit": "diamonds"}]}


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:10:09.283823
player_id: cpu_2cd31155
player_name: Priya
action: swap
card_rank: Q
card_suit: clubs
discard_top_json: {"rank": "3", "suit": "spades"}
decision_reason: swapped Q into position 0, replaced 3
hand_json:
[{"rank": "Q", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Maya": [{"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "River": [{"rank": "Q", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Diego": [{"rank": "8", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Marcus": [{"rank": "7", "suit": "diamonds"}, {"rank": "J", "suit": "diamonds"}]}


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:10:10.349634
player_id: cpu_0541b006
player_name: River
action: take_discard
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "3", "suit": "clubs"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Maya": [{"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Priya": [{"rank": "Q", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "Q", "suit": "spades"}], "Diego": [{"rank": "8", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Marcus": [{"rank": "7", "suit": "diamonds"}, {"rank": "J", "suit": "diamonds"}]}


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:10:11.105076
player_id: cpu_0541b006
player_name: River
action: swap
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: swapped 3 into position 1, replaced 4
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Maya": [{"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Priya": [{"rank": "Q", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "Q", "suit": "spades"}], "Diego": [{"rank": "8", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Marcus": [{"rank": "7", "suit": "diamonds"}, {"rank": "J", "suit": "diamonds"}]}


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:10:11.413999
player_id: cpu_22824b9d
player_name: Diego
action: take_discard
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "3", "suit": "clubs"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Maya": [{"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Priya": [{"rank": "Q", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "Q", "suit": "spades"}], "River": [{"rank": "3", "suit": "spades"}, {"rank": "Q", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Marcus": [{"rank": "7", "suit": "diamonds"}, {"rank": "J", "suit": "diamonds"}]}


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:10:11.981488
player_id: cpu_22824b9d
player_name: Diego
action: swap
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: swapped 4 into position 1, replaced 8
hand_json:
[{"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Maya": [{"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Priya": [{"rank": "Q", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "Q", "suit": "spades"}], "River": [{"rank": "3", "suit": "spades"}, {"rank": "Q", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Marcus": [{"rank": "7", "suit": "diamonds"}, {"rank": "J", "suit": "diamonds"}]}


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:10:13.146713
player_id: cpu_0c0ccc1c
player_name: Marcus
action: take_discard
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "3", "suit": "clubs"}
decision_reason: took 8 from discard
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": true}]

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


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:10:13.907255
player_id: cpu_0c0ccc1c
player_name: Marcus
action: swap
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: swapped 8 into position 5, replaced J
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}]

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


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:10:46.348884
player_id: cpu_d47763bb
player_name: Maya
action: draw_deck
card_rank: 10
card_suit: spades
discard_top_json: {"rank": "4", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Priya": [{"rank": "Q", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "Q", "suit": "spades"}], "River": [{"rank": "3", "suit": "spades"}, {"rank": "Q", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Diego": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Marcus": [{"rank": "7", "suit": "diamonds"}, {"rank": "8", "suit": "spades"}]}


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:10:48.006493
player_id: cpu_2cd31155
player_name: Priya
action: draw_deck
card_rank: A
card_suit: spades
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "Q", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}]

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


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:10:48.800591
player_id: cpu_2cd31155
player_name: Priya
action: swap
card_rank: A
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: swapped A into position 0, replaced Q
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}]

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


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:10:49.946224
player_id: cpu_0541b006
player_name: River
action: take_discard
card_rank: Q
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: took Q from discard
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": false}]

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


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:10:50.404926
player_id: cpu_0541b006
player_name: River
action: swap
card_rank: Q
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: swapped Q into position 5, replaced 7
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": true}]

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


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:10:51.381305
player_id: cpu_22824b9d
player_name: Diego
action: draw_deck
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Maya": [{"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Priya": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "Q", "suit": "spades"}], "River": [{"rank": "3", "suit": "spades"}, {"rank": "Q", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "Q", "suit": "clubs"}], "Marcus": [{"rank": "7", "suit": "diamonds"}, {"rank": "8", "suit": "spades"}]}


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:10:52.992014
player_id: cpu_0c0ccc1c
player_name: Marcus
action: take_discard
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}]

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


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:10:53.408596
player_id: cpu_0c0ccc1c
player_name: Marcus
action: swap
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: swapped 7 into position 4, replaced 10
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": true}]

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


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:12:44.579880
player_id: cpu_d47763bb
player_name: Maya
action: draw_deck
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Priya": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "Q", "suit": "spades"}], "River": [{"rank": "3", "suit": "spades"}, {"rank": "Q", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "Q", "suit": "clubs"}], "Diego": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Marcus": [{"rank": "7", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}, {"rank": "8", "suit": "spades"}]}


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:12:45.243770
player_id: cpu_d47763bb
player_name: Maya
action: swap
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "2", "suit": "clubs"}
decision_reason: swapped 5 into position 4, replaced 2
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Priya": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "Q", "suit": "spades"}], "River": [{"rank": "3", "suit": "spades"}, {"rank": "Q", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "Q", "suit": "clubs"}], "Diego": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Marcus": [{"rank": "7", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}, {"rank": "8", "suit": "spades"}]}


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:12:46.244176
player_id: cpu_2cd31155
player_name: Priya
action: draw_deck
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "2", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}]

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


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:12:46.934105
player_id: cpu_2cd31155
player_name: Priya
action: swap
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: swapped A into position 3, replaced Q
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}]

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


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:12:48.087899
player_id: cpu_0541b006
player_name: River
action: draw_deck
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": true}]

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


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:12:48.862109
player_id: cpu_0541b006
player_name: River
action: swap
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: swapped 7 into position 2, replaced Q
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": true}]

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


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:12:49.668724
player_id: cpu_22824b9d
player_name: Diego
action: draw_deck
card_rank: 10
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Maya": [{"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "5", "suit": "clubs"}], "Priya": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "clubs"}], "River": [{"rank": "3", "suit": "spades"}, {"rank": "7", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}, {"rank": "Q", "suit": "clubs"}], "Marcus": [{"rank": "7", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}, {"rank": "8", "suit": "spades"}]}


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:12:51.232014
player_id: cpu_0c0ccc1c
player_name: Marcus
action: draw_deck
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": true}]

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


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:12:51.752853
player_id: cpu_0c0ccc1c
player_name: Marcus
action: swap
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: swapped 8 into position 2, replaced 8
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": true}]

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


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:12:59.112441
player_id: cpu_d47763bb
player_name: Maya
action: draw_deck
card_rank: K
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Priya": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "clubs"}], "River": [{"rank": "3", "suit": "spades"}, {"rank": "7", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}, {"rank": "Q", "suit": "clubs"}], "Diego": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Marcus": [{"rank": "7", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}, {"rank": "8", "suit": "spades"}]}


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:12:59.587760
player_id: cpu_d47763bb
player_name: Maya
action: swap
card_rank: K
card_suit: hearts
discard_top_json: {"rank": "5", "suit": "clubs"}
decision_reason: swapped K into position 4, replaced 5
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Priya": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "clubs"}], "River": [{"rank": "3", "suit": "spades"}, {"rank": "7", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}, {"rank": "Q", "suit": "clubs"}], "Diego": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Marcus": [{"rank": "7", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}, {"rank": "8", "suit": "spades"}]}


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:13:00.867041
player_id: cpu_2cd31155
player_name: Priya
action: draw_deck
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "5", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}]

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


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:13:01.650815
player_id: cpu_2cd31155
player_name: Priya
action: swap
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: swapped 5 into position 5, replaced J
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}]

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


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:13:02.635475
player_id: cpu_0541b006
player_name: River
action: draw_deck
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": true}]

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


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:13:03.179786
player_id: cpu_0541b006
player_name: River
action: swap
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: swapped 4 into position 5, replaced Q
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:13:03.667810
player_id: cpu_22824b9d
player_name: Diego
action: draw_deck
card_rank: 10
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: drew from deck
visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Maya": [{"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "hearts"}], "Priya": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "clubs"}, {"rank": "5", "suit": "spades"}], "River": [{"rank": "3", "suit": "spades"}, {"rank": "7", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "hearts"}], "Marcus": [{"rank": "7", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}, {"rank": "8", "suit": "spades"}]}


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:13:05.450925
player_id: cpu_0c0ccc1c
player_name: Marcus
action: draw_deck
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": true}]

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


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:13:05.937388
player_id: cpu_0c0ccc1c
player_name: Marcus
action: swap
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: swapped 6 into position 2, replaced 8
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": true}]

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


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:13:13.186329
player_id: cpu_d47763bb
player_name: Maya
action: draw_deck
card_rank: Q
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Priya": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "clubs"}, {"rank": "5", "suit": "spades"}], "River": [{"rank": "3", "suit": "spades"}, {"rank": "7", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "hearts"}], "Diego": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Marcus": [{"rank": "7", "suit": "diamonds"}, {"rank": "6", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}, {"rank": "8", "suit": "spades"}]}


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:13:14.745570
player_id: cpu_2cd31155
player_name: Priya
action: draw_deck
card_rank: 9
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}]

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


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:13:16.385705
player_id: cpu_0541b006
player_name: River
action: draw_deck
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:13:16.811911
player_id: cpu_0541b006
player_name: River
action: swap
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: swapped 2 into position 2, replaced 7
hand_json:
[{"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:13:17.293351
player_id: cpu_22824b9d
player_name: Diego
action: draw_deck
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"BIG BOOTY JUDY": [{"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}], "Maya": [{"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "hearts"}], "Priya": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "clubs"}, {"rank": "5", "suit": "spades"}], "River": [{"rank": "3", "suit": "spades"}, {"rank": "2", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "hearts"}], "Marcus": [{"rank": "7", "suit": "diamonds"}, {"rank": "6", "suit": "diamonds"}, {"rank": "7", "suit": "clubs"}, {"rank": "8", "suit": "spades"}]}


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:13:17.879917
player_id: cpu_22824b9d
player_name: Diego
action: swap
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "clubs"}
decision_reason: swapped K into position 3, replaced 6
hand_json:
[{"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": false}]

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


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:13:18.747354
player_id: cpu_0c0ccc1c
player_name: Marcus
action: take_discard
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": true}]

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


game_id: f5765a84-3ca1-4ccc-93d0-b724c13d3098
timestamp: 2026-01-24 20:13:19.270832
player_id: cpu_0c0ccc1c
player_name: Marcus
action: swap
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: swapped 6 into position 5, replaced 8
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:06.460121
player_id: cpu_76b8b4ec
player_name: Maya
action: draw_deck
card_rank: Q
card_suit: spades
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "2", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "8", "suit": "clubs"}, {"rank": "7", "suit": "spades"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "6", "suit": "spades"}], "River": [{"rank": "5", "suit": "spades"}, {"rank": "8", "suit": "hearts"}]}


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:08.156330
player_id: cpu_a25851e2
player_name: Diego
action: draw_deck
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "2", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "2", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "6", "suit": "spades"}], "River": [{"rank": "5", "suit": "spades"}, {"rank": "8", "suit": "hearts"}]}


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:08.774717
player_id: cpu_a25851e2
player_name: Diego
action: swap
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: swapped 5 into position 0, replaced 8
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "2", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "2", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "6", "suit": "spades"}], "River": [{"rank": "5", "suit": "spades"}, {"rank": "8", "suit": "hearts"}]}


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:09.638399
player_id: cpu_cca8b0b3
player_name: Priya
action: draw_deck
card_rank: J
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "2", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "2", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Diego": [{"rank": "5", "suit": "hearts"}, {"rank": "7", "suit": "spades"}], "River": [{"rank": "5", "suit": "spades"}, {"rank": "8", "suit": "hearts"}]}


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:11.614444
player_id: cpu_08a2a080
player_name: River
action: draw_deck
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "2", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "2", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Diego": [{"rank": "5", "suit": "hearts"}, {"rank": "7", "suit": "spades"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "6", "suit": "spades"}]}


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:12.170199
player_id: cpu_08a2a080
player_name: River
action: swap
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: swapped 4 into position 4, replaced 8
hand_json:
[{"rank": "5", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "2", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "2", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Diego": [{"rank": "5", "suit": "hearts"}, {"rank": "7", "suit": "spades"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "6", "suit": "spades"}]}


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:20.229971
player_id: cpu_76b8b4ec
player_name: Maya
action: take_discard
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: took 8 from discard
hand_json:
[{"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "2", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "5", "suit": "hearts"}, {"rank": "7", "suit": "spades"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "6", "suit": "spades"}], "River": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "spades"}]}


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:20.931870
player_id: cpu_76b8b4ec
player_name: Maya
action: swap
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: swapped 8 into position 1, replaced 7
hand_json:
[{"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "2", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Diego": [{"rank": "5", "suit": "hearts"}, {"rank": "7", "suit": "spades"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "6", "suit": "spades"}], "River": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "spades"}]}


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:21.534491
player_id: cpu_a25851e2
player_name: Diego
action: take_discard
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "2", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "8", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "6", "suit": "spades"}], "River": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "spades"}]}


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:22.100142
player_id: cpu_a25851e2
player_name: Diego
action: swap
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "3", "suit": "hearts"}
decision_reason: swapped 7 into position 2, replaced 3
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "2", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "8", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "6", "suit": "spades"}], "River": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "spades"}]}


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:23.175854
player_id: cpu_cca8b0b3
player_name: Priya
action: take_discard
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "K", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:23.613438
player_id: cpu_cca8b0b3
player_name: Priya
action: swap
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "6", "suit": "spades"}
decision_reason: swapped 3 into position 5, replaced 6
hand_json:
[{"rank": "K", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:24.757730
player_id: cpu_08a2a080
player_name: River
action: draw_deck
card_rank: Q
card_suit: hearts
discard_top_json: {"rank": "6", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "2", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "8", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Diego": [{"rank": "5", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}, {"rank": "7", "suit": "spades"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "3", "suit": "hearts"}]}


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:30.347866
player_id: cpu_76b8b4ec
player_name: Maya
action: draw_deck
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:30.795080
player_id: cpu_76b8b4ec
player_name: Maya
action: swap
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: swapped 5 into position 1, replaced 8
hand_json:
[{"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:31.696578
player_id: cpu_a25851e2
player_name: Diego
action: draw_deck
card_rank: 9
card_suit: spades
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:33.362034
player_id: cpu_cca8b0b3
player_name: Priya
action: draw_deck
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:33.897156
player_id: cpu_cca8b0b3
player_name: Priya
action: swap
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: swapped 6 into position 3, replaced 6
hand_json:
[{"rank": "K", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:34.907975
player_id: cpu_08a2a080
player_name: River
action: draw_deck
card_rank: 8
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "2", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "5", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Diego": [{"rank": "5", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}, {"rank": "7", "suit": "spades"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}]}


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:40.760183
player_id: cpu_76b8b4ec
player_name: Maya
action: take_discard
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:41.462969
player_id: cpu_76b8b4ec
player_name: Maya
action: swap
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: swapped 5 into position 0, replaced 9
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:42.667430
player_id: cpu_a25851e2
player_name: Diego
action: draw_deck
card_rank: Q
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "2", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}], "River": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "spades"}]}


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:43.325142
player_id: cpu_a25851e2
player_name: Diego
action: swap
card_rank: Q
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: swapped Q into position 4, replaced 10
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:44.365854
player_id: cpu_cca8b0b3
player_name: Priya
action: draw_deck
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "2", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Diego": [{"rank": "5", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}], "River": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "spades"}]}


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:45.020908
player_id: cpu_cca8b0b3
player_name: Priya
action: swap
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: swapped A into position 3, replaced 6
hand_json:
[{"rank": "K", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "2", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Diego": [{"rank": "5", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}], "River": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "spades"}]}


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:46.199044
player_id: cpu_08a2a080
player_name: River
action: draw_deck
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "2", "suit": "spades"}, {"rank": "4", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}], "Diego": [{"rank": "5", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}], "Priya": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}]}


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:33:46.727725
player_id: cpu_08a2a080
player_name: River
action: swap
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "2", "suit": "hearts"}
decision_reason: swapped 4 into position 1, replaced 2
hand_json:
[{"rank": "5", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:34:40.681202
player_id: cpu_76b8b4ec
player_name: Maya
action: draw_deck
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:34:41.096512
player_id: cpu_76b8b4ec
player_name: Maya
action: swap
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: swapped 2 into position 4, replaced 8
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:34:41.931550
player_id: cpu_a25851e2
player_name: Diego
action: take_discard
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: took 8 from discard
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:34:42.519848
player_id: cpu_a25851e2
player_name: Diego
action: swap
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: swapped 8 into position 1, replaced 8
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:34:43.675178
player_id: cpu_cca8b0b3
player_name: Priya
action: draw_deck
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}], "Diego": [{"rank": "5", "suit": "hearts"}, {"rank": "8", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}], "River": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "4", "suit": "spades"}]}


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:34:44.313739
player_id: cpu_cca8b0b3
player_name: Priya
action: swap
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "3", "suit": "hearts"}
decision_reason: swapped A into position 5, replaced 3
hand_json:
[{"rank": "K", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"RUDY TOOTIE": [{"rank": "2", "suit": "spades"}, {"rank": "2", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "5", "suit": "clubs"}, {"rank": "5", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}], "Diego": [{"rank": "5", "suit": "hearts"}, {"rank": "8", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}], "River": [{"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "4", "suit": "spades"}]}


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:34:45.572218
player_id: cpu_08a2a080
player_name: River
action: take_discard
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "5", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:34:46.153195
player_id: cpu_08a2a080
player_name: River
action: swap
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: swapped 3 into position 0, replaced 5
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:34:52.921152
player_id: cpu_76b8b4ec
player_name: Maya
action: draw_deck
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:34:53.410065
player_id: cpu_76b8b4ec
player_name: Maya
action: swap
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "clubs"}
decision_reason: swapped K into position 0, replaced 5
hand_json:
[{"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:34:53.974714
player_id: cpu_a25851e2
player_name: Diego
action: take_discard
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:34:54.771320
player_id: cpu_a25851e2
player_name: Diego
action: swap
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: swapped 5 into position 3, replaced 7
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:34:56.013103
player_id: cpu_cca8b0b3
player_name: Priya
action: draw_deck
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:34:57.478281
player_id: cpu_08a2a080
player_name: River
action: draw_deck
card_rank: K
card_suit: hearts
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:34:57.912358
player_id: cpu_08a2a080
player_name: River
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": "3", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:35:05.215947
player_id: cpu_76b8b4ec
player_name: Maya
action: draw_deck
card_rank: 8
card_suit: diamonds
discard_top_json: {"rank": "A", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

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


game_id: 5408a8e8-a896-4ebc-8b89-6826530723b2
timestamp: 2026-01-24 20:35:05.728603
player_id: cpu_76b8b4ec
player_name: Maya
action: discard
card_rank: 8
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: discarded 8
hand_json:
[{"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": true}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:39:50.390006
player_id: cpu_505ee0e7
player_name: Maya
action: draw_deck
card_rank: K
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"aaron": [{"rank": "2", "suit": "spades"}, {"rank": "J", "suit": "clubs"}], "Priya": [{"rank": "J", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "clubs"}, {"rank": "9", "suit": "diamonds"}], "Diego": [{"rank": "8", "suit": "spades"}, {"rank": "3", "suit": "hearts"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:39:50.996618
player_id: cpu_505ee0e7
player_name: Maya
action: swap
card_rank: K
card_suit: diamonds
discard_top_json: {"rank": "4", "suit": "diamonds"}
decision_reason: swapped K into position 2, replaced 4
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"aaron": [{"rank": "2", "suit": "spades"}, {"rank": "J", "suit": "clubs"}], "Priya": [{"rank": "J", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "clubs"}, {"rank": "9", "suit": "diamonds"}], "Diego": [{"rank": "8", "suit": "spades"}, {"rank": "3", "suit": "hearts"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:39:52.232271
player_id: cpu_d1d0f1e7
player_name: Priya
action: take_discard
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "J", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:39:52.891902
player_id: cpu_d1d0f1e7
player_name: Priya
action: swap
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: swapped 4 into position 0, replaced J
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:39:53.757519
player_id: cpu_e8add811
player_name: River
action: draw_deck
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"aaron": [{"rank": "2", "suit": "spades"}, {"rank": "J", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "Q", "suit": "diamonds"}], "Diego": [{"rank": "8", "suit": "spades"}, {"rank": "3", "suit": "hearts"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:39:54.195420
player_id: cpu_e8add811
player_name: River
action: swap
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: swapped A into position 4, replaced 9
hand_json:
[{"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"aaron": [{"rank": "2", "suit": "spades"}, {"rank": "J", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "Q", "suit": "diamonds"}], "Diego": [{"rank": "8", "suit": "spades"}, {"rank": "3", "suit": "hearts"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:39:54.696704
player_id: cpu_2fe72496
player_name: Diego
action: draw_deck
card_rank: K
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"aaron": [{"rank": "2", "suit": "spades"}, {"rank": "J", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "Q", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:39:55.383179
player_id: cpu_2fe72496
player_name: Diego
action: swap
card_rank: K
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: swapped K into position 2, replaced 8
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"aaron": [{"rank": "2", "suit": "spades"}, {"rank": "J", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "Q", "suit": "diamonds"}], "River": [{"rank": "4", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:00.125690
player_id: cpu_505ee0e7
player_name: Maya
action: draw_deck
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:00.807290
player_id: cpu_505ee0e7
player_name: Maya
action: swap
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "4", "suit": "hearts"}
decision_reason: swapped 3 into position 0, replaced 4
hand_json:
[{"rank": "3", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:01.685747
player_id: cpu_d1d0f1e7
player_name: Priya
action: take_discard
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:02.220369
player_id: cpu_d1d0f1e7
player_name: Priya
action: swap
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "2", "suit": "spades"}
decision_reason: swapped 4 into position 3, replaced 2
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:03.260357
player_id: cpu_e8add811
player_name: River
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": "10", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:03.953093
player_id: cpu_e8add811
player_name: River
action: swap
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "4", "suit": "clubs"}
decision_reason: swapped 2 into position 2, replaced 4
hand_json:
[{"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:04.972024
player_id: cpu_2fe72496
player_name: Diego
action: draw_deck
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "4", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": false}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:05.764407
player_id: cpu_2fe72496
player_name: Diego
action: swap
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "3", "suit": "diamonds"}
decision_reason: swapped 5 into position 0, replaced 3
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": false}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:12.420162
player_id: cpu_505ee0e7
player_name: Maya
action: draw_deck
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:12.888267
player_id: cpu_505ee0e7
player_name: Maya
action: swap
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "3", "suit": "spades"}
decision_reason: swapped A into position 0, replaced 3
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:14.131534
player_id: cpu_d1d0f1e7
player_name: Priya
action: take_discard
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:14.846496
player_id: cpu_d1d0f1e7
player_name: Priya
action: swap
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: swapped 3 into position 5, replaced Q
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:16.016750
player_id: cpu_e8add811
player_name: River
action: draw_deck
card_rank: Q
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:17.335275
player_id: cpu_2fe72496
player_name: Diego
action: draw_deck
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": false}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:18.009138
player_id: cpu_2fe72496
player_name: Diego
action: swap
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "5", "suit": "clubs"}
decision_reason: swapped 3 into position 0, replaced 5
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": false}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:23.199265
player_id: cpu_505ee0e7
player_name: Maya
action: draw_deck
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "3", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:23.678827
player_id: cpu_505ee0e7
player_name: Maya
action: swap
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: swapped 4 into position 1, replaced 9
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:24.680818
player_id: cpu_d1d0f1e7
player_name: Priya
action: draw_deck
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:26.556267
player_id: cpu_e8add811
player_name: River
action: draw_deck
card_rank: K
card_suit: spades
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"aaron": [{"rank": "2", "suit": "spades"}, {"rank": "J", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "J", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "4", "suit": "hearts"}, {"rank": "3", "suit": "spades"}], "Diego": [{"rank": "3", "suit": "hearts"}, {"rank": "K", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:27.280715
player_id: cpu_e8add811
player_name: River
action: swap
card_rank: K
card_suit: spades
discard_top_json: {"rank": "A", "suit": "hearts"}
decision_reason: swapped K into position 4, replaced A
hand_json:
[{"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:28.139162
player_id: cpu_2fe72496
player_name: Diego
action: take_discard
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: took A from discard
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": false}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:28.813440
player_id: cpu_2fe72496
player_name: Diego
action: swap
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "3", "suit": "hearts"}
decision_reason: swapped A into position 0, replaced 3
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": false}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:33.482407
player_id: cpu_505ee0e7
player_name: Maya
action: draw_deck
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:34.235273
player_id: cpu_505ee0e7
player_name: Maya
action: swap
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: swapped 5 into position 4, replaced 9
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:35.245570
player_id: cpu_d1d0f1e7
player_name: Priya
action: draw_deck
card_rank: J
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"aaron": [{"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "J", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "J", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}], "River": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "spades"}], "Diego": [{"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:36.959714
player_id: cpu_e8add811
player_name: River
action: draw_deck
card_rank: 10
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": false}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:38.478230
player_id: cpu_2fe72496
player_name: Diego
action: draw_deck
card_rank: Q
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": false}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:49.295008
player_id: cpu_2fe72496
player_name: Diego
action: swap
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: swapped 5 into position 1, replaced 7
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": false}]


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:56.087255
player_id: cpu_505ee0e7
player_name: Maya
action: draw_deck
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"aaron": [{"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "J", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "4", "suit": "hearts"}, {"rank": "3", "suit": "spades"}], "River": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "spades"}], "Diego": [{"rank": "A", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:56.584375
player_id: cpu_505ee0e7
player_name: Maya
action: swap
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "2", "suit": "hearts"}
decision_reason: swapped 5 into position 5, replaced 2
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:57.563993
player_id: cpu_d1d0f1e7
player_name: Priya
action: take_discard
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: took 2 from discard
visible_opponents_json:
{"aaron": [{"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "J", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "River": [{"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "spades"}], "Diego": [{"rank": "A", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:58.251176
player_id: cpu_d1d0f1e7
player_name: Priya
action: swap
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "4", "suit": "diamonds"}
decision_reason: swapped 2 into position 0, replaced 4
hand_json:
[{"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:40:59.525197
player_id: cpu_e8add811
player_name: River
action: draw_deck
card_rank: 10
card_suit: clubs
discard_top_json: {"rank": "4", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"aaron": [{"rank": "2", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "J", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}], "Priya": [{"rank": "2", "suit": "hearts"}, {"rank": "4", "suit": "hearts"}, {"rank": "3", "suit": "spades"}], "Diego": [{"rank": "A", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "K", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:41:00.772172
player_id: cpu_2fe72496
player_name: Diego
action: draw_deck
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": false}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:43:00.446467
player_id: cpu_505ee0e7
player_name: Maya
action: take_discard
card_rank: 6
card_suit: spades
decision_reason: took 6 from discard
hand_json:
[{"rank": "6", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"aaron": [{"rank": "J", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Priya": [{"rank": "8", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}], "River": [{"rank": "Q", "suit": "hearts"}, {"rank": "Q", "suit": "clubs"}], "Diego": [{"rank": "9", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:43:01.099816
player_id: cpu_505ee0e7
player_name: Maya
action: swap
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: swapped 6 into position 3, replaced Q
hand_json:
[{"rank": "6", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"aaron": [{"rank": "J", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Priya": [{"rank": "8", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}], "River": [{"rank": "Q", "suit": "hearts"}, {"rank": "Q", "suit": "clubs"}], "Diego": [{"rank": "9", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:43:02.114807
player_id: cpu_d1d0f1e7
player_name: Priya
action: draw_deck
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"aaron": [{"rank": "J", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}], "River": [{"rank": "Q", "suit": "hearts"}, {"rank": "Q", "suit": "clubs"}], "Diego": [{"rank": "9", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:43:02.684226
player_id: cpu_d1d0f1e7
player_name: Priya
action: swap
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: swapped 7 into position 2, replaced 8
hand_json:
[{"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"aaron": [{"rank": "J", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}], "River": [{"rank": "Q", "suit": "hearts"}, {"rank": "Q", "suit": "clubs"}], "Diego": [{"rank": "9", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:43:03.522791
player_id: cpu_e8add811
player_name: River
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": "hearts", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"aaron": [{"rank": "J", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}], "Priya": [{"rank": "7", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "Diego": [{"rank": "9", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:43:04.224057
player_id: cpu_e8add811
player_name: River
action: swap
card_rank: 8
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: swapped 8 into position 2, replaced Q
hand_json:
[{"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"aaron": [{"rank": "J", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}], "Priya": [{"rank": "7", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "Diego": [{"rank": "9", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:43:05.017296
player_id: cpu_2fe72496
player_name: Diego
action: draw_deck
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"aaron": [{"rank": "J", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}], "Priya": [{"rank": "7", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "River": [{"rank": "8", "suit": "clubs"}, {"rank": "Q", "suit": "clubs"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:43:05.777543
player_id: cpu_2fe72496
player_name: Diego
action: swap
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: swapped 8 into position 1, replaced 9
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"aaron": [{"rank": "J", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}], "Priya": [{"rank": "7", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "River": [{"rank": "8", "suit": "clubs"}, {"rank": "Q", "suit": "clubs"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:43:11.858340
player_id: cpu_505ee0e7
player_name: Maya
action: draw_deck
card_rank: 10
card_suit: spades
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"aaron": [{"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Priya": [{"rank": "7", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "River": [{"rank": "8", "suit": "clubs"}, {"rank": "Q", "suit": "clubs"}], "Diego": [{"rank": "8", "suit": "spades"}, {"rank": "7", "suit": "spades"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:43:13.666591
player_id: cpu_d1d0f1e7
player_name: Priya
action: draw_deck
card_rank: J
card_suit: spades
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:43:15.398159
player_id: cpu_e8add811
player_name: River
action: draw_deck
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"aaron": [{"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}], "Priya": [{"rank": "7", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "Diego": [{"rank": "8", "suit": "spades"}, {"rank": "7", "suit": "spades"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:43:15.884501
player_id: cpu_e8add811
player_name: River
action: swap
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: swapped 5 into position 4, replaced Q
hand_json:
[{"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"aaron": [{"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}], "Priya": [{"rank": "7", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "Diego": [{"rank": "8", "suit": "spades"}, {"rank": "7", "suit": "spades"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:43:16.626111
player_id: cpu_2fe72496
player_name: Diego
action: draw_deck
card_rank: 9
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": false}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:43:22.364899
player_id: cpu_505ee0e7
player_name: Maya
action: draw_deck
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"aaron": [{"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Priya": [{"rank": "7", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "River": [{"rank": "8", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}], "Diego": [{"rank": "8", "suit": "spades"}, {"rank": "7", "suit": "spades"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:43:22.792551
player_id: cpu_505ee0e7
player_name: Maya
action: swap
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "spades"}
decision_reason: swapped 3 into position 3, replaced 6
hand_json:
[{"rank": "6", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}]

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


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:43:23.694091
player_id: cpu_d1d0f1e7
player_name: Priya
action: draw_deck
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "6", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"aaron": [{"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "diamonds"}, {"rank": "3", "suit": "clubs"}], "River": [{"rank": "8", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}], "Diego": [{"rank": "8", "suit": "spades"}, {"rank": "7", "suit": "spades"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:43:25.765294
player_id: cpu_e8add811
player_name: River
action: take_discard
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "6", "suit": "spades"}
decision_reason: took 8 from discard
hand_json:
[{"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"aaron": [{"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "diamonds"}, {"rank": "3", "suit": "clubs"}], "Priya": [{"rank": "7", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "Diego": [{"rank": "8", "suit": "spades"}, {"rank": "7", "suit": "spades"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:43:26.355004
player_id: cpu_e8add811
player_name: River
action: swap
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: swapped 8 into position 5, replaced 6
hand_json:
[{"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"aaron": [{"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "diamonds"}, {"rank": "3", "suit": "clubs"}], "Priya": [{"rank": "7", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "Diego": [{"rank": "8", "suit": "spades"}, {"rank": "7", "suit": "spades"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:43:27.216925
player_id: cpu_2fe72496
player_name: Diego
action: take_discard
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "spades"}
decision_reason: took 6 from discard
visible_opponents_json:
{"aaron": [{"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "diamonds"}, {"rank": "3", "suit": "clubs"}], "Priya": [{"rank": "7", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "River": [{"rank": "8", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}]}


game_id: a0bda434-9ea8-4d18-9864-cd3271ecacb2
timestamp: 2026-01-24 20:43:27.639296
player_id: cpu_2fe72496
player_name: Diego
action: swap
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: swapped 6 into position 1, replaced 8
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"aaron": [{"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "diamonds"}, {"rank": "3", "suit": "clubs"}], "Priya": [{"rank": "7", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}], "River": [{"rank": "8", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}]}


game_id: fdaef323-1a2e-4441-98ff-55ffdc219877
timestamp: 2026-01-24 20:46:41.025283
player_id: cpu_d4ca5801
player_name: Maya
action: draw_deck
card_rank: 10
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"dass": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}], "Sage": [{"rank": "9", "suit": "clubs"}, {"rank": "7", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}]}


game_id: fdaef323-1a2e-4441-98ff-55ffdc219877
timestamp: 2026-01-24 20:46:42.179953
player_id: cpu_98326b8f
player_name: Diego
action: draw_deck
card_rank: ★
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dass": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Maya": [{"rank": "8", "suit": "clubs"}, {"rank": "K", "suit": "spades"}], "Sage": [{"rank": "9", "suit": "clubs"}, {"rank": "7", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}]}


game_id: fdaef323-1a2e-4441-98ff-55ffdc219877
timestamp: 2026-01-24 20:46:42.594041
player_id: cpu_98326b8f
player_name: Diego
action: swap
card_rank: ★
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: swapped ★ into position 4, replaced J
hand_json:
[{"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "\u2605", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dass": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Maya": [{"rank": "8", "suit": "clubs"}, {"rank": "K", "suit": "spades"}], "Sage": [{"rank": "9", "suit": "clubs"}, {"rank": "7", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}]}


game_id: fdaef323-1a2e-4441-98ff-55ffdc219877
timestamp: 2026-01-24 20:46:43.790490
player_id: cpu_1c144cba
player_name: Sage
action: draw_deck
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"dass": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Maya": [{"rank": "8", "suit": "clubs"}, {"rank": "K", "suit": "spades"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "\u2605", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}]}


game_id: fdaef323-1a2e-4441-98ff-55ffdc219877
timestamp: 2026-01-24 20:46:44.385907
player_id: cpu_1c144cba
player_name: Sage
action: swap
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: swapped 2 into position 2, replaced 9
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"dass": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Maya": [{"rank": "8", "suit": "clubs"}, {"rank": "K", "suit": "spades"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "\u2605", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}]}


game_id: fdaef323-1a2e-4441-98ff-55ffdc219877
timestamp: 2026-01-24 20:46:45.357376
player_id: cpu_89be7f81
player_name: Marcus
action: take_discard
card_rank: 9
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: took 9 from discard
hand_json:
[{"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"dass": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Maya": [{"rank": "8", "suit": "clubs"}, {"rank": "K", "suit": "spades"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "\u2605", "suit": "hearts"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "hearts"}]}


game_id: fdaef323-1a2e-4441-98ff-55ffdc219877
timestamp: 2026-01-24 20:46:46.053959
player_id: cpu_89be7f81
player_name: Marcus
action: swap
card_rank: 9
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "clubs"}
decision_reason: swapped 9 into position 5, replaced 5
hand_json:
[{"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"dass": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Maya": [{"rank": "8", "suit": "clubs"}, {"rank": "K", "suit": "spades"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "\u2605", "suit": "hearts"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "hearts"}]}


game_id: fdaef323-1a2e-4441-98ff-55ffdc219877
timestamp: 2026-01-24 20:46:50.873835
player_id: cpu_d4ca5801
player_name: Maya
action: draw_deck
card_rank: K
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"dass": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "\u2605", "suit": "hearts"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}]}


game_id: fdaef323-1a2e-4441-98ff-55ffdc219877
timestamp: 2026-01-24 20:46:51.662783
player_id: cpu_d4ca5801
player_name: Maya
action: swap
card_rank: K
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: swapped K into position 0, replaced 8
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"dass": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "\u2605", "suit": "hearts"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}]}


game_id: fdaef323-1a2e-4441-98ff-55ffdc219877
timestamp: 2026-01-24 20:46:52.000704
player_id: cpu_98326b8f
player_name: Diego
action: draw_deck
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "\u2605", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dass": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}]}


game_id: fdaef323-1a2e-4441-98ff-55ffdc219877
timestamp: 2026-01-24 20:46:52.409928
player_id: cpu_98326b8f
player_name: Diego
action: swap
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: swapped 3 into position 0, replaced Q
hand_json:
[{"rank": "3", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "\u2605", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dass": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}]}


game_id: fdaef323-1a2e-4441-98ff-55ffdc219877
timestamp: 2026-01-24 20:46:53.656424
player_id: cpu_1c144cba
player_name: Sage
action: draw_deck
card_rank: 10
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"dass": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}], "Diego": [{"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}, {"rank": "\u2605", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}]}


game_id: fdaef323-1a2e-4441-98ff-55ffdc219877
timestamp: 2026-01-24 20:46:55.387760
player_id: cpu_89be7f81
player_name: Marcus
action: draw_deck
card_rank: Q
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"dass": [{"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}], "Diego": [{"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}, {"rank": "\u2605", "suit": "hearts"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "hearts"}]}


game_id: fdaef323-1a2e-4441-98ff-55ffdc219877
timestamp: 2026-01-24 20:47:01.394074
player_id: cpu_d4ca5801
player_name: Maya
action: draw_deck
card_rank: Q
card_suit: spades
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"dass": [{"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Diego": [{"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}, {"rank": "\u2605", "suit": "hearts"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}]}


game_id: fdaef323-1a2e-4441-98ff-55ffdc219877
timestamp: 2026-01-24 20:47:03.032313
player_id: cpu_98326b8f
player_name: Diego
action: draw_deck
card_rank: Q
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "\u2605", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dass": [{"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}]}


game_id: fdaef323-1a2e-4441-98ff-55ffdc219877
timestamp: 2026-01-24 20:47:04.644103
player_id: cpu_1c144cba
player_name: Sage
action: draw_deck
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"dass": [{"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}], "Diego": [{"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}, {"rank": "\u2605", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}]}


game_id: fdaef323-1a2e-4441-98ff-55ffdc219877
timestamp: 2026-01-24 20:47:05.267767
player_id: cpu_1c144cba
player_name: Sage
action: swap
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: swapped 6 into position 3, replaced 7
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"dass": [{"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}], "Diego": [{"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}, {"rank": "\u2605", "suit": "hearts"}], "Marcus": [{"rank": "9", "suit": "diamonds"}, {"rank": "A", "suit": "diamonds"}, {"rank": "9", "suit": "clubs"}]}


game_id: fdaef323-1a2e-4441-98ff-55ffdc219877
timestamp: 2026-01-24 20:47:06.194414
player_id: cpu_89be7f81
player_name: Marcus
action: take_discard
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: took 7 from discard
visible_opponents_json:
{"dass": [{"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}], "Diego": [{"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}, {"rank": "\u2605", "suit": "hearts"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "6", "suit": "spades"}]}


game_id: fdaef323-1a2e-4441-98ff-55ffdc219877
timestamp: 2026-01-24 20:47:06.921880
player_id: cpu_89be7f81
player_name: Marcus
action: swap
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: swapped 7 into position 2, replaced 9
hand_json:
[{"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"dass": [{"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Maya": [{"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}], "Diego": [{"rank": "3", "suit": "spades"}, {"rank": "3", "suit": "clubs"}, {"rank": "\u2605", "suit": "hearts"}], "Sage": [{"rank": "2", "suit": "hearts"}, {"rank": "6", "suit": "spades"}]}


game_id: f7550639-e9cf-494e-9e95-5fb9515e84c4
timestamp: 2026-01-24 20:51:47.345984
player_id: cpu_64669578
player_name: Maya
action: draw_deck
card_rank: 10
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"jdsalkj": [{"rank": "7", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "K", "suit": "clubs"}, {"rank": "3", "suit": "spades"}], "Priya": [{"rank": "5", "suit": "hearts"}, {"rank": "9", "suit": "clubs"}]}


game_id: f7550639-e9cf-494e-9e95-5fb9515e84c4
timestamp: 2026-01-24 20:51:48.672740
player_id: cpu_6a0a898f
player_name: River
action: draw_deck
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"jdsalkj": [{"rank": "7", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Maya": [{"rank": "3", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}], "Priya": [{"rank": "5", "suit": "hearts"}, {"rank": "9", "suit": "clubs"}]}


game_id: f7550639-e9cf-494e-9e95-5fb9515e84c4
timestamp: 2026-01-24 20:51:49.324330
player_id: cpu_6a0a898f
player_name: River
action: swap
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "3", "suit": "spades"}
decision_reason: swapped A into position 5, replaced 3
hand_json:
[{"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"jdsalkj": [{"rank": "7", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Maya": [{"rank": "3", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}], "Priya": [{"rank": "5", "suit": "hearts"}, {"rank": "9", "suit": "clubs"}]}


game_id: f7550639-e9cf-494e-9e95-5fb9515e84c4
timestamp: 2026-01-24 20:51:50.413501
player_id: cpu_5f78d21e
player_name: Priya
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": "5", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"jdsalkj": [{"rank": "7", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Maya": [{"rank": "3", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}], "River": [{"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}]}


game_id: 5e26fd7b-9312-4318-a186-b568712690c3
timestamp: 2026-01-24 20:54:39.305566
player_id: cpu_726b40de
player_name: Maya
action: take_discard
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: took A from discard
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"jdsalkj": [{"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "10", "suit": "spades"}], "Diego": [{"rank": "7", "suit": "hearts"}, {"rank": "J", "suit": "diamonds"}], "River": [{"rank": "10", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}], "Sage": [{"rank": "2", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}]}


game_id: 5e26fd7b-9312-4318-a186-b568712690c3
timestamp: 2026-01-24 20:54:39.776404
player_id: cpu_726b40de
player_name: Maya
action: swap
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: swapped A into position 3, replaced 8
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"jdsalkj": [{"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "10", "suit": "spades"}], "Diego": [{"rank": "7", "suit": "hearts"}, {"rank": "J", "suit": "diamonds"}], "River": [{"rank": "10", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}], "Sage": [{"rank": "2", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}]}


game_id: 5e26fd7b-9312-4318-a186-b568712690c3
timestamp: 2026-01-24 20:54:40.229371
player_id: cpu_3551d7d7
player_name: Diego
action: take_discard
card_rank: 8
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: took 8 from discard
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"jdsalkj": [{"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "10", "suit": "spades"}], "Maya": [{"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "clubs"}], "River": [{"rank": "10", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}], "Sage": [{"rank": "2", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}]}


game_id: 5e26fd7b-9312-4318-a186-b568712690c3
timestamp: 2026-01-24 20:54:40.840233
player_id: cpu_3551d7d7
player_name: Diego
action: swap
card_rank: 8
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: swapped 8 into position 5, replaced J
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"jdsalkj": [{"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "10", "suit": "spades"}], "Maya": [{"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "clubs"}], "River": [{"rank": "10", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}], "Sage": [{"rank": "2", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}]}


game_id: 5e26fd7b-9312-4318-a186-b568712690c3
timestamp: 2026-01-24 20:54:42.132370
player_id: cpu_44dbff2c
player_name: River
action: take_discard
card_rank: J
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: took J from discard
hand_json:
[{"rank": "10", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": false}]

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


game_id: 5e26fd7b-9312-4318-a186-b568712690c3
timestamp: 2026-01-24 20:54:42.723200
player_id: cpu_44dbff2c
player_name: River
action: swap
card_rank: J
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: swapped J into position 0, replaced 10
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": false}]

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


game_id: 5e26fd7b-9312-4318-a186-b568712690c3
timestamp: 2026-01-24 20:54:43.723020
player_id: cpu_e54e6508
player_name: Sage
action: draw_deck
card_rank: Q
card_suit: spades
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"jdsalkj": [{"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "10", "suit": "spades"}], "Maya": [{"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "clubs"}], "Diego": [{"rank": "7", "suit": "hearts"}, {"rank": "8", "suit": "clubs"}], "River": [{"rank": "J", "suit": "diamonds"}, {"rank": "10", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}]}


game_id: 5e26fd7b-9312-4318-a186-b568712690c3
timestamp: 2026-01-24 20:54:44.262369
player_id: cpu_e54e6508
player_name: Sage
action: swap
card_rank: Q
card_suit: spades
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: swapped Q into position 2, replaced 9
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"jdsalkj": [{"rank": "A", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "10", "suit": "spades"}], "Maya": [{"rank": "5", "suit": "clubs"}, {"rank": "A", "suit": "clubs"}], "Diego": [{"rank": "7", "suit": "hearts"}, {"rank": "8", "suit": "clubs"}], "River": [{"rank": "J", "suit": "diamonds"}, {"rank": "10", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:08:57.265428
player_id: cpu_e0540ed8
player_name: Sage
action: draw_deck
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"McRoger": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}], "Diego": [{"rank": "8", "suit": "spades"}, {"rank": "J", "suit": "hearts"}], "Kenji": [{"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "spades"}], "Sofia": [{"rank": "10", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:08:57.960092
player_id: cpu_e0540ed8
player_name: Sage
action: swap
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: swapped 5 into position 3, replaced 10
hand_json:
[{"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"McRoger": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}], "Diego": [{"rank": "8", "suit": "spades"}, {"rank": "J", "suit": "hearts"}], "Kenji": [{"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "spades"}], "Sofia": [{"rank": "10", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:08:58.868433
player_id: cpu_b89801df
player_name: Priya
action: draw_deck
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"McRoger": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}], "Sage": [{"rank": "5", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "J", "suit": "diamonds"}], "Diego": [{"rank": "8", "suit": "spades"}, {"rank": "J", "suit": "hearts"}], "Kenji": [{"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "spades"}], "Sofia": [{"rank": "10", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:08:59.519559
player_id: cpu_b89801df
player_name: Priya
action: swap
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: swapped 2 into position 5, replaced 7
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"McRoger": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}], "Sage": [{"rank": "5", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "J", "suit": "diamonds"}], "Diego": [{"rank": "8", "suit": "spades"}, {"rank": "J", "suit": "hearts"}], "Kenji": [{"rank": "4", "suit": "spades"}, {"rank": "3", "suit": "spades"}], "Sofia": [{"rank": "10", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:00.711434
player_id: cpu_dc0bfafd
player_name: Diego
action: take_discard
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:01.406108
player_id: cpu_dc0bfafd
player_name: Diego
action: swap
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "A", "suit": "clubs"}
decision_reason: swapped 7 into position 2, replaced A
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:02.347875
player_id: cpu_592b5e54
player_name: Kenji
action: take_discard
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: took A from discard
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"McRoger": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}], "Sage": [{"rank": "5", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "J", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}], "Diego": [{"rank": "8", "suit": "spades"}, {"rank": "7", "suit": "spades"}, {"rank": "J", "suit": "hearts"}], "Sofia": [{"rank": "10", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:02.956180
player_id: cpu_592b5e54
player_name: Kenji
action: swap
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: swapped A into position 2, replaced 4
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"McRoger": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}], "Sage": [{"rank": "5", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "J", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}], "Diego": [{"rank": "8", "suit": "spades"}, {"rank": "7", "suit": "spades"}, {"rank": "J", "suit": "hearts"}], "Sofia": [{"rank": "10", "suit": "diamonds"}, {"rank": "K", "suit": "hearts"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:04.095807
player_id: cpu_09223695
player_name: Sofia
action: take_discard
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"McRoger": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}], "Sage": [{"rank": "5", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "J", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}], "Diego": [{"rank": "8", "suit": "spades"}, {"rank": "7", "suit": "spades"}, {"rank": "J", "suit": "hearts"}], "Kenji": [{"rank": "A", "suit": "clubs"}, {"rank": "3", "suit": "spades"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:04.518006
player_id: cpu_09223695
player_name: Sofia
action: swap
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: swapped 4 into position 1, replaced 10
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"McRoger": [{"rank": "7", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}], "Sage": [{"rank": "5", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "J", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "diamonds"}], "Diego": [{"rank": "8", "suit": "spades"}, {"rank": "7", "suit": "spades"}, {"rank": "J", "suit": "hearts"}], "Kenji": [{"rank": "A", "suit": "clubs"}, {"rank": "3", "suit": "spades"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:12.451940
player_id: cpu_e0540ed8
player_name: Sage
action: take_discard
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:13.148373
player_id: cpu_e0540ed8
player_name: Sage
action: swap
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: swapped 7 into position 5, replaced J
hand_json:
[{"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:14.411066
player_id: cpu_b89801df
player_name: Priya
action: draw_deck
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:15.120915
player_id: cpu_b89801df
player_name: Priya
action: swap
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "3", "suit": "hearts"}
decision_reason: swapped A into position 3, replaced 3
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:15.659145
player_id: cpu_dc0bfafd
player_name: Diego
action: draw_deck
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "3", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:16.378898
player_id: cpu_dc0bfafd
player_name: Diego
action: swap
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: swapped 4 into position 3, replaced J
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:17.438883
player_id: cpu_592b5e54
player_name: Kenji
action: draw_deck
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:19.381503
player_id: cpu_09223695
player_name: Sofia
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": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": false}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:19.980303
player_id: cpu_09223695
player_name: Sofia
action: swap
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: swapped 6 into position 5, replaced 10
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:30.554214
player_id: cpu_e0540ed8
player_name: Sage
action: draw_deck
card_rank: 9
card_suit: spades
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:32.140798
player_id: cpu_b89801df
player_name: Priya
action: draw_deck
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:32.831264
player_id: cpu_b89801df
player_name: Priya
action: swap
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "A", "suit": "diamonds"}
decision_reason: swapped 2 into position 0, replaced A
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:33.308201
player_id: cpu_dc0bfafd
player_name: Diego
action: take_discard
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: took A from discard
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:33.907152
player_id: cpu_dc0bfafd
player_name: Diego
action: swap
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: swapped A into position 1, replaced 8
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:34.894848
player_id: cpu_592b5e54
player_name: Kenji
action: draw_deck
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"McRoger": [{"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}], "Sage": [{"rank": "5", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Priya": [{"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}], "Diego": [{"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}, {"rank": "4", "suit": "hearts"}], "Sofia": [{"rank": "4", "suit": "spades"}, {"rank": "K", "suit": "hearts"}, {"rank": "6", "suit": "hearts"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:35.481296
player_id: cpu_592b5e54
player_name: Kenji
action: swap
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "K", "suit": "diamonds"}
decision_reason: swapped 5 into position 0, replaced K
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:36.682353
player_id: cpu_09223695
player_name: Sofia
action: take_discard
card_rank: K
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: took K from discard
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:37.247721
player_id: cpu_09223695
player_name: Sofia
action: swap
card_rank: K
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: swapped K into position 5, replaced 6
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:45.869092
player_id: cpu_e0540ed8
player_name: Sage
action: take_discard
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: took 7 from discard
visible_opponents_json:
{"McRoger": [{"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}], "Priya": [{"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}], "Diego": [{"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}, {"rank": "4", "suit": "hearts"}], "Kenji": [{"rank": "5", "suit": "hearts"}, {"rank": "A", "suit": "clubs"}, {"rank": "3", "suit": "spades"}], "Sofia": [{"rank": "4", "suit": "spades"}, {"rank": "K", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:46.281125
player_id: cpu_e0540ed8
player_name: Sage
action: swap
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: swapped 7 into position 2, replaced 7
hand_json:
[{"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:47.465810
player_id: cpu_b89801df
player_name: Priya
action: take_discard
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:48.107944
player_id: cpu_b89801df
player_name: Priya
action: swap
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: swapped 7 into position 1, replaced Q
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:49.192690
player_id: cpu_dc0bfafd
player_name: Diego
action: draw_deck
card_rank: 9
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:50.741968
player_id: cpu_592b5e54
player_name: Kenji
action: draw_deck
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:51.323993
player_id: cpu_592b5e54
player_name: Kenji
action: swap
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "5", "suit": "hearts"}
decision_reason: swapped 4 into position 0, replaced 5
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:52.555295
player_id: cpu_09223695
player_name: Sofia
action: take_discard
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:53.244240
player_id: cpu_09223695
player_name: Sofia
action: swap
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "K", "suit": "spades"}
decision_reason: swapped 5 into position 4, replaced K
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:59.257287
player_id: cpu_e0540ed8
player_name: Sage
action: take_discard
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:09:59.962457
player_id: cpu_e0540ed8
player_name: Sage
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": "5", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:00.882762
player_id: cpu_b89801df
player_name: Priya
action: take_discard
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:01.454927
player_id: cpu_b89801df
player_name: Priya
action: swap
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: swapped 3 into position 1, replaced 7
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:02.612247
player_id: cpu_dc0bfafd
player_name: Diego
action: take_discard
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: took 7 from discard
visible_opponents_json:
{"McRoger": [{"rank": "K", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}], "Sage": [{"rank": "5", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}, {"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}], "Priya": [{"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}, {"rank": "A", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}], "Kenji": [{"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "clubs"}, {"rank": "3", "suit": "spades"}], "Sofia": [{"rank": "4", "suit": "spades"}, {"rank": "K", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:03.064244
player_id: cpu_dc0bfafd
player_name: Diego
action: swap
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: swapped 7 into position 5, replaced 9
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:04.311432
player_id: cpu_592b5e54
player_name: Kenji
action: draw_deck
card_rank: Q
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:04.750386
player_id: cpu_592b5e54
player_name: Kenji
action: swap
card_rank: Q
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: swapped Q into position 1, replaced 8
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:05.838510
player_id: cpu_09223695
player_name: Sofia
action: draw_deck
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:06.426889
player_id: cpu_09223695
player_name: Sofia
action: swap
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "hearts"}
decision_reason: swapped 2 into position 4, replaced 5
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:16.029421
player_id: cpu_e0540ed8
player_name: Sage
action: draw_deck
card_rank: J
card_suit: spades
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:17.466157
player_id: cpu_b89801df
player_name: Priya
action: draw_deck
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:18.164817
player_id: cpu_b89801df
player_name: Priya
action: swap
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "3", "suit": "diamonds"}
decision_reason: swapped K into position 1, replaced 3
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:18.582270
player_id: cpu_dc0bfafd
player_name: Diego
action: take_discard
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:19.095028
player_id: cpu_dc0bfafd
player_name: Diego
action: swap
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: swapped 3 into position 2, replaced 7
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:20.222326
player_id: cpu_592b5e54
player_name: Kenji
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": "4", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:20.673315
player_id: cpu_592b5e54
player_name: Kenji
action: swap
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: swapped 7 into position 1, replaced Q
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:21.592423
player_id: cpu_09223695
player_name: Sofia
action: draw_deck
card_rank: A
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:22.235267
player_id: cpu_09223695
player_name: Sofia
action: swap
card_rank: A
card_suit: spades
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: swapped A into position 1, replaced 4
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:27.171349
player_id: cpu_e0540ed8
player_name: Sage
action: draw_deck
card_rank: 9
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: drew from deck
visible_opponents_json:
{"McRoger": [{"rank": "K", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}], "Priya": [{"rank": "2", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}], "Diego": [{"rank": "A", "suit": "diamonds"}, {"rank": "3", "suit": "diamonds"}, {"rank": "4", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}], "Kenji": [{"rank": "4", "suit": "spades"}, {"rank": "7", "suit": "spades"}, {"rank": "A", "suit": "clubs"}, {"rank": "3", "suit": "spades"}], "Sofia": [{"rank": "A", "suit": "spades"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:28.922374
player_id: cpu_b89801df
player_name: Priya
action: draw_deck
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:29.342735
player_id: cpu_b89801df
player_name: Priya
action: swap
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "hearts"}
decision_reason: swapped 4 into position 4, replaced 5
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:30.144059
player_id: cpu_dc0bfafd
player_name: Diego
action: take_discard
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:30.891796
player_id: cpu_dc0bfafd
player_name: Diego
action: swap
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: swapped 5 into position 5, replaced 7
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:32.155132
player_id: cpu_592b5e54
player_name: Kenji
action: take_discard
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:32.913812
player_id: cpu_592b5e54
player_name: Kenji
action: swap
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "3", "suit": "hearts"}
decision_reason: swapped 7 into position 3, replaced 3
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:34.040925
player_id: cpu_09223695
player_name: Sofia
action: take_discard
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:34.630478
player_id: cpu_09223695
player_name: Sofia
action: swap
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "2", "suit": "hearts"}
decision_reason: swapped 3 into position 2, replaced 2
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:40.451309
player_id: cpu_e0540ed8
player_name: Sage
action: take_discard
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: took 5 from discard
visible_opponents_json:
{"McRoger": [{"rank": "K", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}, {"rank": "4", "suit": "spades"}], "Priya": [{"rank": "2", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}], "Diego": [{"rank": "A", "suit": "diamonds"}, {"rank": "3", "suit": "diamonds"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}], "Kenji": [{"rank": "4", "suit": "spades"}, {"rank": "7", "suit": "spades"}, {"rank": "A", "suit": "clubs"}, {"rank": "7", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}], "Sofia": [{"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "hearts"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:41.176018
player_id: cpu_e0540ed8
player_name: Sage
action: swap
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: swapped 5 into position 2, replaced 7
hand_json:
[{"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:42.085912
player_id: cpu_b89801df
player_name: Priya
action: take_discard
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:42.655314
player_id: cpu_b89801df
player_name: Priya
action: swap
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "5", "suit": "clubs"}
decision_reason: swapped 7 into position 2, replaced 5
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:43.485920
player_id: cpu_dc0bfafd
player_name: Diego
action: take_discard
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:44.189816
player_id: cpu_dc0bfafd
player_name: Diego
action: swap
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: swapped 5 into position 0, replaced 8
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:45.299107
player_id: cpu_592b5e54
player_name: Kenji
action: draw_deck
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:45.804204
player_id: cpu_592b5e54
player_name: Kenji
action: swap
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: swapped 2 into position 1, replaced 7
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:47.094268
player_id: cpu_09223695
player_name: Sofia
action: take_discard
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:47.732478
player_id: cpu_09223695
player_name: Sofia
action: swap
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: swapped 7 into position 0, replaced 6
hand_json:
[{"rank": "7", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:55.777871
player_id: cpu_e0540ed8
player_name: Sage
action: draw_deck
card_rank: 10
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:10:56.276546
player_id: cpu_e0540ed8
player_name: Sage
action: discard
card_rank: 10
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: discarded 10
hand_json:
[{"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:11:38.716691
player_id: cpu_e0540ed8
player_name: Sage
action: draw_deck
card_rank: 8
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": false}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:11:40.326207
player_id: cpu_b89801df
player_name: Priya
action: take_discard
card_rank: 8
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: took 8 from discard
hand_json:
[{"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:11:40.946845
player_id: cpu_b89801df
player_name: Priya
action: swap
card_rank: 8
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: swapped 8 into position 5, replaced Q
hand_json:
[{"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:11:41.576946
player_id: cpu_dc0bfafd
player_name: Diego
action: draw_deck
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:11:42.298032
player_id: cpu_dc0bfafd
player_name: Diego
action: swap
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: swapped 6 into position 3, replaced J
hand_json:
[{"rank": "2", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:11:43.137839
player_id: cpu_592b5e54
player_name: Kenji
action: draw_deck
card_rank: 2
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": "9", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"McRoger": [{"rank": "10", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}], "Sage": [{"rank": "4", "suit": "clubs"}, {"rank": "6", "suit": "spades"}], "Priya": [{"rank": "K", "suit": "diamonds"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}], "Sofia": [{"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "spades"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:11:43.823728
player_id: cpu_592b5e54
player_name: Kenji
action: swap
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: swapped 2 into position 0, replaced 5
hand_json:
[{"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"McRoger": [{"rank": "10", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}], "Sage": [{"rank": "4", "suit": "clubs"}, {"rank": "6", "suit": "spades"}], "Priya": [{"rank": "K", "suit": "diamonds"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}], "Sofia": [{"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "spades"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:11:45.000035
player_id: cpu_09223695
player_name: Sofia
action: take_discard
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"McRoger": [{"rank": "10", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}], "Sage": [{"rank": "4", "suit": "clubs"}, {"rank": "6", "suit": "spades"}], "Priya": [{"rank": "K", "suit": "diamonds"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}], "Kenji": [{"rank": "2", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:11:45.704635
player_id: cpu_09223695
player_name: Sofia
action: swap
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "K", "suit": "clubs"}
decision_reason: swapped 5 into position 2, replaced K
hand_json:
[{"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"McRoger": [{"rank": "10", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}], "Sage": [{"rank": "4", "suit": "clubs"}, {"rank": "6", "suit": "spades"}], "Priya": [{"rank": "K", "suit": "diamonds"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}], "Kenji": [{"rank": "2", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:11:51.163245
player_id: cpu_e0540ed8
player_name: Sage
action: draw_deck
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"McRoger": [{"rank": "K", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "diamonds"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}], "Kenji": [{"rank": "2", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}], "Sofia": [{"rank": "3", "suit": "clubs"}, {"rank": "5", "suit": "spades"}, {"rank": "6", "suit": "spades"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:11:51.595158
player_id: cpu_e0540ed8
player_name: Sage
action: swap
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "6", "suit": "spades"}
decision_reason: swapped 5 into position 3, replaced 6
hand_json:
[{"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"McRoger": [{"rank": "K", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "diamonds"}, {"rank": "8", "suit": "diamonds"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}], "Kenji": [{"rank": "2", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}], "Sofia": [{"rank": "3", "suit": "clubs"}, {"rank": "5", "suit": "spades"}, {"rank": "6", "suit": "spades"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:11:52.515498
player_id: cpu_b89801df
player_name: Priya
action: take_discard
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:11:52.953250
player_id: cpu_b89801df
player_name: Priya
action: swap
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: swapped 6 into position 5, replaced 8
hand_json:
[{"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:11:53.578270
player_id: cpu_dc0bfafd
player_name: Diego
action: take_discard
card_rank: 8
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: took 8 from discard
hand_json:
[{"rank": "2", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:11:53.989196
player_id: cpu_dc0bfafd
player_name: Diego
action: swap
card_rank: 8
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: swapped 8 into position 5, replaced J
hand_json:
[{"rank": "2", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:11:55.050309
player_id: cpu_592b5e54
player_name: Kenji
action: draw_deck
card_rank: J
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:11:56.782247
player_id: cpu_09223695
player_name: Sofia
action: draw_deck
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": false}]

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


