--- Showing last 200 of 3472 lines --- [00:29:01.900] [SAMPLE-VAL] Only 3 samples above threshold 0.010, keeping all with validated weights [00:29:01.900] [SAMPLE-VAL] Done. Weight range: 0.103-0.134 [00:29:01.900] [SAMPLE-VAL] Top sample 3 (w=0.134): E:A2.A3.T63.KQ8762 W:Q63.KT642.J975.J [E:T1-C2=89 % T2-HA=96 % T3-CK=35 % T4-H3=38 % T5-D3=99 % T6-D6=99 % T7-SA=50 % T8-CQ=10 % T9-S2=56 %, W:T1-CJ=71 % T2-H2=56 % T3-D7=36 % T4-HK=95 % T5-DJ=6 % T6-D9=49 % T7-S3=99 % T8-SQ=63 % T9-H6=67 %] [00:29:01.900] [SAMPLE-VAL] Top sample 1 (w=0.116): E:A2.A3.653.KQ8762 W:Q63.KT642.JT97.J [E:T1-C2=85 % T2-HA=97 % T3-CK=26 % T4-H3=27 % T5-D3=100 % T6-D6=100 % T7-SA=52 % T8-CQ=9 % T9-S2=78 %, W:T1-CJ=74 % T2-H2=60 % T3-D7=19 % T4-HK=96 % T5-DJ=28 % T6-D9=1 % T7-S3=99 % T8-SQ=64 % T9-H6=64 %] [00:29:01.901] [SAMPLE-VAL] Top sample 2 (w=0.103): E:A62.A3.63.KQ8762 W:Q3.KT642.JT975.J [E:T1-C2=87 % T2-HA=96 % T3-CK=29 % T4-H3=30 % T5-D3=100 % T6-D6=100 % T7-SA=24 % T8-CQ=14 % T9-S2=88 %, W:T1-CJ=70 % T2-H2=57 % T3-D7=55 % T4-HK=96 % T5-DJ=17 % T6-D9=4 % T7-S3=94 % T8-SQ=69 % T9-H6=72 %] [00:29:01.901] After sample validation: 3 deals remaining [00:29:01.901] Using weighted samples: 3/3 have non-uniform weights (range 0.103-0.134) [00:29:01.901] Sample deals (3 total, showing first 3, by weight): [00:29:01.901] [1] (w=0.134) N:J54.QJ87.Q2.T943 A2.A3.T63.KQ8762 KT987.95.AK84.A5 Q63.KT642.J975.J [00:29:01.901] [2] (w=0.116) N:J54.QJ87.Q2.T943 A2.A3.653.KQ8762 KT987.95.AK84.A5 Q63.KT642.JT97.J [00:29:01.901] [3] (w=0.103) N:J54.QJ87.Q2.T943 A62.A3.63.KQ8762 KT987.95.AK84.A5 Q3.KT642.JT975.J [00:29:01.909] --- IMP Calculation Input (aggregatedScores: card -> bridge scores per sample) --- [00:29:01.909] DA: [-100, -100, -200] [00:29:01.909] D8: [-100, -100, -200] [00:29:01.909] S8: [-100, -100, -100] [00:29:01.909] --- IMP Calculation Input (aggregatedTricks: card -> trick counts per sample) --- [00:29:01.909] DA: [4, 4, 3] [00:29:01.909] D8: [4, 4, 3] [00:29:01.909] S8: [4, 4, 4] [00:29:01.909] --- IMP Calculation Output (card -> average IMP) --- [00:29:01.909] S8: 0.88 [00:29:01.909] DA: -0.44 [00:29:01.909] D8: -0.44 [00:29:01.910] === DDS DETAILED ANALYSIS === [00:29:01.910] Cards analyzed: 3, Samples per card: 3 [00:29:01.910] [00:29:01.910] Card IMPs AvgTricks DistinctVals TrickCounts (all samples) [00:29:01.910] ----- ------ --------- ----------- -------------------------------- [00:29:01.910] S8 0.88 4.00 1 [4, 4, 4] [00:29:01.910] D8 -0.44 3.67 2 [4, 4, 3] [00:29:01.910] DA -0.44 3.67 2 [4, 4, 3] [00:29:01.910] [00:29:01.910] Selected: S8 (IMPs=0.88, avgTricks=4.00) [00:29:01.910] =================== [00:29:01.910] [TRUMP] Trump=Spades, declarerTrumps=5, dummyTrumps=3, initialMissing=5, maxMissing=7 [00:29:01.911] SUITC_CALL_BEGIN: input=' -F1 -u -c100 -Ls 54 87 6' [00:29:01.912] SUITC_CALL_END: jsonLength=276 [00:29:01.912] SUITC_JSON_PREVIEW: {"SuitCAnalysis": {"OptimalResults":[ ],"Result":2.0000, "OptimumPlays":[ {"OptimumPlayFor": "MAX","Plays":[{"Tricks":2,"Percentage":100.0000}], "Result":2.0000 , "GameTree":[ {"T":"S:8","Vs":[{"T":"6 [00:29:01.912] SUITC_CALL_BEGIN: input=' -F1 -u -c100 -Ln 54 87 6' [00:29:01.913] SUITC_CALL_END: jsonLength=276 [00:29:01.913] SUITC_JSON_PREVIEW: {"SuitCAnalysis": {"OptimalResults":[ ],"Result":2.0000, "OptimumPlays":[ {"OptimumPlayFor": "MAX","Plays":[{"Tricks":2,"Percentage":100.0000}], "Result":2.0000 , "GameTree":[ {"T":"N:5","Vs":[{"T":"6 [00:29:01.913] [TRUMP] Trump-leader check: current=87 other=54 opp=6 [00:29:01.913] [TRUMP] leader=current (-Ls): 2.00 tricks [00:29:01.913] [TRUMP] leader=other (-Ln): 2.00 tricks [00:29:01.913] [TRUMP] -> current hand at least as good (diff=0) [00:29:01.913] [TRUMP] Missing trumps: 1 (initial: 5, played: 4) -> adjust: +0.40 [00:29:01.913] [TRUMP] S8: 0.88 -> 1.28 (+0.40) [00:29:01.913] [TRUMP] After adjustment, best card: S8 (1.28 IMPs) [00:29:01.914] Selected: S8 (avg 1.28 IMPs, 4.00 tricks) [00:29:01.914] [stage-timing] ok sample=29ms validate=0ms nn=27ms signal=0ms simgames=0ms dds=11ms total=70ms samples=3 cards=36 [00:29:01.914] === FindBestCardAsync: Position=S, CardsPlayed=36 === [00:29:01.914] Finding card to play for S: KT987.95.AK84.A5 [00:29:01.914] Relative position: Declarer, Contract type: Suit [00:29:01.914] Cards in hand mask: 4 [00:29:01.915] Candidate: 8D = 36.1 % [00:29:01.915] Candidate: AD = 27.2 % [00:29:01.915] Candidate: xS = 21.6 % [00:29:01.915] Candidate: 8S = 15.0 % [00:29:01.916] Selected: D8 (36.1 %) === Board 20260524_MP_005_F2DWE1-2 (API) - DDS Engine (S) - 2026-05-24 00:29:03 === === Board 20260524_MP_005_F2DWE1-2 (API) - Neural Network Engine (S) - 2026-05-24 00:29:03 === [00:29:03.590] Activated: 4 tricks remaining, threshold=5 [00:29:03.591] ENDGAME: Hidden cards=7 between E and W, need 4+3, declarer tricks=4, defense tricks=5 [00:29:03.591] ENDGAME: Contract=3S, Declarer=S, ToPlay=N, Trump=S [00:29:03.591] ENDGAME: N [S54 HQ - CT] [00:29:03.591] ENDGAME: S [S7 - DA8 -] [00:29:03.591] ENDGAME: Hidden [- HT4 DT5 C876] [00:29:03.591] ENDGAME: Current trick (2 cards, led by S): S8 S6 [00:29:03.591] ENDGAME: 2 valid worlds (after void filtering) [00:29:03.591] ENDGAME_WORLD: #1 E=[- - D5 C876] W=[- HT4 DT -] [00:29:03.591] ENDGAME_WORLD: #2 E=[- - DT C876] W=[- HT4 D5 -] [00:29:03.591] ENDGAME: Bidding weights applied to 2/2 worlds (range 0.10-0.10) [00:29:03.592] ENDGAME: Evaluating 2 candidates across 2 worlds (totalWeight=0.20): [00:29:03.592] S4: 0 % (0.0/0.2), avgDeclTricks=8.0 [00:29:03.592] S5: 0 % (0.0/0.2), avgDeclTricks=8.0 [00:29:03.592] ENDGAME: Selected S5 (0 %) [00:29:03.592] Tied cards: S5,S4 -- invoking NN directly on tied set [00:29:03.592] === FindBestCardAsync: Position=N, CardsPlayed=38 === [00:29:03.593] Finding card to play for N: J54.QJ87.Q2.T943 [00:29:03.593] Relative position: Dummy, Contract type: Suit [00:29:03.593] Cards in hand mask: 1 [00:29:03.594] Candidate: xS = 100.0 % [00:29:03.594] Selected: S4 (100.0 %) === Board 20260524_MP_005_F2DWE1-2 (API) - DDS Engine (S) - 2026-05-24 00:29:05 === === Board 20260524_MP_005_F2DWE1-2 (API) - Neural Network Engine (S) - 2026-05-24 00:29:05 === [00:29:05.300] Activated: 3 tricks remaining, threshold=5 [00:29:05.301] ENDGAME: Hidden cards=6 between E and W, need 3+3, declarer tricks=5, defense tricks=5 [00:29:05.301] ENDGAME: Contract=3S, Declarer=S, ToPlay=S, Trump=S [00:29:05.301] ENDGAME: S [S7 - DA8 -] [00:29:05.301] ENDGAME: N [S5 HQ - CT] [00:29:05.301] ENDGAME: Hidden [- HT4 DT5 C87] [00:29:05.301] ENDGAME: 2 valid worlds (after void filtering) [00:29:05.301] ENDGAME_WORLD: #1 E=[- - D5 C87] W=[- HT4 DT -] [00:29:05.301] ENDGAME_WORLD: #2 E=[- - DT C87] W=[- HT4 D5 -] [00:29:05.301] ENDGAME: Bidding weights applied to 2/2 worlds (range 0.10-0.10) [00:29:05.301] ENDGAME: Evaluating 3 candidates across 2 worlds (totalWeight=0.20): [00:29:05.302] S7: 0 % (0.0/0.2), avgDeclTricks=8.0 [00:29:05.302] D8: 0 % (0.0/0.2), avgDeclTricks=8.0 [00:29:05.302] DA: 0 % (0.0/0.2), avgDeclTricks=8.0 [00:29:05.302] ENDGAME: Selected DA (0 %) [00:29:05.302] Tied cards: DA,D8,S7 -- invoking NN directly on tied set [00:29:05.302] === FindBestCardAsync: Position=S, CardsPlayed=40 === [00:29:05.302] Finding card to play for S: KT987.95.AK84.A5 [00:29:05.302] Relative position: Declarer, Contract type: Suit [00:29:05.303] Cards in hand mask: 3 [00:29:05.304] Candidate: AD = 53.0 % [00:29:05.304] Candidate: 8D = 28.2 % [00:29:05.304] Candidate: xS = 18.8 % [00:29:05.304] Selected: DA (53.0 %) === Board 20260524_MP_005_F2DWE1-2 (API) - DDS Engine (S) - 2026-05-24 00:29:07 === === Board 20260524_MP_005_F2DWE1-2 (API) - Neural Network Engine (S) - 2026-05-24 00:29:07 === [00:29:07.301] Activated: 3 tricks remaining, threshold=5 [00:29:07.301] ENDGAME: Hidden cards=5 between E and W, need 3+2, declarer tricks=5, defense tricks=5 [00:29:07.301] ENDGAME: Contract=3S, Declarer=S, ToPlay=N, Trump=S [00:29:07.301] ENDGAME: N [S5 HQ - CT] [00:29:07.301] ENDGAME: S [S7 - D8 -] [00:29:07.301] ENDGAME: Hidden [- HT4 D5 C87] [00:29:07.302] ENDGAME: Current trick (2 cards, led by S): DA DT [00:29:07.302] ENDGAME: 1 valid worlds (after void filtering) [00:29:07.302] ENDGAME_WORLD: #1 E=[- - D5 C87] W=[- HT4 - -] [00:29:07.302] ENDGAME: Bidding weights applied to 1/1 worlds (range 0.10-0.10) [00:29:07.302] ENDGAME: Evaluating 3 candidates across 1 worlds (totalWeight=0.10): [00:29:07.302] S5: 0 % (0.0/0.1), avgDeclTricks=8.0 [00:29:07.302] HQ: 0 % (0.0/0.1), avgDeclTricks=8.0 [00:29:07.302] CT: 0 % (0.0/0.1), avgDeclTricks=8.0 [00:29:07.302] ENDGAME: Selected CT (0 %) [00:29:07.302] Tied cards: CT,HQ,S5 -- invoking NN directly on tied set [00:29:07.303] === FindBestCardAsync: Position=N, CardsPlayed=42 === [00:29:07.303] Finding card to play for N: J54.QJ87.Q2.T943 [00:29:07.303] Relative position: Dummy, Contract type: Suit [00:29:07.303] Cards in hand mask: 3 [00:29:07.304] Candidate: TC = 57.4 % [00:29:07.304] Candidate: QH = 35.9 % [00:29:07.304] Candidate: xS = 6.7 % [00:29:07.304] Selected: CT (57.4 %) === Board 20260524_MP_005_F2DWE1-2 (API) - DDS Engine (S) - 2026-05-24 00:29:08 === === Board 20260524_MP_005_F2DWE1-2 (API) - Neural Network Engine (S) - 2026-05-24 00:29:08 === [00:29:08.949] Activated: 2 tricks remaining, threshold=5 [00:29:08.949] ENDGAME: Hidden cards=4 between E and W, need 2+2, declarer tricks=6, defense tricks=5 [00:29:08.949] ENDGAME: Contract=3S, Declarer=S, ToPlay=S, Trump=S [00:29:08.949] ENDGAME: S [S7 - D8 -] [00:29:08.949] ENDGAME: N [S5 HQ - -] [00:29:08.949] ENDGAME: Hidden [- HT4 - C87] [00:29:08.949] ENDGAME: 1 valid worlds (after void filtering) [00:29:08.949] ENDGAME_WORLD: #1 E=[- - - C87] W=[- HT4 - -] [00:29:08.949] ENDGAME: Bidding weights applied to 1/1 worlds (range 0.10-0.10) [00:29:08.950] ENDGAME: Evaluating 2 candidates across 1 worlds (totalWeight=0.10): [00:29:08.950] S7: 0 % (0.0/0.1), avgDeclTricks=8.0 [00:29:08.950] D8: 0 % (0.0/0.1), avgDeclTricks=8.0 [00:29:08.950] ENDGAME: Selected D8 (0 %) [00:29:08.950] Tied cards: D8,S7 -- invoking NN directly on tied set [00:29:08.950] === FindBestCardAsync: Position=S, CardsPlayed=44 === [00:29:08.950] Finding card to play for S: KT987.95.AK84.A5 [00:29:08.950] Relative position: Declarer, Contract type: Suit [00:29:08.951] Cards in hand mask: 2 [00:29:08.951] Candidate: 8D = 84.8 % [00:29:08.952] Candidate: xS = 15.2 % [00:29:08.952] Selected: D8 (84.8 %) === Board 20260524_MP_005_F2DWE1-2 (API) - DDS Engine (S) - 2026-05-24 00:29:11 === === Board 20260524_MP_005_F2DWE1-2 (API) - Neural Network Engine (S) - 2026-05-24 00:29:11 === [00:29:11.878] Activated: 2 tricks remaining, threshold=5 [00:29:11.878] ENDGAME: Hidden cards=3 between E and W, need 2+1, declarer tricks=6, defense tricks=5 [00:29:11.879] ENDGAME: Contract=3S, Declarer=S, ToPlay=N, Trump=S [00:29:11.879] ENDGAME: N [S5 HQ - -] [00:29:11.879] ENDGAME: S [S7 - - -] [00:29:11.879] ENDGAME: Hidden [- H4 - C87] [00:29:11.879] ENDGAME: Current trick (2 cards, led by S): D8 HT [00:29:11.879] ENDGAME: 1 valid worlds (after void filtering) [00:29:11.879] ENDGAME_WORLD: #1 E=[- - - C87] W=[- H4 - -] [00:29:11.879] ENDGAME: Bidding weights applied to 1/1 worlds (range 0.10-0.10) [00:29:11.879] ENDGAME: Evaluating 2 candidates across 1 worlds (totalWeight=0.10): [00:29:11.879] S5: 0 % (0.0/0.1), avgDeclTricks=8.0 [00:29:11.879] HQ: 0 % (0.0/0.1), avgDeclTricks=8.0 [00:29:11.880] ENDGAME: Selected HQ (0 %) [00:29:11.880] Tied cards: HQ,S5 -- invoking NN directly on tied set [00:29:11.880] === FindBestCardAsync: Position=N, CardsPlayed=46 === [00:29:11.880] Finding card to play for N: J54.QJ87.Q2.T943 [00:29:11.880] Relative position: Dummy, Contract type: Suit [00:29:11.880] Cards in hand mask: 2 [00:29:11.881] Candidate: xS = 56.8 % [00:29:11.881] Candidate: QH = 43.2 % [00:29:11.882] Selected: S5 (56.8 %)