[INFO] planner: anthropic / claude-haiku-4-5 / effort low [INFO] recording to recordings/battle_20260805_003119.mp4 at 60fps, 630x1392 with detection overlay [INFO] latency figure: figures/battle_20260805_003119.png (redrawn every 10s) [INFO] claude-haiku-4-5 does not accept an effort level; sending the request without one [capture] [INFO] Preset: fast - Balanced low-latency preset with both Clash detectors and MPS acceleration. [capture] [INFO] Clash filter: 19 classes allowed out of 155 [capture] [INFO] Loading Clash Royale models: ['detector1_v0.7.13.pt', 'detector2_v0.7.13.pt'] [capture] YOLOv8l summary (fused): 112 layers, 43,672,143 parameters, 0 gradients, 165.2 GFLOPs [capture] [INFO] Model layers fused (Conv+BN merge) [capture] [INFO] Model set to FP16 half precision on mps [capture] YOLOv8l summary (fused): 112 layers, 43,672,143 parameters, 0 gradients, 165.2 GFLOPs [Match] started [Snapshot] Planning from snapshot #1 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1065.82, "input_bytes": 1003, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1484, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 1149.81, "api_latency_ms": 1065.82, "approx_decision_latency_ms": 2215.63, "decision_latency_sec_context": 2.47} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #2 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1424.97, "input_bytes": 1292, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1589, "output_tokens": 30, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 291.7, "api_latency_ms": 1424.97, "approx_decision_latency_ms": 1716.67, "decision_latency_sec_context": 1.79} [AI Action] Decision: play cannon at (0.50, 0.65) [AI Action] Result: executed cannon from slot 3 to (0.50, 0.65) [Snapshot] Planning from snapshot #5 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1432.32, "input_bytes": 1344, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1606, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 117.29, "api_latency_ms": 1432.32, "approx_decision_latency_ms": 1549.61, "decision_latency_sec_context": 1.67} [AI Action] Decision: idle [AI Action] Result: idle [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 7, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": true, "current_hand": [{"slot": 1, "label": "the-log", "confidence": 0.8524, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 19.5288}, {"slot": 2, "label": "skeleton", "confidence": 0.8033, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 26.5319}, {"slot": 3, "label": null, "confidence": null, "selected": false, "source_detection_id": null}, {"slot": 4, "label": "ice-golem", "confidence": 0.5934, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 11.3697}]} [Snapshot] Planning from snapshot #7 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1107.12, "input_bytes": 1339, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1610, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 327.31, "api_latency_ms": 1107.12, "approx_decision_latency_ms": 1434.43, "decision_latency_sec_context": 1.83} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #10 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1173.17, "input_bytes": 1733, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1759, "output_tokens": 33, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 133.61, "api_latency_ms": 1173.17, "approx_decision_latency_ms": 1306.78, "decision_latency_sec_context": 1.62} [AI Action] Decision: play hog-rider at (0.22, 0.55) [AI Action] Result: executed hog-rider from slot 3 to (0.22, 0.55) [Snapshot] Planning from snapshot #13 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 2389.0, "input_bytes": 1493, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1663, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 133.82, "api_latency_ms": 2389.0, "approx_decision_latency_ms": 2522.82, "decision_latency_sec_context": 1.82} [AI Action] Decision: idle [AI Action] Result: idle [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 17, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": true, "current_hand": [{"slot": 1, "label": "the-log", "confidence": 0.8544, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 19.6051}, {"slot": 2, "label": "skeleton", "confidence": 0.7773, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 22.514}, {"slot": 3, "label": "fireball", "confidence": 0.7458, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 13.8348}, {"slot": 4, "label": "ice-golem", "confidence": 0.5914, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 11.3859}]} [Snapshot] Planning from snapshot #17 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1377.55, "input_bytes": 1657, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1731, "output_tokens": 45, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 302.14, "api_latency_ms": 1377.55, "approx_decision_latency_ms": 1679.69, "decision_latency_sec_context": 1.98} [AI Action] Decision: play ice-golem at (0.50, 0.55) [AI Action] Result: executed ice-golem from slot 4 to (0.50, 0.55) [Snapshot] Planning from snapshot #20 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 933.02, "input_bytes": 1685, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1744, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 286.59, "api_latency_ms": 933.02, "approx_decision_latency_ms": 1219.61, "decision_latency_sec_context": 1.9} [AI Action] Decision: idle [AI Action] Result: idle [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 21, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": true, "current_hand": [{"slot": 1, "label": "the-log", "confidence": 0.8543, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 19.6044}, {"slot": 2, "label": "skeleton", "confidence": 0.7776, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 22.5322}, {"slot": 3, "label": "fireball", "confidence": 0.5591, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 9.3596}, {"slot": 4, "label": null, "confidence": null, "selected": false, "source_detection_id": null}]} [Snapshot] Planning from snapshot #21 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 930.75, "input_bytes": 1363, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1616, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 352.65, "api_latency_ms": 930.75, "approx_decision_latency_ms": 1283.4, "decision_latency_sec_context": 1.95} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #22 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1220.05, "input_bytes": 1560, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1692, "output_tokens": 34, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 331.01, "api_latency_ms": 1220.05, "approx_decision_latency_ms": 1551.06, "decision_latency_sec_context": 1.9} [AI Action] Decision: play the-log at (0.73, 0.42) [AI Action] Result: executed the-log from slot 1 to (0.73, 0.42) [AI Action] Verification: {"status": "verified", "snapshot_sequence": 25, "reason": "matching friendly unit detected near board tap", "matches": [{"id": "d11", "label": "the-log", "distance": 99.98, "center": {"x": 189.0, "y": 402.0}, "confidence": 0.6539}], "slot_changed": false} [Snapshot] Planning from snapshot #25 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1408.01, "input_bytes": 1921, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1826, "output_tokens": 32, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 297.03, "api_latency_ms": 1408.01, "approx_decision_latency_ms": 1705.04, "decision_latency_sec_context": 1.86} [AI Action] Decision: play musketeer at (0.22, 0.65) [AI Action] Result: executed musketeer from slot 4 to (0.22, 0.65) [Snapshot] Planning from snapshot #27 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 862.89, "input_bytes": 1360, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1619, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 356.92, "api_latency_ms": 862.89, "approx_decision_latency_ms": 1219.81, "decision_latency_sec_context": 1.89} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #28 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1700.53, "input_bytes": 1600, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1704, "output_tokens": 32, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 390.44, "api_latency_ms": 1700.53, "approx_decision_latency_ms": 2090.97, "decision_latency_sec_context": 1.99} [AI Action] Decision: play ice-spirit at (0.22, 0.55) [AI Action] Result: executed ice-spirit from slot 1 to (0.22, 0.55) [Snapshot] Planning from snapshot #31 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1329.16, "input_bytes": 2726, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 2126, "output_tokens": 37, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 376.92, "api_latency_ms": 1329.16, "approx_decision_latency_ms": 1706.08, "decision_latency_sec_context": 1.85} [AI Action] Decision: play skeleton at (0.22, 0.53) [AI Action] Result: executed skeleton from slot 2 to (0.22, 0.53) [AI Action] Verification: {"status": "verified", "snapshot_sequence": 34, "reason": "matching friendly unit detected near board tap", "matches": [{"id": "d17", "label": "skeleton", "distance": 3.69, "center": {"x": 84.0, "y": 437.5}, "confidence": 0.7469}], "slot_changed": false} [Snapshot] Planning from snapshot #34 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 2516.64, "input_bytes": 2252, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1938, "output_tokens": 30, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 393.59, "api_latency_ms": 2516.64, "approx_decision_latency_ms": 2910.23, "decision_latency_sec_context": 2.01} [AI Action] Decision: play cannon at (0.22, 0.65) [AI Action] Result: executed cannon from slot 1 to (0.22, 0.65) [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 38, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": true, "current_hand": [{"slot": 1, "label": null, "confidence": null, "selected": false, "source_detection_id": null}, {"slot": 2, "label": "hog-rider", "confidence": 0.765, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 14.2167}, {"slot": 3, "label": "fireball", "confidence": 0.7418, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 13.6433}, {"slot": 4, "label": "musketeer", "confidence": 0.6456, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 16.5147}]} [Snapshot] Planning from snapshot #38 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1139.01, "input_bytes": 2235, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1950, "output_tokens": 33, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 343.03, "api_latency_ms": 1139.01, "approx_decision_latency_ms": 1482.04, "decision_latency_sec_context": 1.98} [AI Action] Decision: play fireball at (0.67, 0.34) [AI Action] Result: executed fireball from slot 3 to (0.67, 0.34) [Snapshot] Planning from snapshot #40 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1241.62, "input_bytes": 1797, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1781, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 119.89, "api_latency_ms": 1241.62, "approx_decision_latency_ms": 1361.51, "decision_latency_sec_context": 1.8} [AI Action] Decision: idle [AI Action] Result: idle [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 43, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": true, "current_hand": [{"slot": 1, "label": "ice-golem", "confidence": 0.65, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 19.2034}, {"slot": 2, "label": null, "confidence": null, "selected": false, "source_detection_id": null}, {"slot": 3, "label": null, "confidence": null, "selected": false, "source_detection_id": null}, {"slot": 4, "label": null, "confidence": null, "selected": false, "source_detection_id": null}]} [Snapshot] Planning from snapshot #43 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 911.62, "input_bytes": 1939, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1839, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 124.55, "api_latency_ms": 911.62, "approx_decision_latency_ms": 1036.17, "decision_latency_sec_context": 1.76} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #44 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 928.93, "input_bytes": 1791, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1786, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 305.9, "api_latency_ms": 928.93, "approx_decision_latency_ms": 1234.83, "decision_latency_sec_context": 1.88} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #46 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1142.55, "input_bytes": 1647, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1737, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 121.63, "api_latency_ms": 1142.55, "approx_decision_latency_ms": 1264.18, "decision_latency_sec_context": 1.74} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #48 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1006.07, "input_bytes": 1674, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1750, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 164.17, "api_latency_ms": 1006.07, "approx_decision_latency_ms": 1170.24, "decision_latency_sec_context": 1.69} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #49 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1022.71, "input_bytes": 1957, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1860, "output_tokens": 33, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 314.92, "api_latency_ms": 1022.71, "approx_decision_latency_ms": 1337.63, "decision_latency_sec_context": 1.8} [AI Action] Decision: play hog-rider at (0.22, 0.65) [AI Action] Result: executed hog-rider from slot 2 to (0.22, 0.65) [Snapshot] Planning from snapshot #51 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1749.39, "input_bytes": 1954, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1858, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 301.75, "api_latency_ms": 1749.39, "approx_decision_latency_ms": 2051.14, "decision_latency_sec_context": 1.69} [AI Action] Decision: idle [AI Action] Result: idle [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 54, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": true, "current_hand": [{"slot": 1, "label": null, "confidence": null, "selected": false, "source_detection_id": null}, {"slot": 2, "label": null, "confidence": null, "selected": false, "source_detection_id": null}, {"slot": 3, "label": null, "confidence": null, "selected": false, "source_detection_id": null}, {"slot": 4, "label": null, "confidence": null, "selected": false, "source_detection_id": null}]} [Snapshot] Planning from snapshot #54 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 922.67, "input_bytes": 1557, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1699, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 118.71, "api_latency_ms": 922.67, "approx_decision_latency_ms": 1041.38, "decision_latency_sec_context": 1.48} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #55 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 5631.37, "input_bytes": 1756, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1781, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 307.77, "api_latency_ms": 5631.37, "approx_decision_latency_ms": 5939.14, "decision_latency_sec_context": 2.22} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #63 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 2250.96, "input_bytes": 1631, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1726, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 346.05, "api_latency_ms": 2250.96, "approx_decision_latency_ms": 2597.01, "decision_latency_sec_context": 2.43} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #67 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1022.35, "input_bytes": 2064, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1885, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 352.33, "api_latency_ms": 1022.35, "approx_decision_latency_ms": 1374.68, "decision_latency_sec_context": 2.45} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #68 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1064.92, "input_bytes": 1536, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1686, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 343.59, "api_latency_ms": 1064.92, "approx_decision_latency_ms": 1408.51, "decision_latency_sec_context": 2.43} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #70 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 863.53, "input_bytes": 1664, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1738, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 299.99, "api_latency_ms": 863.53, "approx_decision_latency_ms": 1163.52, "decision_latency_sec_context": 2.37} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #71 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 850.99, "input_bytes": 1690, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1741, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 356.17, "api_latency_ms": 850.99, "approx_decision_latency_ms": 1207.16, "decision_latency_sec_context": 2.4} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #72 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1417.77, "input_bytes": 1609, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1711, "output_tokens": 40, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 312.69, "api_latency_ms": 1417.77, "approx_decision_latency_ms": 1730.46, "decision_latency_sec_context": 2.32} [AI Action] Decision: play ice-golem at (0.22, 0.65) [AI Action] Result: executed ice-golem from slot 1 to (0.22, 0.65) [Snapshot] Planning from snapshot #75 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 943.82, "input_bytes": 1723, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1760, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 123.13, "api_latency_ms": 943.82, "approx_decision_latency_ms": 1066.95, "decision_latency_sec_context": 2.13} [AI Action] Decision: idle [AI Action] Result: idle [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 77, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": true, "current_hand": [{"slot": 1, "label": null, "confidence": null, "selected": false, "source_detection_id": null}, {"slot": 2, "label": "the-log", "confidence": 0.8311, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 17.425}, {"slot": 3, "label": "fireball", "confidence": 0.7558, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 14.2051}, {"slot": 4, "label": "musketeer", "confidence": 0.5883, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 12.6001}]} [Snapshot] Planning from snapshot #77 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1261.67, "input_bytes": 1796, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1789, "output_tokens": 26, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 303.4, "api_latency_ms": 1261.67, "approx_decision_latency_ms": 1565.07, "decision_latency_sec_context": 1.76} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #78 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1080.79, "input_bytes": 1794, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1789, "output_tokens": 27, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 362.63, "api_latency_ms": 1080.79, "approx_decision_latency_ms": 1443.42, "decision_latency_sec_context": 1.68} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #80 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 953.77, "input_bytes": 1854, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1808, "output_tokens": 32, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 329.25, "api_latency_ms": 953.77, "approx_decision_latency_ms": 1283.02, "decision_latency_sec_context": 1.63} [AI Action] Decision: play musketeer at (0.22, 0.65) [AI Action] Result: executed musketeer from slot 4 to (0.22, 0.65) [Snapshot] Planning from snapshot #82 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 942.16, "input_bytes": 1630, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1722, "output_tokens": 32, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 358.31, "api_latency_ms": 942.16, "approx_decision_latency_ms": 1300.47, "decision_latency_sec_context": 1.65} [AI Action] Decision: play the-log at (0.22, 0.52) [AI Action] Result: executed the-log from slot 2 to (0.22, 0.52) [AI Action] Verification: {"status": "verified", "snapshot_sequence": 84, "reason": "matching friendly unit detected near board tap", "matches": [{"id": "d8", "label": "the-log", "distance": 69.62, "center": {"x": 97.0, "y": 364.5}, "confidence": 0.7108}, {"id": "d12", "label": "the-log", "distance": 120.16, "center": {"x": 198.5, "y": 400.5}, "confidence": 0.6588}, {"id": "d22", "label": "the-log", "distance": 43.84, "center": {"x": 56.5, "y": 397.5}, "confidence": 0.3112}], "slot_changed": false} [Snapshot] Planning from snapshot #84 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 923.6, "input_bytes": 1853, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1809, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 332.92, "api_latency_ms": 923.6, "approx_decision_latency_ms": 1256.52, "decision_latency_sec_context": 1.63} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #85 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1698.33, "input_bytes": 1845, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1807, "output_tokens": 26, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 377.15, "api_latency_ms": 1698.33, "approx_decision_latency_ms": 2075.48, "decision_latency_sec_context": 1.78} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #87 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 883.28, "input_bytes": 1796, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1795, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 335.17, "api_latency_ms": 883.28, "approx_decision_latency_ms": 1218.45, "decision_latency_sec_context": 1.67} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #89 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1552.6, "input_bytes": 1768, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1777, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 136.12, "api_latency_ms": 1552.6, "approx_decision_latency_ms": 1688.72, "decision_latency_sec_context": 1.55} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #92 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1108.52, "input_bytes": 1828, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1794, "output_tokens": 32, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 283.37, "api_latency_ms": 1108.52, "approx_decision_latency_ms": 1391.89, "decision_latency_sec_context": 1.68} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #94 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1651.39, "input_bytes": 1789, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1784, "output_tokens": 43, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 288.01, "api_latency_ms": 1651.39, "approx_decision_latency_ms": 1939.4, "decision_latency_sec_context": 1.75} [AI Action] Decision: play ice-spirit at (0.22, 0.52) [AI Action] Result: executed ice-spirit from slot 1 to (0.22, 0.52) [Snapshot] Planning from snapshot #97 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 861.5, "input_bytes": 1699, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1739, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 130.83, "api_latency_ms": 861.5, "approx_decision_latency_ms": 992.33, "decision_latency_sec_context": 1.58} [AI Action] Decision: idle [AI Action] Result: idle [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 98, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": true, "current_hand": [{"slot": 1, "label": null, "confidence": null, "selected": false, "source_detection_id": null}, {"slot": 2, "label": null, "confidence": null, "selected": false, "source_detection_id": null}, {"slot": 3, "label": null, "confidence": null, "selected": false, "source_detection_id": null}, {"slot": 4, "label": "skeleton", "confidence": 0.6433, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 13.1667}]} [Snapshot] Planning from snapshot #98 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 5119.22, "input_bytes": 1627, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1716, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 344.45, "api_latency_ms": 5119.22, "approx_decision_latency_ms": 5463.67, "decision_latency_sec_context": 2.32} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #107 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 2356.01, "input_bytes": 1620, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1708, "output_tokens": 30, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 274.11, "api_latency_ms": 2356.01, "approx_decision_latency_ms": 2630.12, "decision_latency_sec_context": 2.43} [AI Action] Decision: play cannon at (0.22, 0.65) [AI Action] Result: executed cannon from slot 2 to (0.22, 0.65) [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 112, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": false, "current_hand": [{"slot": 1, "label": "hog-rider", "confidence": 0.7959, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 16.4857}, {"slot": 2, "label": "cannon", "confidence": 0.4026, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 6.0541}, {"slot": 3, "label": "fireball", "confidence": 0.7526, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 14.1663}, {"slot": 4, "label": "skeleton", "confidence": 0.6465, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 13.2129}]} [Snapshot] Planning from snapshot #112 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 2469.05, "input_bytes": 1435, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1631, "output_tokens": 33, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 120.12, "api_latency_ms": 2469.05, "approx_decision_latency_ms": 2589.17, "decision_latency_sec_context": 2.37} [AI Action] Decision: play hog-rider at (0.22, 0.65) [AI Action] Result: executed hog-rider from slot 1 to (0.22, 0.65) [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 117, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": false, "current_hand": [{"slot": 1, "label": "hog-rider", "confidence": 0.4432, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 7.0374}, {"slot": 2, "label": "ice-golem", "confidence": 0.6283, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 15.1735}, {"slot": 3, "label": null, "confidence": null, "selected": false, "source_detection_id": null}, {"slot": 4, "label": "skeleton", "confidence": 0.6729, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 13.4728}]} [Snapshot] Planning from snapshot #117 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1542.58, "input_bytes": 1493, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1661, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 287.31, "api_latency_ms": 1542.58, "approx_decision_latency_ms": 1829.89, "decision_latency_sec_context": 2.62} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #119 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1023.67, "input_bytes": 1636, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1723, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 304.09, "api_latency_ms": 1023.67, "approx_decision_latency_ms": 1327.76, "decision_latency_sec_context": 2.57} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #121 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 946.49, "input_bytes": 1376, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1614, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 142.94, "api_latency_ms": 946.49, "approx_decision_latency_ms": 1089.43, "decision_latency_sec_context": 2.39} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #122 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 992.27, "input_bytes": 1610, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1715, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 120.34, "api_latency_ms": 992.27, "approx_decision_latency_ms": 1112.61, "decision_latency_sec_context": 2.28} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #124 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1821.96, "input_bytes": 1583, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1705, "output_tokens": 33, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 274.35, "api_latency_ms": 1821.96, "approx_decision_latency_ms": 2096.31, "decision_latency_sec_context": 2.56} [AI Action] Decision: play hog-rider at (0.22, 0.65) [AI Action] Result: executed hog-rider from slot 1 to (0.22, 0.65) [Snapshot] Planning from snapshot #127 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1147.98, "input_bytes": 1597, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1712, "output_tokens": 34, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 343.43, "api_latency_ms": 1147.98, "approx_decision_latency_ms": 1491.41, "decision_latency_sec_context": 2.13} [AI Action] Decision: play hog-rider at (0.77, 0.55) [AI Action] Result: executed hog-rider from slot 1 to (0.77, 0.55) [Snapshot] Planning from snapshot #130 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1105.87, "input_bytes": 1627, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1722, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 161.98, "api_latency_ms": 1105.87, "approx_decision_latency_ms": 1267.85, "decision_latency_sec_context": 1.79} [AI Action] Decision: idle [AI Action] Result: idle [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 131, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": true, "current_hand": [{"slot": 1, "label": null, "confidence": null, "selected": false, "source_detection_id": null}, {"slot": 2, "label": "ice-golem", "confidence": 0.609, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 14.1366}, {"slot": 3, "label": null, "confidence": null, "selected": false, "source_detection_id": null}, {"slot": 4, "label": "skeleton", "confidence": 0.6745, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 13.4917}]} [Snapshot] Planning from snapshot #131 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 963.05, "input_bytes": 1285, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1585, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 319.08, "api_latency_ms": 963.05, "approx_decision_latency_ms": 1282.13, "decision_latency_sec_context": 1.76} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #133 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1848.0, "input_bytes": 1383, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1625, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 152.39, "api_latency_ms": 1848.0, "approx_decision_latency_ms": 2000.39, "decision_latency_sec_context": 1.63} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #136 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1118.92, "input_bytes": 1357, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1614, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 296.58, "api_latency_ms": 1118.92, "approx_decision_latency_ms": 1415.5, "decision_latency_sec_context": 1.79} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #138 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1740.2, "input_bytes": 1382, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1624, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 108.71, "api_latency_ms": 1740.2, "approx_decision_latency_ms": 1848.91, "decision_latency_sec_context": 1.7} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #141 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1024.13, "input_bytes": 1667, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1733, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 285.12, "api_latency_ms": 1024.13, "approx_decision_latency_ms": 1309.25, "decision_latency_sec_context": 1.88} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #143 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1329.37, "input_bytes": 1392, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1626, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 155.92, "api_latency_ms": 1329.37, "approx_decision_latency_ms": 1485.29, "decision_latency_sec_context": 1.69} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #145 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1001.77, "input_bytes": 1393, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1628, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 290.65, "api_latency_ms": 1001.77, "approx_decision_latency_ms": 1292.42, "decision_latency_sec_context": 1.81} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #147 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1659.13, "input_bytes": 1683, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1742, "output_tokens": 33, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 111.11, "api_latency_ms": 1659.13, "approx_decision_latency_ms": 1770.24, "decision_latency_sec_context": 1.7} [AI Action] Decision: play ice-golem at (0.22, 0.55) [AI Action] Result: executed ice-golem from slot 2 to (0.22, 0.55) [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 151, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": false, "current_hand": [{"slot": 1, "label": "musketeer", "confidence": 0.8022, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 25.9484}, {"slot": 2, "label": "ice-golem", "confidence": 0.609, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 14.149}, {"slot": 3, "label": "fireball", "confidence": 0.7469, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 13.9874}, {"slot": 4, "label": "skeleton", "confidence": 0.6581, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 13.4965}]} [Snapshot] Planning from snapshot #151 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1013.39, "input_bytes": 1614, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1722, "output_tokens": 32, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 134.93, "api_latency_ms": 1013.39, "approx_decision_latency_ms": 1148.32, "decision_latency_sec_context": 1.73} [AI Action] Decision: play musketeer at (0.22, 0.65) [AI Action] Result: executed musketeer from slot 1 to (0.22, 0.65) [Snapshot] Planning from snapshot #154 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1227.57, "input_bytes": 1714, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1755, "output_tokens": 33, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 176.81, "api_latency_ms": 1227.57, "approx_decision_latency_ms": 1404.38, "decision_latency_sec_context": 1.69} [AI Action] Decision: play fireball at (0.24, 0.39) [AI Action] Result: executed fireball from slot 3 to (0.24, 0.39) [Snapshot] Planning from snapshot #156 [WARN] claude-haiku-4-5 took 12.0s for one decision. The SDK retries 429/529 silently, so an overloaded model reads as a frozen bot. A faster model keeps the loop live: --model claude-sonnet-5 [WARN] Planner error: Claude response hit max_tokens before completing the decision. Idling one tick. [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 177, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": false, "current_hand": [{"slot": 1, "label": "ice-spirit", "confidence": 0.5768, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 11.9258}, {"slot": 2, "label": "the-log", "confidence": 0.802, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 16.6849}, {"slot": 3, "label": "fireball", "confidence": 0.6824, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 10.9231}, {"slot": 4, "label": "skeleton", "confidence": 0.6534, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 13.49}]} [Snapshot] Planning from snapshot #179 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1673.8, "input_bytes": 2320, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1969, "output_tokens": 40, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 193.45, "api_latency_ms": 1673.8, "approx_decision_latency_ms": 1867.25, "decision_latency_sec_context": 3.06} [AI Action] Decision: play fireball at (0.28, 0.61) [AI Action] Result: executed fireball from slot 3 to (0.28, 0.61) [Snapshot] Planning from snapshot #182 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 913.44, "input_bytes": 1422, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1624, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 359.54, "api_latency_ms": 913.44, "approx_decision_latency_ms": 1272.98, "decision_latency_sec_context": 3.21} [AI Action] Decision: idle [AI Action] Result: idle [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 184, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": true, "current_hand": [{"slot": 1, "label": "ice-spirit", "confidence": 0.5769, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 11.929}, {"slot": 2, "label": "the-log", "confidence": 0.8041, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 16.8003}, {"slot": 3, "label": null, "confidence": null, "selected": false, "source_detection_id": null}, {"slot": 4, "label": "skeleton", "confidence": 0.672, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 13.4918}]} [Snapshot] Planning from snapshot #184 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1541.95, "input_bytes": 2143, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1900, "output_tokens": 26, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 109.56, "api_latency_ms": 1541.95, "approx_decision_latency_ms": 1651.51, "decision_latency_sec_context": 2.99} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #186 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 972.27, "input_bytes": 1804, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1773, "output_tokens": 32, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 289.88, "api_latency_ms": 972.27, "approx_decision_latency_ms": 1262.15, "decision_latency_sec_context": 3.17} [AI Action] Decision: play cannon at (0.22, 0.64) [AI Action] Result: executed cannon from slot 3 to (0.22, 0.64) [Snapshot] Planning from snapshot #188 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 2206.48, "input_bytes": 1787, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1765, "output_tokens": 43, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 381.2, "api_latency_ms": 2206.48, "approx_decision_latency_ms": 2587.68, "decision_latency_sec_context": 3.33} [AI Action] Decision: play the-log at (0.21, 0.38) [AI Action] Result: executed the-log from slot 2 to (0.21, 0.38) [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 192, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": false, "current_hand": [{"slot": 1, "label": "ice-spirit", "confidence": 0.5778, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 11.9137}, {"slot": 2, "label": "the-log", "confidence": 0.8101, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 16.9661}, {"slot": 3, "label": "hog-rider", "confidence": 0.7548, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 13.0627}, {"slot": 4, "label": "skeleton", "confidence": 0.6434, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 13.2101}]} [Snapshot] Planning from snapshot #192 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1133.03, "input_bytes": 1671, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1731, "output_tokens": 33, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 127.17, "api_latency_ms": 1133.03, "approx_decision_latency_ms": 1260.2, "decision_latency_sec_context": 3.09} [AI Action] Decision: play hog-rider at (0.22, 0.65) [AI Action] Result: executed hog-rider from slot 3 to (0.22, 0.65) [Snapshot] Planning from snapshot #194 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 2032.81, "input_bytes": 1726, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1752, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 402.05, "api_latency_ms": 2032.81, "approx_decision_latency_ms": 2434.86, "decision_latency_sec_context": 3.46} [AI Action] Decision: idle [AI Action] Result: idle [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 198, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": true, "current_hand": [{"slot": 1, "label": "ice-spirit", "confidence": 0.602, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 13.0645}, {"slot": 2, "label": "ice-golem", "confidence": 0.6778, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 18.35}, {"slot": 3, "label": null, "confidence": null, "selected": false, "source_detection_id": null}, {"slot": 4, "label": "skeleton", "confidence": 0.6895, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 14.5464}]} [Snapshot] Planning from snapshot #198 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 3136.01, "input_bytes": 1623, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1714, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 162.49, "api_latency_ms": 3136.01, "approx_decision_latency_ms": 3298.5, "decision_latency_sec_context": 2.11} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #202 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 2615.28, "input_bytes": 1878, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1813, "output_tokens": 35, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 145.18, "api_latency_ms": 2615.28, "approx_decision_latency_ms": 2760.46, "decision_latency_sec_context": 2.21} [AI Action] Decision: play ice-spirit at (0.21, 0.60) [AI Action] Result: executed ice-spirit from slot 1 to (0.21, 0.60) [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 208, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": false, "current_hand": [{"slot": 1, "label": "ice-spirit", "confidence": 0.6018, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 13.0628}, {"slot": 2, "label": "ice-golem", "confidence": 0.5937, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 13.2102}, {"slot": 3, "label": "musketeer", "confidence": 0.7042, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 22.1452}, {"slot": 4, "label": "skeleton", "confidence": 0.6742, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 14.4311}]} [Snapshot] Planning from snapshot #208 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1825.5, "input_bytes": 1536, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1672, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 124.12, "api_latency_ms": 1825.5, "approx_decision_latency_ms": 1949.62, "decision_latency_sec_context": 2.31} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #211 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1484.3, "input_bytes": 2219, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1937, "output_tokens": 29, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 180.35, "api_latency_ms": 1484.3, "approx_decision_latency_ms": 1664.65, "decision_latency_sec_context": 2.36} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #213 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1024.86, "input_bytes": 1515, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1665, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 293.06, "api_latency_ms": 1024.86, "approx_decision_latency_ms": 1317.92, "decision_latency_sec_context": 2.48} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #215 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1129.25, "input_bytes": 1436, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1636, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 336.6, "api_latency_ms": 1129.25, "approx_decision_latency_ms": 1465.85, "decision_latency_sec_context": 2.38} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #216 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 815.88, "input_bytes": 1290, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1575, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 376.96, "api_latency_ms": 815.88, "approx_decision_latency_ms": 1192.84, "decision_latency_sec_context": 2.38} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #218 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 939.59, "input_bytes": 1284, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1573, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 112.73, "api_latency_ms": 939.59, "approx_decision_latency_ms": 1052.32, "decision_latency_sec_context": 1.98} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #219 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1709.87, "input_bytes": 1284, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1573, "output_tokens": 32, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 105.39, "api_latency_ms": 1709.87, "approx_decision_latency_ms": 1815.26, "decision_latency_sec_context": 1.8} [AI Action] Decision: play musketeer at (0.22, 0.65) [AI Action] Result: executed musketeer from slot 3 to (0.22, 0.65) [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 223, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": false, "current_hand": [{"slot": 1, "label": "fireball", "confidence": 0.7728, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 14.5908}, {"slot": 2, "label": "ice-golem", "confidence": 0.6098, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 14.1335}, {"slot": 3, "label": "musketeer", "confidence": 0.6816, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 20.148}, {"slot": 4, "label": "skeleton", "confidence": 0.7077, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 16.5788}]} [Snapshot] Planning from snapshot #223 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1034.07, "input_bytes": 1378, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1609, "output_tokens": 33, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 178.34, "api_latency_ms": 1034.07, "approx_decision_latency_ms": 1212.41, "decision_latency_sec_context": 1.67} [AI Action] Decision: play fireball at (0.77, 0.30) [AI Action] Result: executed fireball from slot 1 to (0.77, 0.30) [Snapshot] Planning from snapshot #225 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 945.17, "input_bytes": 1446, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1630, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 380.54, "api_latency_ms": 945.17, "approx_decision_latency_ms": 1325.71, "decision_latency_sec_context": 1.77} [AI Action] Decision: idle [AI Action] Result: idle [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 227, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": true, "current_hand": [{"slot": 1, "label": null, "confidence": null, "selected": false, "source_detection_id": null}, {"slot": 2, "label": "ice-golem", "confidence": 0.6268, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 15.1905}, {"slot": 3, "label": "cannon", "confidence": 0.5318, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 8.0708}, {"slot": 4, "label": "skeleton", "confidence": 0.6701, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 13.511}]} [Snapshot] Planning from snapshot #227 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 921.87, "input_bytes": 1400, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1619, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 309.59, "api_latency_ms": 921.87, "approx_decision_latency_ms": 1231.46, "decision_latency_sec_context": 1.62} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #228 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1923.06, "input_bytes": 1325, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1587, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 368.96, "api_latency_ms": 1923.06, "approx_decision_latency_ms": 2292.02, "decision_latency_sec_context": 1.8} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #231 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 810.24, "input_bytes": 1252, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1555, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 294.18, "api_latency_ms": 810.24, "approx_decision_latency_ms": 1104.42, "decision_latency_sec_context": 1.68} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #232 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1061.54, "input_bytes": 1575, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1687, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 367.74, "api_latency_ms": 1061.54, "approx_decision_latency_ms": 1429.28, "decision_latency_sec_context": 1.79} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #234 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1012.92, "input_bytes": 1346, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1597, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 111.18, "api_latency_ms": 1012.92, "approx_decision_latency_ms": 1124.1, "decision_latency_sec_context": 1.54} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #235 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1107.99, "input_bytes": 1360, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1601, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 108.43, "api_latency_ms": 1107.99, "approx_decision_latency_ms": 1216.42, "decision_latency_sec_context": 1.46} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #237 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 828.2, "input_bytes": 1406, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1624, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 182.6, "api_latency_ms": 828.2, "approx_decision_latency_ms": 1010.8, "decision_latency_sec_context": 1.51} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #239 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1033.04, "input_bytes": 1360, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1601, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 111.11, "api_latency_ms": 1033.04, "approx_decision_latency_ms": 1144.15, "decision_latency_sec_context": 1.45} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #241 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 919.48, "input_bytes": 1565, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1682, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 140.12, "api_latency_ms": 919.48, "approx_decision_latency_ms": 1059.6, "decision_latency_sec_context": 1.48} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #243 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1054.12, "input_bytes": 1650, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1714, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 123.4, "api_latency_ms": 1054.12, "approx_decision_latency_ms": 1177.52, "decision_latency_sec_context": 1.35} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #245 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 961.43, "input_bytes": 1372, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1605, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 118.69, "api_latency_ms": 961.43, "approx_decision_latency_ms": 1080.12, "decision_latency_sec_context": 1.37} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #246 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1047.98, "input_bytes": 1620, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1705, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 138.44, "api_latency_ms": 1047.98, "approx_decision_latency_ms": 1186.42, "decision_latency_sec_context": 1.38} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #248 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 2667.95, "input_bytes": 1616, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1705, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 131.1, "api_latency_ms": 2667.95, "approx_decision_latency_ms": 2799.05, "decision_latency_sec_context": 1.58} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #254 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 2967.88, "input_bytes": 1662, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1718, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 131.45, "api_latency_ms": 2967.88, "approx_decision_latency_ms": 3099.33, "decision_latency_sec_context": 1.82} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #259 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1229.5, "input_bytes": 1648, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1714, "output_tokens": 30, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 138.99, "api_latency_ms": 1229.5, "approx_decision_latency_ms": 1368.49, "decision_latency_sec_context": 1.87} [AI Action] Decision: play cannon at (0.22, 0.65) [AI Action] Result: executed cannon from slot 3 to (0.22, 0.65) [Snapshot] Planning from snapshot #262 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 816.53, "input_bytes": 1336, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1593, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 140.13, "api_latency_ms": 816.53, "approx_decision_latency_ms": 956.66, "decision_latency_sec_context": 1.85} [AI Action] Decision: idle [AI Action] Result: idle [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 263, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": true, "current_hand": [{"slot": 1, "label": "the-log", "confidence": 0.8677, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 20.6889}, {"slot": 2, "label": "ice-golem", "confidence": 0.6288, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 15.1447}, {"slot": 3, "label": null, "confidence": null, "selected": false, "source_detection_id": null}, {"slot": 4, "label": "skeleton", "confidence": 0.6685, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 14.4607}]} [Snapshot] Planning from snapshot #264 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 801.56, "input_bytes": 1305, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1586, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 383.62, "api_latency_ms": 801.56, "approx_decision_latency_ms": 1185.18, "decision_latency_sec_context": 2.08} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #265 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1057.9, "input_bytes": 1314, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1585, "output_tokens": 33, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 133.94, "api_latency_ms": 1057.9, "approx_decision_latency_ms": 1191.84, "decision_latency_sec_context": 1.83} [AI Action] Decision: play hog-rider at (0.78, 0.65) [AI Action] Result: executed hog-rider from slot 3 to (0.78, 0.65) [Snapshot] Planning from snapshot #268 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1576.55, "input_bytes": 1321, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1589, "output_tokens": 33, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 129.41, "api_latency_ms": 1576.55, "approx_decision_latency_ms": 1705.96, "decision_latency_sec_context": 1.9} [AI Action] Decision: play hog-rider at (0.78, 0.65) [AI Action] Result: executed hog-rider from slot 3 to (0.78, 0.65) [Snapshot] Planning from snapshot #271 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1031.44, "input_bytes": 1560, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1676, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 150.33, "api_latency_ms": 1031.44, "approx_decision_latency_ms": 1181.77, "decision_latency_sec_context": 1.92} [AI Action] Decision: idle [AI Action] Result: idle [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 273, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": true, "current_hand": [{"slot": 1, "label": "the-log", "confidence": 0.87, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 20.7516}, {"slot": 2, "label": "ice-golem", "confidence": 0.6297, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 15.2207}, {"slot": 3, "label": null, "confidence": null, "selected": false, "source_detection_id": null}, {"slot": 4, "label": "skeleton", "confidence": 0.66, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 14.2166}]} [Snapshot] Planning from snapshot #273 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1202.28, "input_bytes": 1507, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1663, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 313.66, "api_latency_ms": 1202.28, "approx_decision_latency_ms": 1515.94, "decision_latency_sec_context": 1.9} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #275 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1022.82, "input_bytes": 1344, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1596, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 264.62, "api_latency_ms": 1022.82, "approx_decision_latency_ms": 1287.44, "decision_latency_sec_context": 1.61} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #277 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1277.53, "input_bytes": 1531, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1670, "output_tokens": 45, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 102.83, "api_latency_ms": 1277.53, "approx_decision_latency_ms": 1380.36, "decision_latency_sec_context": 1.45} [AI Action] Decision: play musketeer at (0.78, 0.65) [AI Action] Result: executed musketeer from slot 3 to (0.78, 0.65) [Snapshot] Planning from snapshot #280 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1859.45, "input_bytes": 1778, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1771, "output_tokens": 52, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 293.03, "api_latency_ms": 1859.45, "approx_decision_latency_ms": 2152.48, "decision_latency_sec_context": 1.77} [AI Action] Decision: play ice-golem at (0.22, 0.55) [AI Action] Result: executed ice-golem from slot 2 to (0.22, 0.55) [Snapshot] Planning from snapshot #283 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1421.02, "input_bytes": 1642, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1711, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 169.68, "api_latency_ms": 1421.02, "approx_decision_latency_ms": 1590.7, "decision_latency_sec_context": 1.73} [AI Action] Decision: idle [AI Action] Result: idle [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 285, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": true, "current_hand": [{"slot": 1, "label": "the-log", "confidence": 0.8706, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 20.7856}, {"slot": 2, "label": null, "confidence": null, "selected": false, "source_detection_id": null}, {"slot": 3, "label": "fireball", "confidence": 0.7477, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 13.9299}, {"slot": 4, "label": "skeleton", "confidence": 0.6748, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 14.4708}]} [Snapshot] Planning from snapshot #285 [WARN] claude-haiku-4-5 took 9.6s for one decision. The SDK retries 429/529 silently, so an overloaded model reads as a frozen bot. A faster model keeps the loop live: --model claude-sonnet-5 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 9619.67, "input_bytes": 1707, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1736, "output_tokens": 33, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 334.96, "api_latency_ms": 9619.67, "approx_decision_latency_ms": 9954.63, "decision_latency_sec_context": 2.96} [AI Action] Decision: play fireball at (0.74, 0.33) [AI Action] Result: executed fireball from slot 3 to (0.74, 0.33) [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 301, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": false, "current_hand": [{"slot": 1, "label": "the-log", "confidence": 0.8648, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 20.7193}, {"slot": 2, "label": "cannon", "confidence": 0.4226, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 6.4537}, {"slot": 3, "label": "fireball", "confidence": 0.7477, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 13.9538}, {"slot": 4, "label": "skeleton", "confidence": 0.6653, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 14.557}]} [Snapshot] Planning from snapshot #301 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1014.22, "input_bytes": 1486, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1646, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 133.22, "api_latency_ms": 1014.22, "approx_decision_latency_ms": 1147.44, "decision_latency_sec_context": 2.69} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #303 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1016.63, "input_bytes": 2154, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1906, "output_tokens": 32, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 365.64, "api_latency_ms": 1016.63, "approx_decision_latency_ms": 1382.27, "decision_latency_sec_context": 2.92} [AI Action] Decision: play cannon at (0.22, 0.65) [AI Action] Result: executed cannon from slot 2 to (0.22, 0.65) [Snapshot] Planning from snapshot #305 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1239.82, "input_bytes": 1600, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1696, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 268.68, "api_latency_ms": 1239.82, "approx_decision_latency_ms": 1508.5, "decision_latency_sec_context": 2.83} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #307 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1724.23, "input_bytes": 1408, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1612, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 342.25, "api_latency_ms": 1724.23, "approx_decision_latency_ms": 2066.48, "decision_latency_sec_context": 2.99} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #309 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1146.3, "input_bytes": 1776, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1760, "output_tokens": 33, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 334.94, "api_latency_ms": 1146.3, "approx_decision_latency_ms": 1481.24, "decision_latency_sec_context": 2.97} [AI Action] Decision: play hog-rider at (0.22, 0.65) [AI Action] Result: executed hog-rider from slot 3 to (0.22, 0.65) [Snapshot] Planning from snapshot #312 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1174.01, "input_bytes": 1913, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1817, "output_tokens": 33, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 298.94, "api_latency_ms": 1174.01, "approx_decision_latency_ms": 1472.95, "decision_latency_sec_context": 2.84} [AI Action] Decision: play hog-rider at (0.22, 0.55) [AI Action] Result: executed hog-rider from slot 3 to (0.22, 0.55) [Snapshot] Planning from snapshot #314 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 2937.05, "input_bytes": 1673, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1722, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 384.27, "api_latency_ms": 2937.05, "approx_decision_latency_ms": 3321.32, "decision_latency_sec_context": 3.12} [AI Action] Decision: idle [AI Action] Result: idle [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 319, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": true, "current_hand": [{"slot": 1, "label": "the-log", "confidence": 0.8575, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 19.6188}, {"slot": 2, "label": "ice-spirit", "confidence": 0.5102, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 8.7063}, {"slot": 3, "label": "ice-golem", "confidence": 0.5858, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 12.7589}, {"slot": 4, "label": "skeleton", "confidence": 0.6873, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 14.4255}]} [Snapshot] Planning from snapshot #319 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1752.92, "input_bytes": 1830, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1788, "output_tokens": 32, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 122.14, "api_latency_ms": 1752.92, "approx_decision_latency_ms": 1875.06, "decision_latency_sec_context": 1.87} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #321 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1413.85, "input_bytes": 1840, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1789, "output_tokens": 32, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 347.8, "api_latency_ms": 1413.85, "approx_decision_latency_ms": 1761.65, "decision_latency_sec_context": 2.15} [AI Action] Decision: play ice-spirit at (0.78, 0.65) [AI Action] Result: executed ice-spirit from slot 2 to (0.78, 0.65) [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 325, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": false, "current_hand": [{"slot": 1, "label": "the-log", "confidence": 0.8578, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 19.6161}, {"slot": 2, "label": "ice-spirit", "confidence": 0.509, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 8.6848}, {"slot": 3, "label": "ice-golem", "confidence": 0.5854, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 12.7507}, {"slot": 4, "label": "skeleton", "confidence": 0.6561, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 14.2771}]} [Snapshot] Planning from snapshot #325 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 846.28, "input_bytes": 1642, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1712, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 334.51, "api_latency_ms": 846.28, "approx_decision_latency_ms": 1180.79, "decision_latency_sec_context": 2.11} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #326 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 2087.5, "input_bytes": 1565, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1687, "output_tokens": 32, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 303.97, "api_latency_ms": 2087.5, "approx_decision_latency_ms": 2391.47, "decision_latency_sec_context": 2.19} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #329 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 6504.54, "input_bytes": 2198, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1910, "output_tokens": 45, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 276.96, "api_latency_ms": 6504.54, "approx_decision_latency_ms": 6781.5, "decision_latency_sec_context": 2.76} [AI Action] Decision: play fireball at (0.74, 0.43) [AI Action] Result: executed fireball from slot 2 to (0.74, 0.43) [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 340, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": false, "current_hand": [{"slot": 1, "label": "the-log", "confidence": 0.8623, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 21.4951}, {"slot": 2, "label": "fireball", "confidence": 0.7562, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 14.2635}, {"slot": 3, "label": "ice-golem", "confidence": 0.5864, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 12.7371}, {"slot": 4, "label": "skeleton", "confidence": 0.6974, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 14.7926}]} [Snapshot] Planning from snapshot #340 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1036.78, "input_bytes": 1826, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1786, "output_tokens": 33, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 136.49, "api_latency_ms": 1036.78, "approx_decision_latency_ms": 1173.27, "decision_latency_sec_context": 2.61} [AI Action] Decision: play ice-golem at (0.22, 0.65) [AI Action] Result: executed ice-golem from slot 3 to (0.22, 0.65) [Snapshot] Planning from snapshot #343 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1240.34, "input_bytes": 1914, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1831, "output_tokens": 35, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 129.19, "api_latency_ms": 1240.34, "approx_decision_latency_ms": 1369.53, "decision_latency_sec_context": 2.61} [AI Action] Decision: play ice-golem at (0.78, 0.65) [AI Action] Result: executed ice-golem from slot 3 to (0.78, 0.65) [Snapshot] Planning from snapshot #345 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1139.12, "input_bytes": 2103, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1888, "output_tokens": 41, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 310.23, "api_latency_ms": 1139.12, "approx_decision_latency_ms": 1449.35, "decision_latency_sec_context": 2.56} [AI Action] Decision: play cannon at (0.77, 0.65) [AI Action] Result: executed cannon from slot 2 to (0.77, 0.65) [Snapshot] Planning from snapshot #348 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 995.6, "input_bytes": 2003, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1852, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 189.59, "api_latency_ms": 995.6, "approx_decision_latency_ms": 1185.19, "decision_latency_sec_context": 2.35} [AI Action] Decision: idle [AI Action] Result: idle [AI Action] Verification: {"status": "unverified", "snapshot_sequence": 349, "reason": "no matching unit detected near board tap within 4 snapshots", "slot_changed": true, "current_hand": [{"slot": 1, "label": "the-log", "confidence": 0.8739, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 21.0557}, {"slot": 2, "label": null, "confidence": null, "selected": false, "source_detection_id": null}, {"slot": 3, "label": null, "confidence": null, "selected": false, "source_detection_id": null}, {"slot": 4, "label": "skeleton", "confidence": 0.6366, "selected": false, "source_detection_id": null, "source": "slot_classifier", "margin": 13.0905}]} [Snapshot] Planning from snapshot #349 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 2696.96, "input_bytes": 1454, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1646, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 325.87, "api_latency_ms": 2696.96, "approx_decision_latency_ms": 3022.83, "decision_latency_sec_context": 2.64} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #353 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 1020.4, "input_bytes": 1778, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1760, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 348.08, "api_latency_ms": 1020.4, "approx_decision_latency_ms": 1368.48, "decision_latency_sec_context": 2.69} [AI Action] Decision: idle [AI Action] Result: idle [Snapshot] Planning from snapshot #355 [Latency] API: {"model": "claude-haiku-4-5", "provider": "anthropic", "effort": null, "thinking": false, "latency_ms": 860.4, "input_bytes": 1556, "instructions_chars": 2207, "response_status": "end_turn", "usage": {"input_tokens": 1676, "output_tokens": 24, "cache_read_input_tokens": 0}} [Latency] Summary: {"capture_total_latency_ms": 138.66, "api_latency_ms": 860.4, "approx_decision_latency_ms": 999.06, "decision_latency_sec_context": 2.33} [AI Action] Decision: idle [AI Action] Result: idle [Match] finished (1) [INFO] stopping: played 1 match(es) [INFO] latency figure saved: figures/battle_20260805_003119.png [INFO] recording saved: recordings/battle_20260805_003119.mp4 (13910 frames)