# moves

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:24:50.706734
player_id: cpu_dc0bfafd
player_name: Diego
action: take_discard
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "J", "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": "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": "K", "suit": "spades"}], "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:51.439740
player_id: cpu_dc0bfafd
player_name: Diego
action: swap
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "K", "suit": "diamonds"}
decision_reason: swapped 6 into position 4, replaced K
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": "6", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"McRoger": [{"rank": "A", "suit": "spades"}, {"rank": "J", "suit": "spades"}, {"rank": "A", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}, {"rank": "Q", "suit": "spades"}, {"rank": "2", "suit": "spades"}], "Sage": [{"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "9", "suit": "hearts"}, {"rank": "4", "suit": "hearts"}, {"rank": "6", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "clubs"}, {"rank": "K", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}, {"rank": "2", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}], "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": "spades"}, {"rank": "A", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "10", "suit": "hearts"}]}


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

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


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

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


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

visible_opponents_json:
{"McRoger": [{"rank": "K", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Sage": [{"rank": "Q", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}], "Diego": [{"rank": "7", "suit": "spades"}, {"rank": "9", "suit": "diamonds"}], "Kenji": [{"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Sofia": [{"rank": "5", "suit": "diamonds"}, {"rank": "8", "suit": "clubs"}]}


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

visible_opponents_json:
{"McRoger": [{"rank": "K", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Sage": [{"rank": "Q", "suit": "diamonds"}, {"rank": "5", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}], "Diego": [{"rank": "7", "suit": "spades"}, {"rank": "9", "suit": "diamonds"}], "Kenji": [{"rank": "5", "suit": "spades"}, {"rank": "7", "suit": "clubs"}], "Sofia": [{"rank": "5", "suit": "diamonds"}, {"rank": "8", "suit": "clubs"}]}


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:26:20.740071
player_id: cpu_b89801df
player_name: Priya
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": "A", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}]

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:27:36.484711
player_id: cpu_b89801df
player_name: Priya
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": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "diamonds", "face_up": true}]

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


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

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


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

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


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

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:27:39.480400
player_id: cpu_592b5e54
player_name: Kenji
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": "6", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": false}]

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:28:30.449024
player_id: cpu_b89801df
player_name: Priya
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": "2", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}]

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


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

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


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

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


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

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


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

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


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

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


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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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


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

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


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

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


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

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


game_id: 895ef36e-76a8-4be6-b853-0b72b51ce8ff
timestamp: 2026-01-24 21:31:00.965576
player_id: cpu_b89801df
player_name: Priya
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": "8", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": true}]

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


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

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


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

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


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

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


game_id: ce882435-821b-4b5b-90f0-3634eae45a04
timestamp: 2026-01-24 23:21:35.792138
player_id: cpu_155a3f51
player_name: Maya
action: take_discard
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"dsadsa": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}], "Marcus": [{"rank": "J", "suit": "clubs"}, {"rank": "10", "suit": "diamonds"}], "Sage": [{"rank": "10", "suit": "hearts"}, {"rank": "9", "suit": "spades"}], "River": [{"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}]}


game_id: ce882435-821b-4b5b-90f0-3634eae45a04
timestamp: 2026-01-24 23:21:36.294087
player_id: cpu_155a3f51
player_name: Maya
action: swap
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: swapped 4 into position 0, replaced Q
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"dsadsa": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}], "Marcus": [{"rank": "J", "suit": "clubs"}, {"rank": "10", "suit": "diamonds"}], "Sage": [{"rank": "10", "suit": "hearts"}, {"rank": "9", "suit": "spades"}], "River": [{"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}]}


game_id: ce882435-821b-4b5b-90f0-3634eae45a04
timestamp: 2026-01-24 23:21:37.235121
player_id: cpu_0fe5347b
player_name: Priya
action: draw_deck
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "7", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "diamonds"}, {"rank": "8", "suit": "spades"}], "Marcus": [{"rank": "J", "suit": "clubs"}, {"rank": "10", "suit": "diamonds"}], "Sage": [{"rank": "10", "suit": "hearts"}, {"rank": "9", "suit": "spades"}], "River": [{"rank": "3", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}]}


game_id: ce882435-821b-4b5b-90f0-3634eae45a04
timestamp: 2026-01-24 23:21:38.913166
player_id: cpu_3b819fae
player_name: Marcus
action: take_discard
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": false}]

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


game_id: ce882435-821b-4b5b-90f0-3634eae45a04
timestamp: 2026-01-24 23:21:39.455174
player_id: cpu_3b819fae
player_name: Marcus
action: swap
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: swapped 7 into position 1, replaced J
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": false}]

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


game_id: ce882435-821b-4b5b-90f0-3634eae45a04
timestamp: 2026-01-24 23:21:40.670125
player_id: cpu_94ae6da4
player_name: Sage
action: draw_deck
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": false}]

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


game_id: ce882435-821b-4b5b-90f0-3634eae45a04
timestamp: 2026-01-24 23:21:41.255228
player_id: cpu_94ae6da4
player_name: Sage
action: swap
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: swapped 6 into position 1, replaced 10
hand_json:
[{"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": false}]

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


game_id: ce882435-821b-4b5b-90f0-3634eae45a04
timestamp: 2026-01-24 23:21:42.155414
player_id: cpu_a890c836
player_name: River
action: draw_deck
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": false}]

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


game_id: ce882435-821b-4b5b-90f0-3634eae45a04
timestamp: 2026-01-24 23:21:42.761275
player_id: cpu_a890c836
player_name: River
action: swap
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: swapped 4 into position 3, replaced 6
hand_json:
[{"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "spades", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:26:48.556411
player_id: cpu_f1c04242
player_name: Sofia
action: take_discard
card_rank: 5
card_suit: hearts
decision_reason: took 5 from discard
hand_json:
[{"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "6", "suit": "spades"}, {"rank": "6", "suit": "spades"}, {"rank": "K", "suit": "hearts"}], "River": [{"rank": "6", "suit": "diamonds"}, {"rank": "10", "suit": "spades"}], "Maya": [{"rank": "J", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "spades"}], "Sage": [{"rank": "9", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:26:49.313242
player_id: cpu_f1c04242
player_name: Sofia
action: swap
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: swapped 5 into position 4, replaced J
hand_json:
[{"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "6", "suit": "spades"}, {"rank": "6", "suit": "spades"}, {"rank": "K", "suit": "hearts"}], "River": [{"rank": "6", "suit": "diamonds"}, {"rank": "10", "suit": "spades"}], "Maya": [{"rank": "J", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "spades"}], "Sage": [{"rank": "9", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:26:50.189011
player_id: cpu_4fc1e65c
player_name: River
action: draw_deck
card_rank: Q
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "6", "suit": "spades"}, {"rank": "6", "suit": "spades"}, {"rank": "K", "suit": "hearts"}], "Sofia": [{"rank": "7", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "Maya": [{"rank": "J", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "spades"}], "Sage": [{"rank": "9", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:26:51.813200
player_id: cpu_206529cc
player_name: Maya
action: draw_deck
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "J", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"dsadsa": [{"rank": "6", "suit": "spades"}, {"rank": "6", "suit": "spades"}, {"rank": "K", "suit": "hearts"}], "Sofia": [{"rank": "7", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "6", "suit": "diamonds"}, {"rank": "10", "suit": "spades"}], "Priya": [{"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "spades"}], "Sage": [{"rank": "9", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:26:52.289740
player_id: cpu_206529cc
player_name: Maya
action: swap
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: swapped 7 into position 0, replaced J
hand_json:
[{"rank": "7", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"dsadsa": [{"rank": "6", "suit": "spades"}, {"rank": "6", "suit": "spades"}, {"rank": "K", "suit": "hearts"}], "Sofia": [{"rank": "7", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "6", "suit": "diamonds"}, {"rank": "10", "suit": "spades"}], "Priya": [{"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "spades"}], "Sage": [{"rank": "9", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:26:53.406633
player_id: cpu_87127878
player_name: Priya
action: draw_deck
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "6", "suit": "spades"}, {"rank": "6", "suit": "spades"}, {"rank": "K", "suit": "hearts"}], "Sofia": [{"rank": "7", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "6", "suit": "diamonds"}, {"rank": "10", "suit": "spades"}], "Maya": [{"rank": "7", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Sage": [{"rank": "9", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:26:53.833391
player_id: cpu_87127878
player_name: Priya
action: swap
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: swapped A into position 3, replaced 5
hand_json:
[{"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "6", "suit": "spades"}, {"rank": "6", "suit": "spades"}, {"rank": "K", "suit": "hearts"}], "Sofia": [{"rank": "7", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "6", "suit": "diamonds"}, {"rank": "10", "suit": "spades"}], "Maya": [{"rank": "7", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Sage": [{"rank": "9", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:26:54.748127
player_id: cpu_e4d5546c
player_name: Sage
action: take_discard
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "9", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "6", "suit": "spades"}, {"rank": "6", "suit": "spades"}, {"rank": "K", "suit": "hearts"}], "Sofia": [{"rank": "7", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "6", "suit": "diamonds"}, {"rank": "10", "suit": "spades"}], "Maya": [{"rank": "7", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:26:55.332781
player_id: cpu_e4d5546c
player_name: Sage
action: swap
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: swapped 5 into position 0, replaced 9
hand_json:
[{"rank": "5", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "6", "suit": "spades"}, {"rank": "6", "suit": "spades"}, {"rank": "K", "suit": "hearts"}], "Sofia": [{"rank": "7", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "6", "suit": "diamonds"}, {"rank": "10", "suit": "spades"}], "Maya": [{"rank": "7", "suit": "spades"}, {"rank": "6", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:27:00.515802
player_id: cpu_f1c04242
player_name: Sofia
action: take_discard
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:27:01.009806
player_id: cpu_f1c04242
player_name: Sofia
action: swap
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: swapped 5 into position 1, replaced 7
hand_json:
[{"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:27:01.915257
player_id: cpu_4fc1e65c
player_name: River
action: take_discard
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:27:02.583850
player_id: cpu_4fc1e65c
player_name: River
action: swap
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: swapped 7 into position 4, replaced 10
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:27:03.541679
player_id: cpu_206529cc
player_name: Maya
action: draw_deck
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "7", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:27:04.344780
player_id: cpu_206529cc
player_name: Maya
action: swap
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: swapped 4 into position 0, replaced 7
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:27:05.215318
player_id: cpu_87127878
player_name: Priya
action: take_discard
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:27:05.918286
player_id: cpu_87127878
player_name: Priya
action: swap
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "3", "suit": "diamonds"}
decision_reason: swapped 7 into position 4, replaced 3
hand_json:
[{"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:27:06.763047
player_id: cpu_e4d5546c
player_name: Sage
action: take_discard
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "5", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:27:07.251806
player_id: cpu_e4d5546c
player_name: Sage
action: swap
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: swapped 3 into position 0, replaced 5
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:27:32.545353
player_id: cpu_f1c04242
player_name: Sofia
action: take_discard
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:27:33.031274
player_id: cpu_f1c04242
player_name: Sofia
action: swap
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: swapped 3 into position 0, replaced 7
hand_json:
[{"rank": "3", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:27:34.026163
player_id: cpu_4fc1e65c
player_name: River
action: take_discard
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:27:34.689049
player_id: cpu_4fc1e65c
player_name: River
action: swap
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "2", "suit": "clubs"}
decision_reason: swapped 7 into position 1, replaced 2
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:27:35.862256
player_id: cpu_206529cc
player_name: Maya
action: take_discard
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: took 2 from discard
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:27:36.598168
player_id: cpu_206529cc
player_name: Maya
action: swap
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "clubs"}
decision_reason: swapped 2 into position 5, replaced 6
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:27:37.571535
player_id: cpu_87127878
player_name: Priya
action: take_discard
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:27:38.045239
player_id: cpu_87127878
player_name: Priya
action: swap
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: swapped 6 into position 4, replaced 7
hand_json:
[{"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:27:39.075549
player_id: cpu_e4d5546c
player_name: Sage
action: take_discard
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:27:39.665978
player_id: cpu_e4d5546c
player_name: Sage
action: swap
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: swapped 7 into position 1, replaced 5
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:14.854191
player_id: cpu_f1c04242
player_name: Sofia
action: draw_deck
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:16.788192
player_id: cpu_4fc1e65c
player_name: River
action: draw_deck
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:17.369069
player_id: cpu_4fc1e65c
player_name: River
action: swap
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: swapped K into position 1, replaced 7
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:18.283050
player_id: cpu_206529cc
player_name: Maya
action: take_discard
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:18.904118
player_id: cpu_206529cc
player_name: Maya
action: swap
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: swapped 7 into position 1, replaced 10
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:19.798854
player_id: cpu_87127878
player_name: Priya
action: draw_deck
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:20.419862
player_id: cpu_87127878
player_name: Priya
action: swap
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "6", "suit": "clubs"}
decision_reason: swapped 3 into position 4, replaced 6
hand_json:
[{"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:21.472367
player_id: cpu_e4d5546c
player_name: Sage
action: take_discard
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:22.068153
player_id: cpu_e4d5546c
player_name: Sage
action: swap
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: swapped 6 into position 5, replaced 10
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:27.840635
player_id: cpu_f1c04242
player_name: Sofia
action: draw_deck
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: drew from deck
visible_opponents_json:
{"dsadsa": [{"rank": "6", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "6", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "K", "suit": "hearts"}], "River": [{"rank": "6", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "7", "suit": "spades"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}], "Sage": [{"rank": "3", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "clubs"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:28.363280
player_id: cpu_f1c04242
player_name: Sofia
action: swap
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: swapped 3 into position 3, replaced 9
hand_json:
[{"rank": "3", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:29.416564
player_id: cpu_4fc1e65c
player_name: River
action: draw_deck
card_rank: 8
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:30.832828
player_id: cpu_206529cc
player_name: Maya
action: draw_deck
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:31.505341
player_id: cpu_206529cc
player_name: Maya
action: swap
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: swapped 4 into position 3, replaced J
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:32.450641
player_id: cpu_87127878
player_name: Priya
action: draw_deck
card_rank: 9
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:33.052791
player_id: cpu_87127878
player_name: Priya
action: swap
card_rank: 9
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: swapped 9 into position 0, replaced 9
hand_json:
[{"rank": "9", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:34.126149
player_id: cpu_e4d5546c
player_name: Sage
action: draw_deck
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:34.612168
player_id: cpu_e4d5546c
player_name: Sage
action: swap
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "3", "suit": "diamonds"}
decision_reason: swapped 3 into position 3, replaced 3
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:41.378092
player_id: cpu_f1c04242
player_name: Sofia
action: take_discard
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "3", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:42.114319
player_id: cpu_f1c04242
player_name: Sofia
action: swap
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "A", "suit": "spades"}
decision_reason: swapped 5 into position 2, replaced A
hand_json:
[{"rank": "3", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:43.200558
player_id: cpu_4fc1e65c
player_name: River
action: draw_deck
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "A", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"dsadsa": [{"rank": "6", "suit": "spades"}, {"rank": "3", "suit": "diamonds"}, {"rank": "K", "suit": "clubs"}, {"rank": "6", "suit": "spades"}, {"rank": "4", "suit": "hearts"}, {"rank": "K", "suit": "hearts"}], "Sofia": [{"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "hearts"}, {"rank": "5", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "hearts"}], "Maya": [{"rank": "4", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "Priya": [{"rank": "9", "suit": "diamonds"}, {"rank": "4", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}], "Sage": [{"rank": "3", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}, {"rank": "3", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}, {"rank": "6", "suit": "clubs"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:43.924401
player_id: cpu_4fc1e65c
player_name: River
action: swap
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: swapped 7 into position 5, replaced 6
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:45.215327
player_id: cpu_206529cc
player_name: Maya
action: take_discard
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "A", "suit": "spades"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:45.665910
player_id: cpu_206529cc
player_name: Maya
action: swap
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: swapped 6 into position 1, replaced 7
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:46.652254
player_id: cpu_87127878
player_name: Priya
action: take_discard
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "A", "suit": "spades"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "9", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:47.104695
player_id: cpu_87127878
player_name: Priya
action: swap
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: swapped 7 into position 0, replaced 9
hand_json:
[{"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:48.374137
player_id: cpu_e4d5546c
player_name: Sage
action: draw_deck
card_rank: 9
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:30:48.807399
player_id: cpu_e4d5546c
player_name: Sage
action: discard
card_rank: 9
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: discarded 9
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:17.007771
player_id: cpu_f1c04242
player_name: Sofia
action: take_discard
card_rank: 10
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: took 10 from discard
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:17.606744
player_id: cpu_f1c04242
player_name: Sofia
action: swap
card_rank: 10
card_suit: spades
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: swapped 10 into position 3, replaced 9
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:18.752188
player_id: cpu_4fc1e65c
player_name: River
action: draw_deck
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Sofia": [{"rank": "9", "suit": "clubs"}, {"rank": "10", "suit": "spades"}, {"rank": "10", "suit": "spades"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "spades"}], "Priya": [{"rank": "8", "suit": "hearts"}, {"rank": "Q", "suit": "clubs"}], "Sage": [{"rank": "8", "suit": "spades"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:19.440399
player_id: cpu_4fc1e65c
player_name: River
action: swap
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: swapped 6 into position 2, replaced 7
hand_json:
[{"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Sofia": [{"rank": "9", "suit": "clubs"}, {"rank": "10", "suit": "spades"}, {"rank": "10", "suit": "spades"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "spades"}], "Priya": [{"rank": "8", "suit": "hearts"}, {"rank": "Q", "suit": "clubs"}], "Sage": [{"rank": "8", "suit": "spades"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:20.527174
player_id: cpu_206529cc
player_name: Maya
action: draw_deck
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Sofia": [{"rank": "9", "suit": "clubs"}, {"rank": "10", "suit": "spades"}, {"rank": "10", "suit": "spades"}], "River": [{"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}], "Priya": [{"rank": "8", "suit": "hearts"}, {"rank": "Q", "suit": "clubs"}], "Sage": [{"rank": "8", "suit": "spades"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:21.247250
player_id: cpu_206529cc
player_name: Maya
action: swap
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "4", "suit": "diamonds"}
decision_reason: swapped 4 into position 0, replaced 4
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Sofia": [{"rank": "9", "suit": "clubs"}, {"rank": "10", "suit": "spades"}, {"rank": "10", "suit": "spades"}], "River": [{"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}], "Priya": [{"rank": "8", "suit": "hearts"}, {"rank": "Q", "suit": "clubs"}], "Sage": [{"rank": "8", "suit": "spades"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:22.509406
player_id: cpu_87127878
player_name: Priya
action: take_discard
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Sofia": [{"rank": "9", "suit": "clubs"}, {"rank": "10", "suit": "spades"}, {"rank": "10", "suit": "spades"}], "River": [{"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}], "Maya": [{"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "spades"}], "Sage": [{"rank": "8", "suit": "spades"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:23.241287
player_id: cpu_87127878
player_name: Priya
action: swap
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: swapped 4 into position 4, replaced Q
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Sofia": [{"rank": "9", "suit": "clubs"}, {"rank": "10", "suit": "spades"}, {"rank": "10", "suit": "spades"}], "River": [{"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}], "Maya": [{"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "spades"}], "Sage": [{"rank": "8", "suit": "spades"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:24.415800
player_id: cpu_e4d5546c
player_name: Sage
action: draw_deck
card_rank: K
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:24.965274
player_id: cpu_e4d5546c
player_name: Sage
action: swap
card_rank: K
card_suit: spades
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: swapped K into position 1, replaced 8
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:31.436086
player_id: cpu_f1c04242
player_name: Sofia
action: take_discard
card_rank: 9
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: took 9 from discard
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:32.129677
player_id: cpu_f1c04242
player_name: Sofia
action: swap
card_rank: 9
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: swapped 9 into position 5, replaced 7
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:33.421715
player_id: cpu_4fc1e65c
player_name: River
action: take_discard
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Sofia": [{"rank": "9", "suit": "clubs"}, {"rank": "10", "suit": "spades"}, {"rank": "10", "suit": "spades"}, {"rank": "9", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "spades"}], "Priya": [{"rank": "8", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Sage": [{"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:34.202305
player_id: cpu_4fc1e65c
player_name: River
action: swap
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: swapped 7 into position 0, replaced 9
hand_json:
[{"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Sofia": [{"rank": "9", "suit": "clubs"}, {"rank": "10", "suit": "spades"}, {"rank": "10", "suit": "spades"}, {"rank": "9", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "spades"}], "Priya": [{"rank": "8", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Sage": [{"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:35.286922
player_id: cpu_206529cc
player_name: Maya
action: draw_deck
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:36.033753
player_id: cpu_206529cc
player_name: Maya
action: swap
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: swapped A into position 4, replaced 6
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:37.223289
player_id: cpu_87127878
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": "8", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Sofia": [{"rank": "9", "suit": "clubs"}, {"rank": "10", "suit": "spades"}, {"rank": "10", "suit": "spades"}, {"rank": "9", "suit": "diamonds"}], "River": [{"rank": "7", "suit": "clubs"}, {"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}], "Maya": [{"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}], "Sage": [{"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:37.985725
player_id: cpu_87127878
player_name: Priya
action: swap
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: swapped 6 into position 0, replaced 8
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Sofia": [{"rank": "9", "suit": "clubs"}, {"rank": "10", "suit": "spades"}, {"rank": "10", "suit": "spades"}, {"rank": "9", "suit": "diamonds"}], "River": [{"rank": "7", "suit": "clubs"}, {"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}], "Maya": [{"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}], "Sage": [{"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:39.030302
player_id: cpu_e4d5546c
player_name: Sage
action: draw_deck
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Sofia": [{"rank": "9", "suit": "clubs"}, {"rank": "10", "suit": "spades"}, {"rank": "10", "suit": "spades"}, {"rank": "9", "suit": "diamonds"}], "River": [{"rank": "7", "suit": "clubs"}, {"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}], "Maya": [{"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}], "Priya": [{"rank": "6", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:39.826693
player_id: cpu_e4d5546c
player_name: Sage
action: swap
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "A", "suit": "clubs"}
decision_reason: swapped 5 into position 4, replaced A
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Sofia": [{"rank": "9", "suit": "clubs"}, {"rank": "10", "suit": "spades"}, {"rank": "10", "suit": "spades"}, {"rank": "9", "suit": "diamonds"}], "River": [{"rank": "7", "suit": "clubs"}, {"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}], "Maya": [{"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}], "Priya": [{"rank": "6", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:46.796779
player_id: cpu_f1c04242
player_name: Sofia
action: take_discard
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:47.222827
player_id: cpu_f1c04242
player_name: Sofia
action: swap
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: swapped 3 into position 3, replaced 10
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:48.317334
player_id: cpu_4fc1e65c
player_name: River
action: draw_deck
card_rank: Q
card_suit: spades
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:49.902634
player_id: cpu_206529cc
player_name: Maya
action: draw_deck
card_rank: J
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:51.403009
player_id: cpu_87127878
player_name: Priya
action: draw_deck
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:52.153048
player_id: cpu_87127878
player_name: Priya
action: swap
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "K", "suit": "diamonds"}
decision_reason: swapped 6 into position 3, replaced K
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:53.243359
player_id: cpu_e4d5546c
player_name: Sage
action: take_discard
card_rank: K
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: took K from discard
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:31:53.788247
player_id: cpu_e4d5546c
player_name: Sage
action: swap
card_rank: K
card_suit: diamonds
discard_top_json: {"rank": "5", "suit": "clubs"}
decision_reason: swapped K into position 4, replaced 5
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:32:11.661691
player_id: cpu_f1c04242
player_name: Sofia
action: draw_deck
card_rank: 8
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:32:12.313369
player_id: cpu_f1c04242
player_name: Sofia
action: swap
card_rank: 8
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: swapped 8 into position 4, replaced 10
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:32:13.511344
player_id: cpu_4fc1e65c
player_name: River
action: draw_deck
card_rank: J
card_suit: spades
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Sofia": [{"rank": "9", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}, {"rank": "9", "suit": "diamonds"}], "Maya": [{"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}], "Priya": [{"rank": "6", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Sage": [{"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:32:15.041128
player_id: cpu_206529cc
player_name: Maya
action: draw_deck
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Sofia": [{"rank": "9", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}, {"rank": "9", "suit": "diamonds"}], "River": [{"rank": "7", "suit": "clubs"}, {"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}], "Priya": [{"rank": "6", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Sage": [{"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:32:15.792391
player_id: cpu_206529cc
player_name: Maya
action: swap
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: swapped 3 into position 0, replaced 4
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:32:16.965362
player_id: cpu_87127878
player_name: Priya
action: take_discard
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Sofia": [{"rank": "9", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}, {"rank": "9", "suit": "diamonds"}], "River": [{"rank": "7", "suit": "clubs"}, {"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}], "Maya": [{"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}], "Sage": [{"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:32:17.626294
player_id: cpu_87127878
player_name: Priya
action: swap
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: swapped 4 into position 1, replaced 8
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "A", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Sofia": [{"rank": "9", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}, {"rank": "9", "suit": "diamonds"}], "River": [{"rank": "7", "suit": "clubs"}, {"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}], "Maya": [{"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}], "Sage": [{"rank": "K", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:32:18.899042
player_id: cpu_e4d5546c
player_name: Sage
action: draw_deck
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:32:19.450864
player_id: cpu_e4d5546c
player_name: Sage
action: swap
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: swapped 2 into position 2, replaced J
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:32:40.151822
player_id: cpu_f1c04242
player_name: Sofia
action: take_discard
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:32:40.661172
player_id: cpu_f1c04242
player_name: Sofia
action: swap
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: swapped 6 into position 2, replaced 9
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:32:41.722054
player_id: cpu_4fc1e65c
player_name: River
action: draw_deck
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: drew from deck
visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "A", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Sofia": [{"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}, {"rank": "9", "suit": "diamonds"}], "Maya": [{"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}], "Priya": [{"rank": "6", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Sage": [{"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:32:42.166728
player_id: cpu_4fc1e65c
player_name: River
action: swap
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: swapped 3 into position 0, replaced 7
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "A", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Sofia": [{"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}, {"rank": "9", "suit": "diamonds"}], "Maya": [{"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}], "Priya": [{"rank": "6", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Sage": [{"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:32:43.071253
player_id: cpu_206529cc
player_name: Maya
action: take_discard
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "A", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Sofia": [{"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}, {"rank": "9", "suit": "diamonds"}], "River": [{"rank": "3", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}], "Priya": [{"rank": "6", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Sage": [{"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:32:43.825311
player_id: cpu_206529cc
player_name: Maya
action: swap
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "K", "suit": "clubs"}
decision_reason: swapped 7 into position 2, replaced K
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "A", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Sofia": [{"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}, {"rank": "9", "suit": "diamonds"}], "River": [{"rank": "3", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}], "Priya": [{"rank": "6", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Sage": [{"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:32:44.997347
player_id: cpu_87127878
player_name: Priya
action: take_discard
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: took K from discard
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "A", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Sofia": [{"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}, {"rank": "9", "suit": "diamonds"}], "River": [{"rank": "3", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}], "Maya": [{"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}], "Sage": [{"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:32:45.487614
player_id: cpu_87127878
player_name: Priya
action: swap
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: swapped K into position 0, replaced 6
hand_json:
[{"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "A", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Sofia": [{"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}, {"rank": "9", "suit": "diamonds"}], "River": [{"rank": "3", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}], "Maya": [{"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "7", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}], "Sage": [{"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:32:46.770768
player_id: cpu_e4d5546c
player_name: Sage
action: take_discard
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:32:47.384575
player_id: cpu_e4d5546c
player_name: Sage
action: swap
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "2", "suit": "clubs"}
decision_reason: swapped 6 into position 0, replaced 2
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:32:57.282640
player_id: cpu_f1c04242
player_name: Sofia
action: draw_deck
card_rank: 9
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:32:58.710279
player_id: cpu_4fc1e65c
player_name: River
action: draw_deck
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:32:59.460319
player_id: cpu_4fc1e65c
player_name: River
action: swap
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: swapped 7 into position 4, replaced 10
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:33:00.481515
player_id: cpu_206529cc
player_name: Maya
action: draw_deck
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:33:01.078272
player_id: cpu_206529cc
player_name: Maya
action: swap
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: swapped 3 into position 2, replaced 7
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:33:02.250138
player_id: cpu_87127878
player_name: Priya
action: take_discard
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "A", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Sofia": [{"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}, {"rank": "9", "suit": "diamonds"}], "River": [{"rank": "3", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}], "Sage": [{"rank": "6", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:33:03.037568
player_id: cpu_87127878
player_name: Priya
action: swap
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "4", "suit": "clubs"}
decision_reason: swapped 7 into position 2, replaced 4
hand_json:
[{"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "A", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Sofia": [{"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}, {"rank": "9", "suit": "diamonds"}], "River": [{"rank": "3", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}], "Sage": [{"rank": "6", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:33:04.285414
player_id: cpu_e4d5546c
player_name: Sage
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": "6", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:33:04.712019
player_id: cpu_e4d5546c
player_name: Sage
action: swap
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: swapped 4 into position 0, replaced 6
hand_json:
[{"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:33:19.961540
player_id: cpu_f1c04242
player_name: Sofia
action: take_discard
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: took 6 from discard
visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "A", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}, {"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}], "River": [{"rank": "3", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}], "Maya": [{"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "7", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}], "Sage": [{"rank": "4", "suit": "clubs"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:33:20.569381
player_id: cpu_f1c04242
player_name: Sofia
action: swap
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: swapped 6 into position 5, replaced 9
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:33:21.804088
player_id: cpu_4fc1e65c
player_name: River
action: draw_deck
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:33:23.399382
player_id: cpu_206529cc
player_name: Maya
action: draw_deck
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:33:24.116369
player_id: cpu_206529cc
player_name: Maya
action: swap
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: swapped 2 into position 3, replaced 4
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:33:25.218128
player_id: cpu_87127878
player_name: Priya
action: take_discard
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:33:25.800445
player_id: cpu_87127878
player_name: Priya
action: swap
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: swapped 4 into position 2, replaced 7
hand_json:
[{"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:33:26.614139
player_id: cpu_e4d5546c
player_name: Sage
action: take_discard
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:33:27.037366
player_id: cpu_e4d5546c
player_name: Sage
action: swap
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "clubs"}
decision_reason: swapped 7 into position 3, replaced 5
hand_json:
[{"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"dsadsa": [{"rank": "J", "suit": "clubs"}, {"rank": "A", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}, {"rank": "J", "suit": "clubs"}, {"rank": "2", "suit": "spades"}, {"rank": "K", "suit": "diamonds"}], "Sofia": [{"rank": "J", "suit": "diamonds"}, {"rank": "10", "suit": "hearts"}, {"rank": "6", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}, {"rank": "6", "suit": "diamonds"}], "River": [{"rank": "3", "suit": "diamonds"}, {"rank": "10", "suit": "clubs"}, {"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}, {"rank": "J", "suit": "hearts"}], "Maya": [{"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}], "Priya": [{"rank": "K", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "4", "suit": "spades"}, {"rank": "6", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}, {"rank": "3", "suit": "hearts"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:33:51.971320
player_id: cpu_f1c04242
player_name: Sofia
action: take_discard
card_rank: 4
card_suit: hearts
decision_reason: took 4 from discard
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:33:52.646247
player_id: cpu_f1c04242
player_name: Sofia
action: swap
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: swapped 4 into position 2, replaced 9
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:33:53.656611
player_id: cpu_4fc1e65c
player_name: River
action: draw_deck
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}, {"rank": "2", "suit": "hearts"}], "Sofia": [{"rank": "4", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}], "Maya": [{"rank": "J", "suit": "spades"}, {"rank": "Q", "suit": "diamonds"}], "Priya": [{"rank": "10", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}], "Sage": [{"rank": "5", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:33:54.093542
player_id: cpu_4fc1e65c
player_name: River
action: swap
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "2", "suit": "clubs"}
decision_reason: swapped 4 into position 2, replaced 2
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"dsadsa": [{"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}, {"rank": "2", "suit": "hearts"}], "Sofia": [{"rank": "4", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}], "Maya": [{"rank": "J", "suit": "spades"}, {"rank": "Q", "suit": "diamonds"}], "Priya": [{"rank": "10", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}], "Sage": [{"rank": "5", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:33:55.270252
player_id: cpu_206529cc
player_name: Maya
action: take_discard
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: took 2 from discard
hand_json:
[{"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:33:55.985883
player_id: cpu_206529cc
player_name: Maya
action: swap
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: swapped 2 into position 1, replaced J
hand_json:
[{"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:33:57.071821
player_id: cpu_87127878
player_name: Priya
action: draw_deck
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"dsadsa": [{"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}, {"rank": "2", "suit": "hearts"}], "Sofia": [{"rank": "4", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}], "River": [{"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Maya": [{"rank": "2", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}], "Sage": [{"rank": "5", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:33:57.722392
player_id: cpu_87127878
player_name: Priya
action: swap
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: swapped 6 into position 1, replaced 10
hand_json:
[{"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"dsadsa": [{"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}, {"rank": "2", "suit": "hearts"}], "Sofia": [{"rank": "4", "suit": "hearts"}, {"rank": "8", "suit": "diamonds"}], "River": [{"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Maya": [{"rank": "2", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}], "Sage": [{"rank": "5", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}]}


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:33:58.949481
player_id: cpu_e4d5546c
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": "7", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:33:59.477258
player_id: cpu_e4d5546c
player_name: Sage
action: swap
card_rank: K
card_suit: spades
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: swapped K into position 2, replaced 5
hand_json:
[{"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:34:03.905698
player_id: cpu_f1c04242
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": "5", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:34:04.470495
player_id: cpu_f1c04242
player_name: Sofia
action: swap
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: swapped 3 into position 3, replaced 8
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "clubs", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:34:05.724346
player_id: cpu_4fc1e65c
player_name: River
action: draw_deck
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:34:06.233549
player_id: cpu_4fc1e65c
player_name: River
action: swap
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "clubs"}
decision_reason: swapped 4 into position 5, replaced 5
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:34:07.249394
player_id: cpu_206529cc
player_name: Maya
action: take_discard
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:34:07.721809
player_id: cpu_206529cc
player_name: Maya
action: swap
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: swapped 5 into position 5, replaced Q
hand_json:
[{"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:34:08.687214
player_id: cpu_87127878
player_name: Priya
action: draw_deck
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:34:09.416391
player_id: cpu_87127878
player_name: Priya
action: swap
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: swapped 2 into position 1, replaced 6
hand_json:
[{"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:34:10.568519
player_id: cpu_e4d5546c
player_name: Sage
action: take_discard
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}]

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


game_id: 70ca323b-390e-42ec-a75c-346067c70d21
timestamp: 2026-01-24 23:34:11.310629
player_id: cpu_e4d5546c
player_name: Sage
action: swap
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: swapped 6 into position 5, replaced J
hand_json:
[{"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}]

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


