# moves

game_id: 5eb79689-5513-4bbc-9a72-038bfb053d1c
timestamp: 2026-01-26 11:53:46.634551
player_id: cpu_a8460466
player_name: Sage
action: draw_deck
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "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": "A", "suit": "spades", "face_up": false}]

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


game_id: 5eb79689-5513-4bbc-9a72-038bfb053d1c
timestamp: 2026-01-26 11:53:47.293605
player_id: cpu_a8460466
player_name: Sage
action: swap
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "A", "suit": "spades"}
decision_reason: swapped 4 into position 5, replaced A
hand_json:
[{"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "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": "4", "suit": "diamonds", "face_up": true}]

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


game_id: 5eb79689-5513-4bbc-9a72-038bfb053d1c
timestamp: 2026-01-26 11:53:48.377489
player_id: cpu_f9547245
player_name: River
action: take_discard
card_rank: A
card_suit: spades
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: took A from discard
hand_json:
[{"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "diamonds", "face_up": true}]

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


game_id: 5eb79689-5513-4bbc-9a72-038bfb053d1c
timestamp: 2026-01-26 11:53:48.831271
player_id: cpu_f9547245
player_name: River
action: swap
card_rank: A
card_suit: spades
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: swapped A into position 3, replaced 6
hand_json:
[{"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}]

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


game_id: 5eb79689-5513-4bbc-9a72-038bfb053d1c
timestamp: 2026-01-26 11:55:00.034575
player_id: cpu_0441027f
player_name: Maya
action: take_discard
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}]

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


game_id: 5eb79689-5513-4bbc-9a72-038bfb053d1c
timestamp: 2026-01-26 11:55:00.681495
player_id: cpu_0441027f
player_name: Maya
action: swap
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: swapped 4 into position 1, replaced 4
hand_json:
[{"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}]

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


game_id: 5eb79689-5513-4bbc-9a72-038bfb053d1c
timestamp: 2026-01-26 11:55:01.933226
player_id: cpu_ec6be54b
player_name: Priya
action: take_discard
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "K", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": true}]

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


game_id: 5eb79689-5513-4bbc-9a72-038bfb053d1c
timestamp: 2026-01-26 11:55:02.707852
player_id: cpu_ec6be54b
player_name: Priya
action: swap
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: swapped 4 into position 5, replaced 8
hand_json:
[{"rank": "K", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": true}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:13.276872
player_id: cpu_709b519b
player_name: Sofia
action: draw_deck
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "7", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"ADLee": [{"rank": "10", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "6", "suit": "spades"}], "Sage": [{"rank": "10", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}], "Marcus": [{"rank": "A", "suit": "spades"}, {"rank": "9", "suit": "hearts"}]}


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:13.783513
player_id: cpu_709b519b
player_name: Sofia
action: swap
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: swapped 2 into position 2, replaced 7
hand_json:
[{"rank": "7", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"ADLee": [{"rank": "10", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "6", "suit": "spades"}], "Sage": [{"rank": "10", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}], "Marcus": [{"rank": "A", "suit": "spades"}, {"rank": "9", "suit": "hearts"}]}


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:14.814773
player_id: cpu_3bcba2f1
player_name: Sage
action: take_discard
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"ADLee": [{"rank": "10", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "6", "suit": "spades"}], "Sofia": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}], "Marcus": [{"rank": "A", "suit": "spades"}, {"rank": "9", "suit": "hearts"}]}


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:15.343483
player_id: cpu_3bcba2f1
player_name: Sage
action: swap
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: swapped 7 into position 2, replaced 10
hand_json:
[{"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"ADLee": [{"rank": "10", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "6", "suit": "spades"}], "Sofia": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}], "Marcus": [{"rank": "A", "suit": "spades"}, {"rank": "9", "suit": "hearts"}]}


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:16.478964
player_id: cpu_2460385d
player_name: Marcus
action: draw_deck
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"ADLee": [{"rank": "10", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "6", "suit": "spades"}], "Sofia": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}], "Sage": [{"rank": "7", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}]}


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:17.140383
player_id: cpu_2460385d
player_name: Marcus
action: swap
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: swapped 6 into position 5, replaced 9
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"ADLee": [{"rank": "10", "suit": "spades"}, {"rank": "2", "suit": "spades"}, {"rank": "6", "suit": "spades"}], "Sofia": [{"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}], "Sage": [{"rank": "7", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}]}


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:21.895586
player_id: cpu_709b519b
player_name: Sofia
action: draw_deck
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "7", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:22.436723
player_id: cpu_709b519b
player_name: Sofia
action: swap
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: swapped 4 into position 0, replaced 7
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:23.434732
player_id: cpu_3bcba2f1
player_name: Sage
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": "7", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"ADLee": [{"rank": "8", "suit": "clubs"}, {"rank": "2", "suit": "spades"}, {"rank": "6", "suit": "spades"}], "Sofia": [{"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}], "Marcus": [{"rank": "A", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}]}


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:23.964983
player_id: cpu_3bcba2f1
player_name: Sage
action: swap
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: swapped 7 into position 5, replaced 6
hand_json:
[{"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"ADLee": [{"rank": "8", "suit": "clubs"}, {"rank": "2", "suit": "spades"}, {"rank": "6", "suit": "spades"}], "Sofia": [{"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}], "Marcus": [{"rank": "A", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}]}


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:24.780288
player_id: cpu_2460385d
player_name: Marcus
action: take_discard
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:25.344036
player_id: cpu_2460385d
player_name: Marcus
action: swap
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: swapped 6 into position 2, replaced Q
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:31.772273
player_id: cpu_709b519b
player_name: Sofia
action: draw_deck
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"ADLee": [{"rank": "2", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "6", "suit": "spades"}], "Sage": [{"rank": "7", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}], "Marcus": [{"rank": "A", "suit": "spades"}, {"rank": "6", "suit": "hearts"}, {"rank": "6", "suit": "diamonds"}]}


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:32.354935
player_id: cpu_709b519b
player_name: Sofia
action: swap
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "3", "suit": "hearts"}
decision_reason: swapped 5 into position 4, replaced 3
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"ADLee": [{"rank": "2", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "6", "suit": "spades"}], "Sage": [{"rank": "7", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}], "Marcus": [{"rank": "A", "suit": "spades"}, {"rank": "6", "suit": "hearts"}, {"rank": "6", "suit": "diamonds"}]}


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:33.521071
player_id: cpu_3bcba2f1
player_name: Sage
action: take_discard
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:34.143657
player_id: cpu_3bcba2f1
player_name: Sage
action: swap
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: swapped 3 into position 0, replaced 7
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:35.002431
player_id: cpu_2460385d
player_name: Marcus
action: take_discard
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:35.658855
player_id: cpu_2460385d
player_name: Marcus
action: swap
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: swapped 7 into position 1, replaced 9
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:42.067459
player_id: cpu_709b519b
player_name: Sofia
action: draw_deck
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:43.622712
player_id: cpu_3bcba2f1
player_name: Sage
action: draw_deck
card_rank: 9
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"ADLee": [{"rank": "2", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "6", "suit": "spades"}], "Sofia": [{"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}], "Marcus": [{"rank": "A", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "6", "suit": "diamonds"}]}


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:45.307689
player_id: cpu_2460385d
player_name: Marcus
action: draw_deck
card_rank: 10
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:52.424958
player_id: cpu_709b519b
player_name: Sofia
action: swap
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "A", "suit": "diamonds"}
decision_reason: swapped 4 into position 3, replaced A
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}]


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:53.288195
player_id: cpu_3bcba2f1
player_name: Sage
action: take_discard
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: took A from discard
visible_opponents_json:
{"ADLee": [{"rank": "2", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "6", "suit": "spades"}], "Sofia": [{"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}], "Marcus": [{"rank": "A", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "6", "suit": "diamonds"}]}


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:53.949645
player_id: cpu_3bcba2f1
player_name: Sage
action: swap
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "K", "suit": "spades"}
decision_reason: swapped A into position 1, replaced K
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"ADLee": [{"rank": "2", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "6", "suit": "spades"}], "Sofia": [{"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}], "Marcus": [{"rank": "A", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}, {"rank": "6", "suit": "hearts"}, {"rank": "6", "suit": "diamonds"}]}


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:55.090094
player_id: cpu_2460385d
player_name: Marcus
action: take_discard
card_rank: K
card_suit: spades
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: took K from discard
visible_opponents_json:
{"ADLee": [{"rank": "2", "suit": "diamonds"}, {"rank": "5", "suit": "hearts"}, {"rank": "2", "suit": "spades"}, {"rank": "6", "suit": "spades"}], "Sofia": [{"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "2", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}, {"rank": "5", "suit": "diamonds"}], "Sage": [{"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "hearts"}, {"rank": "A", "suit": "diamonds"}, {"rank": "7", "suit": "spades"}]}


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:57:55.610899
player_id: cpu_2460385d
player_name: Marcus
action: swap
card_rank: K
card_suit: spades
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: swapped K into position 1, replaced 7
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:58:01.653946
player_id: cpu_709b519b
player_name: Sofia
action: draw_deck
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:58:02.223733
player_id: cpu_709b519b
player_name: Sofia
action: swap
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: swapped K into position 4, replaced 5
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:58:03.317879
player_id: cpu_3bcba2f1
player_name: Sage
action: take_discard
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:58:03.840045
player_id: cpu_3bcba2f1
player_name: Sage
action: swap
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: swapped 5 into position 2, replaced 7
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:58:04.865995
player_id: cpu_2460385d
player_name: Marcus
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": "spades", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:58:05.476525
player_id: cpu_2460385d
player_name: Marcus
action: swap
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: swapped 7 into position 4, replaced 5
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:58:09.991928
player_id: cpu_709b519b
player_name: Sofia
action: take_discard
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: took 2 from discard
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:58:10.634540
player_id: cpu_709b519b
player_name: Sofia
action: swap
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: swapped 2 into position 0, replaced 4
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:58:11.614011
player_id: cpu_3bcba2f1
player_name: Sage
action: draw_deck
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:58:12.262068
player_id: cpu_3bcba2f1
player_name: Sage
action: swap
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: swapped 5 into position 5, replaced 7
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:58:13.480129
player_id: cpu_2460385d
player_name: Marcus
action: take_discard
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:58:14.118338
player_id: cpu_2460385d
player_name: Marcus
action: swap
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "K", "suit": "spades"}
decision_reason: swapped 7 into position 1, replaced K
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:58:23.568231
player_id: cpu_709b519b
player_name: Sofia
action: take_discard
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:58:24.154708
player_id: cpu_709b519b
player_name: Sofia
action: swap
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: swapped 6 into position 5, replaced Q
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": true}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:58:25.449797
player_id: cpu_3bcba2f1
player_name: Sage
action: draw_deck
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:58:25.926560
player_id: cpu_3bcba2f1
player_name: Sage
action: discard
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: discarded 7
hand_json:
[{"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:58:27.184015
player_id: cpu_2460385d
player_name: Marcus
action: take_discard
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}]

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


game_id: 05ace6b9-8bd6-4bcc-985b-2628ad3afc82
timestamp: 2026-01-26 11:58:27.891106
player_id: cpu_2460385d
player_name: Marcus
action: swap
card_rank: 7
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "spades"}
decision_reason: swapped 7 into position 1, replaced 7
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}]

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


game_id: ff02551f-2e31-4d8c-826a-c24f3e358d53
timestamp: 2026-01-26 14:57:55.116711
player_id: cpu_3d42b365
player_name: Maya
action: take_discard
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"ADLee": [{"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "J", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}], "River": [{"rank": "A", "suit": "clubs"}, {"rank": "10", "suit": "spades"}], "Kenji": [{"rank": "10", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}], "Player": [{"rank": "9", "suit": "spades"}, {"rank": "5", "suit": "clubs"}]}


game_id: ff02551f-2e31-4d8c-826a-c24f3e358d53
timestamp: 2026-01-26 14:57:55.560353
player_id: cpu_3d42b365
player_name: Maya
action: swap
card_rank: 4
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: swapped 4 into position 2, replaced 10
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"ADLee": [{"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "J", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}], "River": [{"rank": "A", "suit": "clubs"}, {"rank": "10", "suit": "spades"}], "Kenji": [{"rank": "10", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}], "Player": [{"rank": "9", "suit": "spades"}, {"rank": "5", "suit": "clubs"}]}


game_id: ff02551f-2e31-4d8c-826a-c24f3e358d53
timestamp: 2026-01-26 14:57:56.790354
player_id: cpu_009cb379
player_name: Marcus
action: draw_deck
card_rank: 10
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"ADLee": [{"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "J", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "A", "suit": "clubs"}, {"rank": "10", "suit": "spades"}], "Kenji": [{"rank": "10", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}], "Player": [{"rank": "9", "suit": "spades"}, {"rank": "5", "suit": "clubs"}]}


game_id: ff02551f-2e31-4d8c-826a-c24f3e358d53
timestamp: 2026-01-26 14:57:58.622709
player_id: cpu_c56fc0a3
player_name: River
action: take_discard
card_rank: 10
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: took 10 from discard
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"ADLee": [{"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "J", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}], "Kenji": [{"rank": "10", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}], "Player": [{"rank": "9", "suit": "spades"}, {"rank": "5", "suit": "clubs"}]}


game_id: ff02551f-2e31-4d8c-826a-c24f3e358d53
timestamp: 2026-01-26 14:57:59.239492
player_id: cpu_c56fc0a3
player_name: River
action: swap
card_rank: 10
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: swapped 10 into position 1, replaced 7
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"ADLee": [{"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "J", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}], "Kenji": [{"rank": "10", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}], "Player": [{"rank": "9", "suit": "spades"}, {"rank": "5", "suit": "clubs"}]}


game_id: ff02551f-2e31-4d8c-826a-c24f3e358d53
timestamp: 2026-01-26 14:58:00.299028
player_id: cpu_e7865aed
player_name: Kenji
action: take_discard
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"ADLee": [{"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "J", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}], "River": [{"rank": "A", "suit": "clubs"}, {"rank": "10", "suit": "diamonds"}, {"rank": "10", "suit": "spades"}], "Player": [{"rank": "9", "suit": "spades"}, {"rank": "5", "suit": "clubs"}]}


game_id: ff02551f-2e31-4d8c-826a-c24f3e358d53
timestamp: 2026-01-26 14:58:00.751038
player_id: cpu_e7865aed
player_name: Kenji
action: swap
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: swapped 7 into position 1, replaced 10
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"ADLee": [{"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "J", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}], "River": [{"rank": "A", "suit": "clubs"}, {"rank": "10", "suit": "diamonds"}, {"rank": "10", "suit": "spades"}], "Player": [{"rank": "9", "suit": "spades"}, {"rank": "5", "suit": "clubs"}]}


game_id: ff02551f-2e31-4d8c-826a-c24f3e358d53
timestamp: 2026-01-26 15:02:53.032883
player_id: cpu_3d42b365
player_name: Maya
action: draw_deck
card_rank: J
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"ADLee": [{"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "J", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}], "River": [{"rank": "A", "suit": "clubs"}, {"rank": "10", "suit": "diamonds"}, {"rank": "10", "suit": "spades"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "4", "suit": "clubs"}], "Player": [{"rank": "9", "suit": "spades"}, {"rank": "9", "suit": "clubs"}, {"rank": "5", "suit": "clubs"}]}


game_id: ff02551f-2e31-4d8c-826a-c24f3e358d53
timestamp: 2026-01-26 15:02:54.754365
player_id: cpu_009cb379
player_name: Marcus
action: draw_deck
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"ADLee": [{"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "J", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "A", "suit": "clubs"}, {"rank": "10", "suit": "diamonds"}, {"rank": "10", "suit": "spades"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "4", "suit": "clubs"}], "Player": [{"rank": "9", "suit": "spades"}, {"rank": "9", "suit": "clubs"}, {"rank": "5", "suit": "clubs"}]}


game_id: ff02551f-2e31-4d8c-826a-c24f3e358d53
timestamp: 2026-01-26 15:02:55.241927
player_id: cpu_009cb379
player_name: Marcus
action: swap
card_rank: 7
card_suit: spades
discard_top_json: {"rank": "2", "suit": "clubs"}
decision_reason: swapped 7 into position 2, replaced 2
hand_json:
[{"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"ADLee": [{"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "J", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "A", "suit": "clubs"}, {"rank": "10", "suit": "diamonds"}, {"rank": "10", "suit": "spades"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "4", "suit": "clubs"}], "Player": [{"rank": "9", "suit": "spades"}, {"rank": "9", "suit": "clubs"}, {"rank": "5", "suit": "clubs"}]}


game_id: ff02551f-2e31-4d8c-826a-c24f3e358d53
timestamp: 2026-01-26 15:02:56.048825
player_id: cpu_c56fc0a3
player_name: River
action: take_discard
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: took 2 from discard
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"ADLee": [{"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "J", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "4", "suit": "clubs"}], "Player": [{"rank": "9", "suit": "spades"}, {"rank": "9", "suit": "clubs"}, {"rank": "5", "suit": "clubs"}]}


game_id: ff02551f-2e31-4d8c-826a-c24f3e358d53
timestamp: 2026-01-26 15:02:56.470082
player_id: cpu_c56fc0a3
player_name: River
action: swap
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: swapped 2 into position 1, replaced 10
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"ADLee": [{"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "J", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "4", "suit": "clubs"}], "Player": [{"rank": "9", "suit": "spades"}, {"rank": "9", "suit": "clubs"}, {"rank": "5", "suit": "clubs"}]}


game_id: ff02551f-2e31-4d8c-826a-c24f3e358d53
timestamp: 2026-01-26 15:02:57.324066
player_id: cpu_e7865aed
player_name: Kenji
action: draw_deck
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"ADLee": [{"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "J", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "River": [{"rank": "A", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}, {"rank": "10", "suit": "spades"}], "Player": [{"rank": "9", "suit": "spades"}, {"rank": "9", "suit": "clubs"}, {"rank": "5", "suit": "clubs"}]}


game_id: ff02551f-2e31-4d8c-826a-c24f3e358d53
timestamp: 2026-01-26 15:02:58.010446
player_id: cpu_e7865aed
player_name: Kenji
action: swap
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: swapped 4 into position 2, replaced 4
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"ADLee": [{"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "J", "suit": "hearts"}], "Maya": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "River": [{"rank": "A", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}, {"rank": "10", "suit": "spades"}], "Player": [{"rank": "9", "suit": "spades"}, {"rank": "9", "suit": "clubs"}, {"rank": "5", "suit": "clubs"}]}


game_id: ff02551f-2e31-4d8c-826a-c24f3e358d53
timestamp: 2026-01-26 15:03:14.650185
player_id: cpu_3d42b365
player_name: Maya
action: draw_deck
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"ADLee": [{"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "River": [{"rank": "A", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}, {"rank": "10", "suit": "spades"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}, {"rank": "4", "suit": "clubs"}], "Player": [{"rank": "9", "suit": "spades"}, {"rank": "9", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "5", "suit": "clubs"}]}


game_id: ff02551f-2e31-4d8c-826a-c24f3e358d53
timestamp: 2026-01-26 15:03:15.431423
player_id: cpu_3d42b365
player_name: Maya
action: swap
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: swapped A into position 3, replaced 10
hand_json:
[{"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"ADLee": [{"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "spades"}, {"rank": "A", "suit": "spades"}], "Marcus": [{"rank": "2", "suit": "hearts"}, {"rank": "7", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "River": [{"rank": "A", "suit": "clubs"}, {"rank": "2", "suit": "clubs"}, {"rank": "10", "suit": "spades"}], "Kenji": [{"rank": "7", "suit": "diamonds"}, {"rank": "4", "suit": "diamonds"}, {"rank": "4", "suit": "clubs"}], "Player": [{"rank": "9", "suit": "spades"}, {"rank": "9", "suit": "clubs"}, {"rank": "4", "suit": "spades"}, {"rank": "5", "suit": "clubs"}]}


game_id: ff02551f-2e31-4d8c-826a-c24f3e358d53
timestamp: 2026-01-26 15:03:16.379076
player_id: cpu_009cb379
player_name: Marcus
action: draw_deck
card_rank: Q
card_suit: spades
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

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


game_id: ff02551f-2e31-4d8c-826a-c24f3e358d53
timestamp: 2026-01-26 15:03:18.176182
player_id: cpu_c56fc0a3
player_name: River
action: draw_deck
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

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


game_id: ff02551f-2e31-4d8c-826a-c24f3e358d53
timestamp: 2026-01-26 15:03:18.901107
player_id: cpu_c56fc0a3
player_name: River
action: swap
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: swapped 6 into position 4, replaced 10
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "hearts", "face_up": false}]

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


game_id: ff02551f-2e31-4d8c-826a-c24f3e358d53
timestamp: 2026-01-26 15:03:19.826734
player_id: cpu_e7865aed
player_name: Kenji
action: draw_deck
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "clubs", "face_up": true}]

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


game_id: 07b4bab6-acbf-40f0-af7e-d2e35c3d7872
timestamp: 2026-01-26 15:05:19.343979
player_id: cpu_377c4c8c
player_name: Maya
action: draw_deck
card_rank: Q
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"ADLee": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}], "Priya": [{"rank": "2", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}], "Marcus": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}]}


game_id: 07b4bab6-acbf-40f0-af7e-d2e35c3d7872
timestamp: 2026-01-26 15:05:20.896933
player_id: cpu_679e18e9
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": "10", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"ADLee": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}], "Maya": [{"rank": "K", "suit": "clubs"}, {"rank": "J", "suit": "spades"}], "Marcus": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}]}


game_id: 07b4bab6-acbf-40f0-af7e-d2e35c3d7872
timestamp: 2026-01-26 15:05:21.494091
player_id: cpu_679e18e9
player_name: Priya
action: swap
card_rank: A
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: swapped A into position 0, replaced 10
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"ADLee": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}], "Maya": [{"rank": "K", "suit": "clubs"}, {"rank": "J", "suit": "spades"}], "Marcus": [{"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}]}


game_id: 07b4bab6-acbf-40f0-af7e-d2e35c3d7872
timestamp: 2026-01-26 15:05:22.347054
player_id: cpu_728f4be6
player_name: Marcus
action: draw_deck
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"ADLee": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}], "Maya": [{"rank": "K", "suit": "clubs"}, {"rank": "J", "suit": "spades"}], "Priya": [{"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}]}


game_id: 07b4bab6-acbf-40f0-af7e-d2e35c3d7872
timestamp: 2026-01-26 15:05:22.785672
player_id: cpu_728f4be6
player_name: Marcus
action: swap
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "3", "suit": "clubs"}
decision_reason: swapped 6 into position 0, replaced 3
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"ADLee": [{"rank": "A", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}], "Maya": [{"rank": "K", "suit": "clubs"}, {"rank": "J", "suit": "spades"}], "Priya": [{"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}]}


game_id: 07b4bab6-acbf-40f0-af7e-d2e35c3d7872
timestamp: 2026-01-26 15:05:27.416076
player_id: cpu_377c4c8c
player_name: Maya
action: draw_deck
card_rank: A
card_suit: spades
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "10", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": true}]

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


game_id: 07b4bab6-acbf-40f0-af7e-d2e35c3d7872
timestamp: 2026-01-26 15:05:28.038940
player_id: cpu_377c4c8c
player_name: Maya
action: swap
card_rank: A
card_suit: spades
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: swapped A into position 0, replaced 10
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": true}]

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


game_id: 07b4bab6-acbf-40f0-af7e-d2e35c3d7872
timestamp: 2026-01-26 15:05:29.001575
player_id: cpu_679e18e9
player_name: Priya
action: draw_deck
card_rank: A
card_suit: spades
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"ADLee": [{"rank": "A", "suit": "diamonds"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "J", "suit": "spades"}], "Marcus": [{"rank": "6", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}]}


game_id: 07b4bab6-acbf-40f0-af7e-d2e35c3d7872
timestamp: 2026-01-26 15:05:29.555892
player_id: cpu_679e18e9
player_name: Priya
action: swap
card_rank: A
card_suit: spades
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: swapped A into position 3, replaced 10
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"ADLee": [{"rank": "A", "suit": "diamonds"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "J", "suit": "spades"}], "Marcus": [{"rank": "6", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}]}


game_id: 07b4bab6-acbf-40f0-af7e-d2e35c3d7872
timestamp: 2026-01-26 15:05:30.393469
player_id: cpu_728f4be6
player_name: Marcus
action: draw_deck
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"ADLee": [{"rank": "A", "suit": "diamonds"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "J", "suit": "spades"}], "Priya": [{"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}]}


game_id: 07b4bab6-acbf-40f0-af7e-d2e35c3d7872
timestamp: 2026-01-26 15:05:30.872263
player_id: cpu_728f4be6
player_name: Marcus
action: swap
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: swapped 3 into position 0, replaced 6
hand_json:
[{"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"ADLee": [{"rank": "A", "suit": "diamonds"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "J", "suit": "spades"}], "Priya": [{"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}]}


game_id: 07b4bab6-acbf-40f0-af7e-d2e35c3d7872
timestamp: 2026-01-26 15:05:41.866085
player_id: cpu_377c4c8c
player_name: Maya
action: draw_deck
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "spades", "face_up": true}]

visible_opponents_json:
{"ADLee": [{"rank": "A", "suit": "diamonds"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}], "Marcus": [{"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}]}


game_id: 07b4bab6-acbf-40f0-af7e-d2e35c3d7872
timestamp: 2026-01-26 15:05:42.369865
player_id: cpu_377c4c8c
player_name: Maya
action: swap
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: swapped 2 into position 5, replaced J
hand_json:
[{"rank": "A", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "9", "suit": "spades", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "diamonds", "face_up": true}]

visible_opponents_json:
{"ADLee": [{"rank": "A", "suit": "diamonds"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "8", "suit": "diamonds"}], "Marcus": [{"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "spades"}, {"rank": "A", "suit": "hearts"}]}


game_id: 07b4bab6-acbf-40f0-af7e-d2e35c3d7872
timestamp: 2026-01-26 15:05:43.408849
player_id: cpu_679e18e9
player_name: Priya
action: draw_deck
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "8", "suit": "diamonds", "face_up": true}]

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


game_id: 07b4bab6-acbf-40f0-af7e-d2e35c3d7872
timestamp: 2026-01-26 15:05:43.914992
player_id: cpu_679e18e9
player_name: Priya
action: swap
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: swapped 7 into position 5, replaced 8
hand_json:
[{"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

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


game_id: 07b4bab6-acbf-40f0-af7e-d2e35c3d7872
timestamp: 2026-01-26 15:05:44.810418
player_id: cpu_728f4be6
player_name: Marcus
action: draw_deck
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}]

visible_opponents_json:
{"ADLee": [{"rank": "A", "suit": "diamonds"}, {"rank": "3", "suit": "clubs"}, {"rank": "K", "suit": "diamonds"}], "Maya": [{"rank": "A", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "A", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "A", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}]}


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:24:35.684969
player_id: cpu_13b54320
player_name: Maya
action: draw_deck
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:24:36.347511
player_id: cpu_13b54320
player_name: Maya
action: swap
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "K", "suit": "hearts"}
decision_reason: swapped K into position 2, replaced K
hand_json:
[{"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:24:37.310495
player_id: cpu_a7ddf71e
player_name: Priya
action: take_discard
card_rank: K
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: took K from discard
hand_json:
[{"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:24:37.775073
player_id: cpu_a7ddf71e
player_name: Priya
action: swap
card_rank: K
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: swapped K into position 2, replaced 7
hand_json:
[{"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:24:38.901850
player_id: cpu_b93a1b83
player_name: River
action: take_discard
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "8", "suit": "clubs"}, {"rank": "J", "suit": "diamonds"}], "Maya": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "Priya": [{"rank": "5", "suit": "hearts"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}], "Sage": [{"rank": "K", "suit": "diamonds"}, {"rank": "10", "suit": "clubs"}]}


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:24:39.678257
player_id: cpu_b93a1b83
player_name: River
action: swap
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: swapped 7 into position 3, replaced 9
hand_json:
[{"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "8", "suit": "clubs"}, {"rank": "J", "suit": "diamonds"}], "Maya": [{"rank": "6", "suit": "clubs"}, {"rank": "K", "suit": "clubs"}, {"rank": "5", "suit": "hearts"}], "Priya": [{"rank": "5", "suit": "hearts"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}], "Sage": [{"rank": "K", "suit": "diamonds"}, {"rank": "10", "suit": "clubs"}]}


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:24:40.524979
player_id: cpu_f505d401
player_name: Sage
action: draw_deck
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:24:40.986431
player_id: cpu_f505d401
player_name: Sage
action: swap
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: swapped 7 into position 5, replaced 10
hand_json:
[{"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:24:48.826734
player_id: cpu_13b54320
player_name: Maya
action: take_discard
card_rank: A
card_suit: spades
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: took A from discard
hand_json:
[{"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:24:49.568160
player_id: cpu_13b54320
player_name: Maya
action: swap
card_rank: A
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: swapped A into position 1, replaced Q
hand_json:
[{"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:24:50.496080
player_id: cpu_a7ddf71e
player_name: Priya
action: draw_deck
card_rank: 9
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "Q", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:24:52.065587
player_id: cpu_b93a1b83
player_name: River
action: draw_deck
card_rank: 10
card_suit: spades
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:24:53.755076
player_id: cpu_f505d401
player_name: Sage
action: draw_deck
card_rank: 10
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "3", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "diamonds", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:25:55.187293
player_id: cpu_13b54320
player_name: Maya
action: draw_deck
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "spades", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:25:55.676926
player_id: cpu_13b54320
player_name: Maya
action: swap
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "4", "suit": "spades"}
decision_reason: swapped A into position 3, replaced 4
hand_json:
[{"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:25:56.978990
player_id: cpu_a7ddf71e
player_name: Priya
action: take_discard
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: took 4 from discard
visible_opponents_json:
{"adlee": [{"rank": "8", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}], "Maya": [{"rank": "6", "suit": "clubs"}, {"rank": "A", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}], "River": [{"rank": "6", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}], "Sage": [{"rank": "K", "suit": "diamonds"}, {"rank": "7", "suit": "diamonds"}]}


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:25:57.708340
player_id: cpu_a7ddf71e
player_name: Priya
action: swap
card_rank: 4
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: swapped 4 into position 0, replaced Q
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:25:58.558854
player_id: cpu_b93a1b83
player_name: River
action: draw_deck
card_rank: Q
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "8", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}], "Maya": [{"rank": "6", "suit": "clubs"}, {"rank": "A", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}], "Priya": [{"rank": "4", "suit": "spades"}, {"rank": "5", "suit": "hearts"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}], "Sage": [{"rank": "K", "suit": "diamonds"}, {"rank": "7", "suit": "diamonds"}]}


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:25:59.925387
player_id: cpu_f505d401
player_name: Sage
action: draw_deck
card_rank: 8
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "8", "suit": "clubs"}, {"rank": "5", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}], "Maya": [{"rank": "6", "suit": "clubs"}, {"rank": "A", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}], "Priya": [{"rank": "4", "suit": "spades"}, {"rank": "5", "suit": "hearts"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}], "River": [{"rank": "6", "suit": "spades"}, {"rank": "7", "suit": "diamonds"}]}


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:26:04.753535
player_id: cpu_13b54320
player_name: Maya
action: take_discard
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:26:05.295828
player_id: cpu_13b54320
player_name: Maya
action: swap
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: swapped 3 into position 5, replaced 8
hand_json:
[{"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:26:06.508622
player_id: cpu_a7ddf71e
player_name: Priya
action: draw_deck
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "diamonds", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:26:07.196328
player_id: cpu_a7ddf71e
player_name: Priya
action: discard
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: discarded 7
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:26:08.358538
player_id: cpu_b93a1b83
player_name: River
action: take_discard
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: took 7 from discard
visible_opponents_json:
{"adlee": [{"rank": "8", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}], "Maya": [{"rank": "6", "suit": "clubs"}, {"rank": "A", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "spades"}, {"rank": "5", "suit": "hearts"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "Sage": [{"rank": "K", "suit": "diamonds"}, {"rank": "7", "suit": "diamonds"}]}


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:26:09.113043
player_id: cpu_b93a1b83
player_name: River
action: swap
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: swapped 7 into position 0, replaced 8
hand_json:
[{"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:26:10.409463
player_id: cpu_f505d401
player_name: Sage
action: draw_deck
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "8", "suit": "clubs"}, {"rank": "8", "suit": "spades"}, {"rank": "5", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}], "Maya": [{"rank": "6", "suit": "clubs"}, {"rank": "A", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}], "Priya": [{"rank": "4", "suit": "spades"}, {"rank": "5", "suit": "hearts"}, {"rank": "K", "suit": "hearts"}, {"rank": "2", "suit": "hearts"}, {"rank": "K", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}], "River": [{"rank": "7", "suit": "hearts"}, {"rank": "6", "suit": "spades"}, {"rank": "6", "suit": "hearts"}, {"rank": "7", "suit": "diamonds"}, {"rank": "K", "suit": "spades"}, {"rank": "Q", "suit": "diamonds"}]}


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:26:11.123483
player_id: cpu_f505d401
player_name: Sage
action: swap
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "3", "suit": "clubs"}
decision_reason: swapped 5 into position 0, replaced 3
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "diamonds", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:27:04.813753
player_id: cpu_13b54320
player_name: Maya
action: draw_deck
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Priya": [{"rank": "J", "suit": "spades"}, {"rank": "9", "suit": "hearts"}], "River": [{"rank": "A", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}], "Sage": [{"rank": "9", "suit": "diamonds"}, {"rank": "10", "suit": "hearts"}]}


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:27:06.186770
player_id: cpu_a7ddf71e
player_name: Priya
action: take_discard
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: took 8 from discard
hand_json:
[{"rank": "J", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Maya": [{"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}], "River": [{"rank": "A", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}], "Sage": [{"rank": "9", "suit": "diamonds"}, {"rank": "10", "suit": "hearts"}]}


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:27:06.895327
player_id: cpu_a7ddf71e
player_name: Priya
action: swap
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: swapped 8 into position 0, replaced J
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Maya": [{"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}], "River": [{"rank": "A", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}], "Sage": [{"rank": "9", "suit": "diamonds"}, {"rank": "10", "suit": "hearts"}]}


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:27:08.199748
player_id: cpu_b93a1b83
player_name: River
action: draw_deck
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Maya": [{"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}], "Priya": [{"rank": "8", "suit": "hearts"}, {"rank": "9", "suit": "hearts"}], "Sage": [{"rank": "9", "suit": "diamonds"}, {"rank": "10", "suit": "hearts"}]}


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:27:08.969663
player_id: cpu_b93a1b83
player_name: River
action: swap
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "5", "suit": "hearts"}
decision_reason: swapped 4 into position 0, replaced 5
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "spades"}], "Maya": [{"rank": "3", "suit": "hearts"}, {"rank": "A", "suit": "hearts"}], "Priya": [{"rank": "8", "suit": "hearts"}, {"rank": "9", "suit": "hearts"}], "Sage": [{"rank": "9", "suit": "diamonds"}, {"rank": "10", "suit": "hearts"}]}


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:27:10.235373
player_id: cpu_f505d401
player_name: Sage
action: take_discard
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "hearts", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:27:10.740186
player_id: cpu_f505d401
player_name: Sage
action: swap
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: swapped 5 into position 4, replaced 10
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "hearts", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:28:52.437986
player_id: cpu_13b54320
player_name: Maya
action: draw_deck
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:28:53.083087
player_id: cpu_13b54320
player_name: Maya
action: swap
card_rank: 2
card_suit: clubs
discard_top_json: {"rank": "4", "suit": "hearts"}
decision_reason: swapped 2 into position 1, replaced 4
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:28:54.052968
player_id: cpu_a7ddf71e
player_name: Priya
action: take_discard
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "9", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:28:54.817599
player_id: cpu_a7ddf71e
player_name: Priya
action: swap
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: swapped 4 into position 5, replaced 9
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:28:55.806092
player_id: cpu_b93a1b83
player_name: River
action: draw_deck
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:28:56.459160
player_id: cpu_b93a1b83
player_name: River
action: swap
card_rank: A
card_suit: clubs
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: swapped A into position 5, replaced 8
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:28:57.743908
player_id: cpu_f505d401
player_name: Sage
action: draw_deck
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "9", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "hearts", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:28:58.491576
player_id: cpu_f505d401
player_name: Sage
action: swap
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: swapped 6 into position 2, replaced 9
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "hearts", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:29:02.992816
player_id: cpu_13b54320
player_name: Maya
action: draw_deck
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "diamonds", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:29:03.689407
player_id: cpu_13b54320
player_name: Maya
action: swap
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "K", "suit": "diamonds"}
decision_reason: swapped 3 into position 5, replaced K
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:29:04.553831
player_id: cpu_a7ddf71e
player_name: Priya
action: take_discard
card_rank: K
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: took K from discard
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": false}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:29:05.042965
player_id: cpu_a7ddf71e
player_name: Priya
action: swap
card_rank: K
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: swapped K into position 1, replaced 6
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:29:06.313987
player_id: cpu_b93a1b83
player_name: River
action: take_discard
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "spades"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:29:06.951904
player_id: cpu_b93a1b83
player_name: River
action: swap
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: swapped 6 into position 1, replaced Q
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:29:07.899003
player_id: cpu_f505d401
player_name: Sage
action: draw_deck
card_rank: A
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "hearts", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:29:08.332234
player_id: cpu_f505d401
player_name: Sage
action: swap
card_rank: A
card_suit: spades
discard_top_json: {"rank": "A", "suit": "diamonds"}
decision_reason: swapped A into position 3, replaced A
hand_json:
[{"rank": "A", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "hearts", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:31:23.948661
player_id: cpu_13b54320
player_name: Maya
action: take_discard
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "4", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:31:24.600018
player_id: cpu_13b54320
player_name: Maya
action: swap
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "4", "suit": "hearts"}
decision_reason: swapped 7 into position 0, replaced 4
hand_json:
[{"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:31:25.645028
player_id: cpu_a7ddf71e
player_name: Priya
action: take_discard
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": false}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:31:26.095774
player_id: cpu_a7ddf71e
player_name: Priya
action: swap
card_rank: 4
card_suit: hearts
discard_top_json: {"rank": "K", "suit": "spades"}
decision_reason: swapped 4 into position 2, replaced K
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:31:27.347357
player_id: cpu_b93a1b83
player_name: River
action: take_discard
card_rank: K
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: took K from discard
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:31:28.012661
player_id: cpu_b93a1b83
player_name: River
action: swap
card_rank: K
card_suit: spades
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: swapped K into position 1, replaced 6
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:31:28.970767
player_id: cpu_f505d401
player_name: Sage
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": "A", "suit": "clubs", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "hearts", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:31:29.643117
player_id: cpu_f505d401
player_name: Sage
action: swap
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "A", "suit": "clubs"}
decision_reason: swapped 6 into position 0, replaced A
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "hearts", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:32:12.329370
player_id: cpu_13b54320
player_name: Maya
action: take_discard
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: took 2 from discard
hand_json:
[{"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:32:12.938541
player_id: cpu_13b54320
player_name: Maya
action: swap
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: swapped 2 into position 0, replaced 7
hand_json:
[{"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:32:13.856782
player_id: cpu_a7ddf71e
player_name: Priya
action: take_discard
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:32:14.661988
player_id: cpu_a7ddf71e
player_name: Priya
action: swap
card_rank: 7
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: swapped 7 into position 0, replaced 8
hand_json:
[{"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:32:15.480441
player_id: cpu_b93a1b83
player_name: River
action: draw_deck
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:32:16.978905
player_id: cpu_f505d401
player_name: Sage
action: take_discard
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "hearts", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:32:17.428234
player_id: cpu_f505d401
player_name: Sage
action: swap
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: swapped 5 into position 1, replaced 10
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "hearts", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:32:21.885232
player_id: cpu_13b54320
player_name: Maya
action: take_discard
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:32:22.637031
player_id: cpu_13b54320
player_name: Maya
action: swap
card_rank: 3
card_suit: diamonds
discard_top_json: {"rank": "3", "suit": "hearts"}
decision_reason: swapped 3 into position 2, replaced 3
hand_json:
[{"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:32:23.779667
player_id: cpu_a7ddf71e
player_name: Priya
action: take_discard
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:32:24.529961
player_id: cpu_a7ddf71e
player_name: Priya
action: swap
card_rank: 3
card_suit: hearts
discard_top_json: {"rank": "2", "suit": "hearts"}
decision_reason: swapped 3 into position 3, replaced 2
hand_json:
[{"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:32:25.617454
player_id: cpu_b93a1b83
player_name: River
action: take_discard
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: took 2 from discard
visible_opponents_json:
{"adlee": [{"rank": "A", "suit": "clubs"}, {"rank": "3", "suit": "spades"}, {"rank": "6", "suit": "spades"}, {"rank": "A", "suit": "diamonds"}, {"rank": "5", "suit": "spades"}], "Maya": [{"rank": "2", "suit": "hearts"}, {"rank": "2", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}, {"rank": "A", "suit": "hearts"}, {"rank": "3", "suit": "clubs"}], "Priya": [{"rank": "7", "suit": "diamonds"}, {"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}, {"rank": "4", "suit": "hearts"}], "Sage": [{"rank": "6", "suit": "diamonds"}, {"rank": "5", "suit": "diamonds"}, {"rank": "6", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}, {"rank": "5", "suit": "hearts"}]}


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:32:26.043923
player_id: cpu_b93a1b83
player_name: River
action: swap
card_rank: 2
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: swapped 2 into position 3, replaced 9
hand_json:
[{"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "A", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:32:27.011615
player_id: cpu_f505d401
player_name: Sage
action: draw_deck
card_rank: 10
card_suit: spades
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "hearts", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:32:27.590758
player_id: cpu_f505d401
player_name: Sage
action: discard
card_rank: 10
card_suit: spades
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: discarded 10
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "10", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:35:42.172904
player_id: cpu_13b54320
player_name: Maya
action: draw_deck
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:35:42.812071
player_id: cpu_13b54320
player_name: Maya
action: discard
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "5", "suit": "diamonds"}
decision_reason: discarded 5
hand_json:
[{"rank": "2", "suit": "hearts", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:35:43.751038
player_id: cpu_a7ddf71e
player_name: Priya
action: take_discard
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "7", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:35:44.234164
player_id: cpu_a7ddf71e
player_name: Priya
action: swap
card_rank: 5
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "diamonds"}
decision_reason: swapped 5 into position 0, replaced 7
hand_json:
[{"rank": "5", "suit": "diamonds", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:36:56.477058
player_id: cpu_13b54320
player_name: Maya
action: take_discard
card_rank: 10
card_suit: diamonds
decision_reason: took 10 from discard
hand_json:
[{"rank": "3", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": false}, {"rank": "Q", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "8", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}, {"rank": "K", "suit": "spades"}], "Priya": [{"rank": "3", "suit": "spades"}, {"rank": "Q", "suit": "hearts"}], "River": [{"rank": "3", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}], "Sage": [{"rank": "J", "suit": "diamonds"}, {"rank": "8", "suit": "clubs"}]}


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:36:57.064014
player_id: cpu_13b54320
player_name: Maya
action: swap
card_rank: 10
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: swapped 10 into position 4, replaced 10
hand_json:
[{"rank": "3", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": true}]

visible_opponents_json:
{"adlee": [{"rank": "8", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}, {"rank": "K", "suit": "spades"}], "Priya": [{"rank": "3", "suit": "spades"}, {"rank": "Q", "suit": "hearts"}], "River": [{"rank": "3", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}], "Sage": [{"rank": "J", "suit": "diamonds"}, {"rank": "8", "suit": "clubs"}]}


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:36:58.283875
player_id: cpu_a7ddf71e
player_name: Priya
action: draw_deck
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "8", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}, {"rank": "K", "suit": "spades"}], "Maya": [{"rank": "10", "suit": "spades"}, {"rank": "10", "suit": "diamonds"}, {"rank": "Q", "suit": "clubs"}], "River": [{"rank": "3", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}], "Sage": [{"rank": "J", "suit": "diamonds"}, {"rank": "8", "suit": "clubs"}]}


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:36:59.001214
player_id: cpu_a7ddf71e
player_name: Priya
action: swap
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: swapped 5 into position 3, replaced Q
hand_json:
[{"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "8", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}, {"rank": "K", "suit": "spades"}], "Maya": [{"rank": "10", "suit": "spades"}, {"rank": "10", "suit": "diamonds"}, {"rank": "Q", "suit": "clubs"}], "River": [{"rank": "3", "suit": "clubs"}, {"rank": "Q", "suit": "diamonds"}], "Sage": [{"rank": "J", "suit": "diamonds"}, {"rank": "8", "suit": "clubs"}]}


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:37:00.172238
player_id: cpu_b93a1b83
player_name: River
action: take_discard
card_rank: Q
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: took Q from discard
hand_json:
[{"rank": "4", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "8", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}, {"rank": "K", "suit": "spades"}], "Maya": [{"rank": "10", "suit": "spades"}, {"rank": "10", "suit": "diamonds"}, {"rank": "Q", "suit": "clubs"}], "Priya": [{"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}], "Sage": [{"rank": "J", "suit": "diamonds"}, {"rank": "8", "suit": "clubs"}]}


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:37:00.945389
player_id: cpu_b93a1b83
player_name: River
action: swap
card_rank: Q
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: swapped Q into position 1, replaced 8
hand_json:
[{"rank": "4", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}]

visible_opponents_json:
{"adlee": [{"rank": "8", "suit": "diamonds"}, {"rank": "8", "suit": "hearts"}, {"rank": "K", "suit": "spades"}], "Maya": [{"rank": "10", "suit": "spades"}, {"rank": "10", "suit": "diamonds"}, {"rank": "Q", "suit": "clubs"}], "Priya": [{"rank": "3", "suit": "spades"}, {"rank": "5", "suit": "clubs"}], "Sage": [{"rank": "J", "suit": "diamonds"}, {"rank": "8", "suit": "clubs"}]}


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:37:02.000734
player_id: cpu_f505d401
player_name: Sage
action: take_discard
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: took 8 from discard
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "diamonds", "face_up": false}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:37:02.669961
player_id: cpu_f505d401
player_name: Sage
action: swap
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "2", "suit": "diamonds"}
decision_reason: swapped 8 into position 1, replaced 2
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:38:21.031845
player_id: cpu_13b54320
player_name: Maya
action: take_discard
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: took 2 from discard
hand_json:
[{"rank": "3", "suit": "spades", "face_up": false}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:38:21.672548
player_id: cpu_13b54320
player_name: Maya
action: swap
card_rank: 2
card_suit: diamonds
discard_top_json: {"rank": "3", "suit": "spades"}
decision_reason: swapped 2 into position 0, replaced 3
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:38:22.836862
player_id: cpu_a7ddf71e
player_name: Priya
action: take_discard
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:38:23.256635
player_id: cpu_a7ddf71e
player_name: Priya
action: swap
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: swapped 3 into position 5, replaced 7
hand_json:
[{"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:38:24.280190
player_id: cpu_b93a1b83
player_name: River
action: take_discard
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "4", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:38:25.018768
player_id: cpu_b93a1b83
player_name: River
action: swap
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: swapped 7 into position 1, replaced Q
hand_json:
[{"rank": "4", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:38:26.268877
player_id: cpu_f505d401
player_name: Sage
action: draw_deck
card_rank: Q
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:38:26.678343
player_id: cpu_f505d401
player_name: Sage
action: swap
card_rank: Q
card_suit: spades
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: swapped Q into position 2, replaced 8
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:38:51.694190
player_id: cpu_13b54320
player_name: Maya
action: take_discard
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "spades"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "10", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:38:52.198503
player_id: cpu_13b54320
player_name: Maya
action: swap
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: swapped 7 into position 1, replaced 10
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:38:53.364210
player_id: cpu_a7ddf71e
player_name: Priya
action: draw_deck
card_rank: 10
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:38:53.941778
player_id: cpu_a7ddf71e
player_name: Priya
action: swap
card_rank: 10
card_suit: hearts
discard_top_json: {"rank": "A", "suit": "spades"}
decision_reason: swapped 10 into position 4, replaced A
hand_json:
[{"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:38:55.184323
player_id: cpu_b93a1b83
player_name: River
action: take_discard
card_rank: A
card_suit: spades
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: took A from discard
hand_json:
[{"rank": "4", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:38:55.862157
player_id: cpu_b93a1b83
player_name: River
action: swap
card_rank: A
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: swapped A into position 4, replaced Q
hand_json:
[{"rank": "4", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:38:56.943010
player_id: cpu_f505d401
player_name: Sage
action: take_discard
card_rank: Q
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: took Q from discard
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "2", "suit": "hearts", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:38:57.416968
player_id: cpu_f505d401
player_name: Sage
action: swap
card_rank: Q
card_suit: diamonds
discard_top_json: {"rank": "2", "suit": "hearts"}
decision_reason: swapped Q into position 5, replaced 2
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:39:01.489744
player_id: cpu_13b54320
player_name: Maya
action: take_discard
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": false}, {"rank": "10", "suit": "diamonds", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:39:02.097260
player_id: cpu_13b54320
player_name: Maya
action: swap
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "diamonds"}
decision_reason: swapped 6 into position 4, replaced 10
hand_json:
[{"rank": "2", "suit": "diamonds", "face_up": true}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:39:03.290273
player_id: cpu_a7ddf71e
player_name: Priya
action: take_discard
card_rank: 10
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: took 10 from discard
hand_json:
[{"rank": "J", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:39:03.928057
player_id: cpu_a7ddf71e
player_name: Priya
action: swap
card_rank: 10
card_suit: diamonds
discard_top_json: {"rank": "6", "suit": "clubs"}
decision_reason: swapped 10 into position 1, replaced 6
hand_json:
[{"rank": "J", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:39:04.777457
player_id: cpu_b93a1b83
player_name: River
action: take_discard
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "4", "suit": "spades", "face_up": false}, {"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": false}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:39:05.356243
player_id: cpu_b93a1b83
player_name: River
action: swap
card_rank: 6
card_suit: clubs
discard_top_json: {"rank": "7", "suit": "hearts"}
decision_reason: swapped 6 into position 1, replaced 7
hand_json:
[{"rank": "4", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "clubs", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "10", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:39:06.648795
player_id: cpu_f505d401
player_name: Sage
action: take_discard
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "10", "suit": "spades"}
decision_reason: took 7 from discard
hand_json:
[{"rank": "J", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:39:07.324099
player_id: cpu_f505d401
player_name: Sage
action: swap
card_rank: 7
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: swapped 7 into position 0, replaced J
hand_json:
[{"rank": "7", "suit": "hearts", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "Q", "suit": "spades", "face_up": true}, {"rank": "7", "suit": "spades", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": true}, {"rank": "Q", "suit": "diamonds", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:40:54.584886
player_id: cpu_13b54320
player_name: Maya
action: draw_deck
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "10", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "diamonds", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:40:55.017755
player_id: cpu_13b54320
player_name: Maya
action: swap
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: swapped 3 into position 2, replaced Q
hand_json:
[{"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:40:56.188298
player_id: cpu_a7ddf71e
player_name: Priya
action: draw_deck
card_rank: 8
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "9", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:40:56.831102
player_id: cpu_a7ddf71e
player_name: Priya
action: swap
card_rank: 8
card_suit: diamonds
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: swapped 8 into position 3, replaced 9
hand_json:
[{"rank": "5", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:40:57.943900
player_id: cpu_b93a1b83
player_name: River
action: draw_deck
card_rank: A
card_suit: spades
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "hearts", "face_up": false}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:40:58.371251
player_id: cpu_b93a1b83
player_name: River
action: swap
card_rank: A
card_suit: spades
discard_top_json: {"rank": "8", "suit": "hearts"}
decision_reason: swapped A into position 1, replaced 8
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:40:59.399587
player_id: cpu_f505d401
player_name: Sage
action: take_discard
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "clubs"}
decision_reason: took 8 from discard
hand_json:
[{"rank": "J", "suit": "clubs", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:40:59.955046
player_id: cpu_f505d401
player_name: Sage
action: swap
card_rank: 8
card_suit: hearts
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: swapped 8 into position 0, replaced J
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:41:08.440747
player_id: cpu_13b54320
player_name: Maya
action: take_discard
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "clubs"}
decision_reason: took 4 from discard
hand_json:
[{"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "J", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:41:08.991494
player_id: cpu_13b54320
player_name: Maya
action: swap
card_rank: 4
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: swapped 4 into position 3, replaced J
hand_json:
[{"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:41:10.286306
player_id: cpu_a7ddf71e
player_name: Priya
action: draw_deck
card_rank: J
card_suit: spades
discard_top_json: {"rank": "J", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:41:11.839751
player_id: cpu_b93a1b83
player_name: River
action: draw_deck
card_rank: Q
card_suit: diamonds
discard_top_json: {"rank": "J", "suit": "spades"}
decision_reason: drew from deck
hand_json:
[{"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:41:13.146112
player_id: cpu_f505d401
player_name: Sage
action: draw_deck
card_rank: K
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "7", "suit": "clubs", "face_up": false}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:41:13.762515
player_id: cpu_f505d401
player_name: Sage
action: swap
card_rank: K
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: swapped K into position 1, replaced 7
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:48:52.134168
player_id: cpu_13b54320
player_name: Maya
action: take_discard
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": false}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:48:52.782098
player_id: cpu_13b54320
player_name: Maya
action: swap
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "3", "suit": "spades"}
decision_reason: swapped 6 into position 1, replaced 3
hand_json:
[{"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:48:53.960850
player_id: cpu_a7ddf71e
player_name: Priya
action: take_discard
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: took 3 from discard
visible_opponents_json:
{"adlee": [{"rank": "3", "suit": "diamonds"}, {"rank": "3", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Maya": [{"rank": "6", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}], "River": [{"rank": "6", "suit": "diamonds"}, {"rank": "A", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Sage": [{"rank": "8", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "hearts"}]}


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:48:54.390550
player_id: cpu_a7ddf71e
player_name: Priya
action: swap
card_rank: 3
card_suit: spades
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: swapped 3 into position 3, replaced 8
hand_json:
[{"rank": "5", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:48:55.638261
player_id: cpu_b93a1b83
player_name: River
action: draw_deck
card_rank: 9
card_suit: hearts
discard_top_json: {"rank": "8", "suit": "diamonds"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "3", "suit": "diamonds"}, {"rank": "3", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}, {"rank": "2", "suit": "diamonds"}], "Maya": [{"rank": "6", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}], "Priya": [{"rank": "4", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}], "Sage": [{"rank": "8", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "4", "suit": "hearts"}]}


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:48:57.039930
player_id: cpu_f505d401
player_name: Sage
action: draw_deck
card_rank: 10
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:48:57.631787
player_id: cpu_f505d401
player_name: Sage
action: swap
card_rank: 10
card_suit: clubs
discard_top_json: {"rank": "2", "suit": "clubs"}
decision_reason: swapped 10 into position 4, replaced 2
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:49:24.398127
player_id: cpu_13b54320
player_name: Maya
action: take_discard
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:49:25.166683
player_id: cpu_13b54320
player_name: Maya
action: swap
card_rank: 6
card_suit: spades
discard_top_json: {"rank": "A", "suit": "hearts"}
decision_reason: swapped 6 into position 4, replaced A
hand_json:
[{"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:49:26.215993
player_id: cpu_a7ddf71e
player_name: Priya
action: take_discard
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "hearts"}
decision_reason: took A from discard
hand_json:
[{"rank": "5", "suit": "spades", "face_up": false}, {"rank": "Q", "suit": "spades", "face_up": false}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:49:26.733702
player_id: cpu_a7ddf71e
player_name: Priya
action: swap
card_rank: A
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: swapped A into position 1, replaced Q
hand_json:
[{"rank": "5", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:49:27.841509
player_id: cpu_b93a1b83
player_name: River
action: draw_deck
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "spades"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "3", "suit": "diamonds"}, {"rank": "3", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}], "Maya": [{"rank": "6", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}], "Priya": [{"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}], "Sage": [{"rank": "8", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "10", "suit": "clubs"}, {"rank": "4", "suit": "hearts"}]}


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:49:28.383744
player_id: cpu_b93a1b83
player_name: River
action: swap
card_rank: 5
card_suit: hearts
discard_top_json: {"rank": "6", "suit": "diamonds"}
decision_reason: swapped 5 into position 0, replaced 6
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:49:29.677777
player_id: cpu_f505d401
player_name: Sage
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": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "10", "suit": "clubs", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:49:30.293267
player_id: cpu_f505d401
player_name: Sage
action: swap
card_rank: 6
card_suit: diamonds
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: swapped 6 into position 4, replaced 10
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:49:35.638266
player_id: cpu_13b54320
player_name: Maya
action: draw_deck
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "clubs", "face_up": false}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:49:36.402607
player_id: cpu_13b54320
player_name: Maya
action: swap
card_rank: 5
card_suit: clubs
discard_top_json: {"rank": "K", "suit": "clubs"}
decision_reason: swapped 5 into position 0, replaced K
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:49:37.582483
player_id: cpu_a7ddf71e
player_name: Priya
action: take_discard
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: took K from discard
hand_json:
[{"rank": "5", "suit": "spades", "face_up": false}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:49:38.059323
player_id: cpu_a7ddf71e
player_name: Priya
action: swap
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "5", "suit": "spades"}
decision_reason: swapped K into position 0, replaced 5
hand_json:
[{"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:49:39.142011
player_id: cpu_b93a1b83
player_name: River
action: take_discard
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "10", "suit": "clubs"}
decision_reason: took 5 from discard
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "J", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:49:39.912226
player_id: cpu_b93a1b83
player_name: River
action: swap
card_rank: 5
card_suit: spades
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: swapped 5 into position 3, replaced J
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:49:41.049812
player_id: cpu_f505d401
player_name: Sage
action: draw_deck
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "J", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "8", "suit": "clubs", "face_up": false}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:49:41.770903
player_id: cpu_f505d401
player_name: Sage
action: swap
card_rank: 2
card_suit: spades
discard_top_json: {"rank": "8", "suit": "clubs"}
decision_reason: swapped 2 into position 2, replaced 8
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:53:02.051585
player_id: cpu_13b54320
player_name: Maya
action: draw_deck
card_rank: 9
card_suit: diamonds
discard_top_json: {"rank": "7", "suit": "clubs"}
decision_reason: drew from deck
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:53:04.039953
player_id: cpu_a7ddf71e
player_name: Priya
action: draw_deck
card_rank: K
card_suit: spades
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: drew from deck
hand_json:
[{"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": false}, {"rank": "2", "suit": "clubs", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:53:04.525400
player_id: cpu_a7ddf71e
player_name: Priya
action: swap
card_rank: K
card_suit: spades
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: swapped K into position 4, replaced 6
hand_json:
[{"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:53:05.689055
player_id: cpu_b93a1b83
player_name: River
action: take_discard
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: took 6 from discard
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "Q", "suit": "hearts", "face_up": false}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:53:06.486994
player_id: cpu_b93a1b83
player_name: River
action: swap
card_rank: 6
card_suit: hearts
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: swapped 6 into position 2, replaced Q
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:53:07.700591
player_id: cpu_f505d401
player_name: Sage
action: draw_deck
card_rank: 9
card_suit: diamonds
discard_top_json: {"rank": "Q", "suit": "hearts"}
decision_reason: drew from deck
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": false}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:53:48.768600
player_id: cpu_13b54320
player_name: Maya
action: take_discard
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: took 3 from discard
visible_opponents_json:
{"adlee": [{"rank": "3", "suit": "diamonds"}, {"rank": "A", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}], "Priya": [{"rank": "K", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}, {"rank": "K", "suit": "spades"}], "River": [{"rank": "5", "suit": "hearts"}, {"rank": "A", "suit": "spades"}, {"rank": "6", "suit": "hearts"}, {"rank": "5", "suit": "spades"}, {"rank": "3", "suit": "hearts"}], "Sage": [{"rank": "8", "suit": "hearts"}, {"rank": "K", "suit": "diamonds"}, {"rank": "2", "suit": "spades"}, {"rank": "6", "suit": "diamonds"}, {"rank": "4", "suit": "hearts"}]}


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:53:49.220348
player_id: cpu_13b54320
player_name: Maya
action: swap
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "3", "suit": "clubs"}
decision_reason: swapped 3 into position 5, replaced 3
hand_json:
[{"rank": "5", "suit": "clubs", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "6", "suit": "spades", "face_up": true}, {"rank": "3", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:53:50.061218
player_id: cpu_a7ddf71e
player_name: Priya
action: take_discard
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: took 3 from discard
hand_json:
[{"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": false}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:53:50.513648
player_id: cpu_a7ddf71e
player_name: Priya
action: swap
card_rank: 3
card_suit: clubs
discard_top_json: {"rank": "K", "suit": "clubs"}
decision_reason: swapped 3 into position 0, replaced K
hand_json:
[{"rank": "3", "suit": "clubs", "face_up": true}, {"rank": "A", "suit": "hearts", "face_up": true}, {"rank": "4", "suit": "diamonds", "face_up": true}, {"rank": "3", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "spades", "face_up": true}, {"rank": "2", "suit": "clubs", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:53:51.758256
player_id: cpu_b93a1b83
player_name: River
action: take_discard
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "9", "suit": "diamonds"}
decision_reason: took K from discard
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "6", "suit": "hearts", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": false}, {"rank": "3", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:53:52.323645
player_id: cpu_b93a1b83
player_name: River
action: swap
card_rank: K
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: swapped K into position 2, replaced 6
hand_json:
[{"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "A", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "clubs", "face_up": true}, {"rank": "5", "suit": "spades", "face_up": true}, {"rank": "5", "suit": "hearts", "face_up": true}, {"rank": "3", "suit": "hearts", "face_up": true}]

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


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:53:53.471784
player_id: cpu_f505d401
player_name: Sage
action: draw_deck
card_rank: Q
card_suit: clubs
discard_top_json: {"rank": "6", "suit": "hearts"}
decision_reason: drew from deck
visible_opponents_json:
{"adlee": [{"rank": "3", "suit": "diamonds"}, {"rank": "A", "suit": "clubs"}, {"rank": "3", "suit": "diamonds"}, {"rank": "2", "suit": "clubs"}, {"rank": "2", "suit": "diamonds"}], "Maya": [{"rank": "5", "suit": "clubs"}, {"rank": "6", "suit": "hearts"}, {"rank": "3", "suit": "spades"}, {"rank": "4", "suit": "diamonds"}, {"rank": "6", "suit": "spades"}, {"rank": "3", "suit": "clubs"}], "Priya": [{"rank": "3", "suit": "clubs"}, {"rank": "A", "suit": "hearts"}, {"rank": "4", "suit": "diamonds"}, {"rank": "3", "suit": "spades"}, {"rank": "K", "suit": "spades"}, {"rank": "2", "suit": "clubs"}], "River": [{"rank": "5", "suit": "hearts"}, {"rank": "A", "suit": "spades"}, {"rank": "K", "suit": "clubs"}, {"rank": "5", "suit": "spades"}, {"rank": "5", "suit": "hearts"}, {"rank": "3", "suit": "hearts"}]}


game_id: 51aa7c52-121b-40f8-8db2-4e5110016775
timestamp: 2026-01-26 16:53:53.950239
player_id: cpu_f505d401
player_name: Sage
action: discard
card_rank: Q
card_suit: clubs
discard_top_json: {"rank": "Q", "suit": "clubs"}
decision_reason: discarded Q
hand_json:
[{"rank": "8", "suit": "hearts", "face_up": true}, {"rank": "K", "suit": "diamonds", "face_up": true}, {"rank": "2", "suit": "spades", "face_up": true}, {"rank": "K", "suit": "hearts", "face_up": true}, {"rank": "6", "suit": "diamonds", "face_up": true}, {"rank": "4", "suit": "hearts", "face_up": true}]

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


