# moves

game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:11:57.333234
player_id: cpu_09223695
player_name: Sofia
action: swap
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "spades"}
decision_reason: swapped 4 into position 4, replaced 6
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": "4", "suit": "diamonds", "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"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:12:04.160776
player_id: cpu_e0540ed8
player_name: Sage
action: draw_deck
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "spades"}
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": "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": "6", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "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"}], "Sofia": [{"rank": "3", "suit": "clubs"}, {"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:12:04.865228
player_id: cpu_e0540ed8
player_name: Sage
action: swap
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: swapped 5 into position 0, replaced 6
hand_json:
[{"rank": "5", "suit": "diamonds", "face_up": true}, {"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": "6", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "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"}], "Sofia": [{"rank": "3", "suit": "clubs"}, {"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:12:06.124303
player_id: cpu_b89801df
player_name: Priya
action: take_discard
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "spades"}
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": "6", "suit": "spades", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:12:06.723218
player_id: cpu_b89801df
player_name: Priya
action: swap
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "3", "suit": "diamonds"}
decision_reason: swapped 6 into position 2, replaced 3
hand_json:
[{"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"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": "6", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Sage": [{"rank": "5", "suit": "diamonds"}, {"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "spades"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "clubs"}, {"rank": "8", "suit": "diamonds"}], "Kenji": [{"rank": "2", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}], "Sofia": [{"rank": "3", "suit": "clubs"}, {"rank": "5", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:12:07.630539
player_id: cpu_dc0bfafd
player_name: Diego
action: take_discard
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: took 3 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": "8", "suit": "diamonds", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:12:08.053863
player_id: cpu_dc0bfafd
player_name: Diego
action: swap
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "3", "suit": "hearts"}
decision_reason: swapped 3 into position 4, replaced 3
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": "diamonds", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": true}]

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


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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:12:09.744220
player_id: cpu_592b5e54
player_name: Kenji
action: swap
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "3", "suit": "spades"}
decision_reason: swapped 3 into position 5, replaced 3
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": "hearts", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:12:10.999293
player_id: cpu_09223695
player_name: Sofia
action: take_discard
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: took 3 from discard
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": "4", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": false}]

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


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

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:12:16.750233
player_id: cpu_e0540ed8
player_name: Sage
action: draw_deck
card_rank: 10
card_suit: spades
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "diamonds", "face_up": true}, {"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": "6", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Priya": [{"rank": "K", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "6", "suit": "spades"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}, {"rank": "8", "suit": "diamonds"}], "Kenji": [{"rank": "2", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}], "Sofia": [{"rank": "3", "suit": "clubs"}, {"rank": "5", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:12:18.726928
player_id: cpu_b89801df
player_name: Priya
action: draw_deck
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"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": "6", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Sage": [{"rank": "5", "suit": "diamonds"}, {"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "spades"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}, {"rank": "8", "suit": "diamonds"}], "Kenji": [{"rank": "2", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}], "Sofia": [{"rank": "3", "suit": "clubs"}, {"rank": "5", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:12:19.156759
player_id: cpu_b89801df
player_name: Priya
action: swap
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: swapped 3 into position 0, replaced 6
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"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": "6", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Sage": [{"rank": "5", "suit": "diamonds"}, {"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "spades"}], "Diego": [{"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}, {"rank": "8", "suit": "diamonds"}], "Kenji": [{"rank": "2", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}], "Sofia": [{"rank": "3", "suit": "clubs"}, {"rank": "5", "suit": "spades"}, {"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}]}


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:12:19.799858
player_id: cpu_dc0bfafd
player_name: Diego
action: take_discard
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "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": "diamonds", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": true}]

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


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

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:12:21.791777
player_id: cpu_592b5e54
player_name: Kenji
action: take_discard
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: took 2 from discard
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": "hearts", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:12:22.216986
player_id: cpu_592b5e54
player_name: Kenji
action: swap
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "3", "suit": "hearts"}
decision_reason: swapped 2 into position 5, replaced 3
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": "2", "suit": "spades", "face_up": true}]

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


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

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


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

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


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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:12:32.063932
player_id: cpu_e0540ed8
player_name: Sage
action: swap
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: swapped 6 into position 5, replaced 7
hand_json:
[{"rank": "5", "suit": "diamonds", "face_up": true}, {"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": "6", "suit": "spades", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:12:33.361023
player_id: cpu_b89801df
player_name: Priya
action: take_discard
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"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": "2", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Sage": [{"rank": "5", "suit": "diamonds"}, {"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "spades"}, {"rank": "6", "suit": "spades"}], "Diego": [{"rank": "6", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}, {"rank": "8", "suit": "diamonds"}], "Kenji": [{"rank": "2", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "spades"}], "Sofia": [{"rank": "3", "suit": "clubs"}, {"rank": "3", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}]}


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

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


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

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


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

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:12:36.617183
player_id: cpu_592b5e54
player_name: Kenji
action: draw_deck
card_rank: 9
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "diamonds"}
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": "2", "suit": "spades", "face_up": true}]

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


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

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


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

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:12:43.786780
player_id: cpu_e0540ed8
player_name: Sage
action: draw_deck
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "diamonds", "face_up": true}, {"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": "6", "suit": "spades", "face_up": true}]

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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


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

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


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

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:12:56.987390
player_id: cpu_e0540ed8
player_name: Sage
action: swap
card_rank: 5
card_suit: clubs
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": "4", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": true}]

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


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

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


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

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


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

visible_opponents_json:
{"McRoger": [{"rank": "K", "suit": "clubs"}, {"rank": "8", "suit": "clubs"}], "Sage": [{"rank": "10", "suit": "spades"}, {"rank": "10", "suit": "hearts"}, {"rank": "10", "suit": "diamonds"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Kenji": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "diamonds"}], "Sofia": [{"rank": "8", "suit": "diamonds"}, {"rank": "10", "suit": "hearts"}]}


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

visible_opponents_json:
{"McRoger": [{"rank": "K", "suit": "clubs"}, {"rank": "8", "suit": "clubs"}], "Sage": [{"rank": "10", "suit": "spades"}, {"rank": "10", "suit": "hearts"}, {"rank": "10", "suit": "diamonds"}], "Diego": [{"rank": "A", "suit": "spades"}, {"rank": "9", "suit": "clubs"}], "Kenji": [{"rank": "2", "suit": "clubs"}, {"rank": "8", "suit": "diamonds"}], "Sofia": [{"rank": "8", "suit": "diamonds"}, {"rank": "10", "suit": "hearts"}]}


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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


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

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


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

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


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

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:14:44.949061
player_id: cpu_592b5e54
player_name: Kenji
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": "2", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}]

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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


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

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


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


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

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


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

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


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

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:18:12.705376
player_id: cpu_dc0bfafd
player_name: Diego
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": "6", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}]

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


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

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


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

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


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

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


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

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


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

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:18:22.933519
player_id: cpu_e0540ed8
player_name: Sage
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": "2", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}]

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:18:37.091060
player_id: cpu_e0540ed8
player_name: Sage
action: draw_deck
card_rank: A
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": "9", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}]

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


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

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


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

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


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

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


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


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

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


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

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


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

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


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

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


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

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:18:49.188523
player_id: cpu_e0540ed8
player_name: Sage
action: take_discard
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}]

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:18:49.903518
player_id: cpu_e0540ed8
player_name: Sage
action: swap
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: swapped 4 into position 2, replaced J
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}]

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

visible_opponents_json:
{"McRoger": [{"rank": "4", "suit": "spades"}, {"rank": "K", "suit": "spades"}], "Priya": [{"rank": "3", "suit": "hearts"}, {"rank": "9", "suit": "clubs"}], "Diego": [{"rank": "J", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}], "Kenji": [{"rank": "4", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}], "Sofia": [{"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "clubs"}]}


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

visible_opponents_json:
{"McRoger": [{"rank": "4", "suit": "spades"}, {"rank": "K", "suit": "spades"}], "Priya": [{"rank": "3", "suit": "hearts"}, {"rank": "9", "suit": "clubs"}], "Diego": [{"rank": "J", "suit": "diamonds"}, {"rank": "6", "suit": "clubs"}], "Kenji": [{"rank": "4", "suit": "clubs"}, {"rank": "4", "suit": "clubs"}], "Sofia": [{"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "clubs"}]}


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:20:30.698208
player_id: cpu_dc0bfafd
player_name: Diego
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": "7", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}]

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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


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

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


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

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


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

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


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

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


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


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

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


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

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


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

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


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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:22:03.551599
player_id: cpu_e0540ed8
player_name: Sage
action: swap
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: swapped 3 into position 1, replaced 4
hand_json:
[{"rank": "3", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}]

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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


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

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


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

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


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

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


