You can’t force **100% “correct plays”** on CH jus...

Создано: 20 апреля 2026 г.

Отвечено с использованием GPT-5.4 Thinking от Chat01

Вопрос

Tennislocks2.0.txt

You can’t force 100% “correct plays” on CH just by editing code; CH is too noisy. The only thing the engine can do is: give better probabilities and then you decide how aggressive to be.[1][2]

But we can tell Replit: “Stop treating CH like ATP. When CH evidence is weak, move the probability closer to 50‑50 instead of pretending it’s strong.” That will shift some wrong sides back toward coin‑flip, and sharpen the truly good CH spots.

Here’s a prompt that does that, without adding extra PASS gates.


Replit prompt: make Challenger probabilities more honest (not more PASS‑y)

You are editing my production TennisLocks engine in Tennislocks-5.txt.
ATP and WTA are nearly perfect right now; do not change ATP or WTA behavior.
The problem is Challenger (CH):

  • On CH, winner and totals picks sometimes land on the wrong side even when the script thinks it has a decent edge.
  • I don’t want more PASS gates; I want the probabilities themselves for CH to be more honest (closer to 50‑50 when the info is weak), so “strong” CH edges are actually strong.

Constraints:

  • Do not change _ELO_POLY, _COND, _UPSET, or SETSMARKETCFG.[3]
  • Do not touch ATP/WTA/ITF branches.
  • All edits must be gated with the existing tour detection (_tk(tourLabel) or equivalent) and only apply when that resolves to 'CH'.[3]

1) Soften CH winner probabilities when signal is weak

In WinnerCalibration.calibrateP(pRaw, tourLabel, surface, bestOf, archetype, dqLabel):

  • After you compute cal (the calibrated probability), add a CH‑only shrink toward 0.50 in weak‑signal cases.
  • Logic:
    • Let tk = _tk(tourLabel). If tk !== 'CH', do nothing.[3]
    • Define “weak signal” for CH as:
      • archetype is 'COIN' or 'MOD_FAV', and
      • data quality is 'WEAK' or 'VERY_WEAK' (the same dqLabel you already pass in).[3]
    • When those conditions hold and tk === 'CH':
      • Compute edge = cal - 0.50.
      • Compress that edge by a factor, e.g. shrink = 0.60 (keep 60% of it):
        • cal = 0.50 + edge * shrink.
    • Keep this CH‑only shrink inside calibrateP; ATP/WTA/ITF remain unchanged.

Result: on noisy CH spots, if the model wants to say 0.60, it will output something like 0.56 instead—still a lean, but less overconfident. Wrong CH sides then hurt less often because the model isn’t lying about how strong they are.[2][3]


2) Make CH totals less overconfident around 22–24 games

In getTotalsPick (T11 totals engine), you already compute a final chosenProb for OVER/UNDER after all blends, bands, and compressions.[3]

Add a CH‑only shrink step right before the final decision:

  • Get tourKey / tourLabel in this function and map it to the same tk string using your existing helper.[3]
  • If tk !== 'CH', do nothing.
  • For CH:
    • Compute edge = chosenProb - 0.50.
    • If |edge| is small (for example Math.abs(edge) <= 0.08), compress it:
      • Use something like chosenProb = 0.50 + edge * 0.65.
    • If |edge| is larger than that, leave it as is (big edges are allowed to stay big).

Do not change the minLean/minBet thresholds or risk bands; just reduce how far from 0.50 CH totals probabilities move when the edge is small.[3]

Result: CH totals still make picks, but small edges near 22–24 games are less exaggerated, so the engine won’t act like a 53–55% spot is 58–60%. That makes “wrong side” CH totals losses less frequent and less brutal.[1][3]


3) Do not add new PASS gates or filters

  • Do not add any new if (tour === 'CH') PASS type logic.
  • Do not tighten dynamicMinEdge or minLean/minBet thresholds in this edit.
  • The only allowed change is: scale CH probabilities toward 0.50 when the tour is CH and the signals are weak.

The goal of this change:

  • Keep making plays on CH.
  • But stop the engine from being overconfident on noisy CH matches and totals, so the side it picks is “more correct on average” instead of swinging hard on fake edges.

Btw simple changes actually won’t do anything it’ll only bump stuff to leans I need correct changes that actually do ain’t usually your changes do do anything

Like for example this match was wrong you can see the match and read to find why the challenger matched leaned forward to the wrong person and why it picked over instead of under or pass u need to do intelluctal thinking not only fix things I mentioned you need to fix whatever u find that’s not right

Failed matches

4/19/2026 18:38:13
⚠️ MARKET ANCHOR APPLIED: Model vs market diverged by 2.3 pts. Pulled 2% toward market.

════════════════════════════════════════
🎾 TENNISLOCKS v1.0 🎾
[ᴠᴇʀѕɪᴏɴ] ᴠ1.0 | 2026-04-20ᴛ01:38:05.668ᴢ
ᴛᴏᴛᴀʟѕ ѕɪᴍѕ: 24,000 | ɢᴇɴᴇʀᴀᴛᴇᴅ: 8:38:09 ᴘᴍ
════════════════════════════════════════

⚠️ MARKET ANCHOR — Model diverged 2.3pt from market. Pulled 2% toward market.

🎯 ATP-CH M25 Saint-Dizier (RIGHT) (Clay (OUTDOOR)) | Best of 3 | Line: 21.5
ᴄᴘɪ: 27 | ᴛᴏᴜʀ: ᴀᴛᴘ-ᴄʜ (ʀɪɢʜᴛ) (ʜɪɢʜ)

────────────────────────────────────────
Mika brunold vs Miguel damas
────────────────────────────────────────

🎲 Total Games Projection: 23.0 (mixture median) | EV 23.0 | lands ~19g or ~29g
ᴅᴇᴄɪᴅᴇʀ ᴘʀᴏʙ: 46% | ᴀᴅᴊ 39% | ʀᴀᴡ 41%
ᴍᴀᴛᴄʜ ᴄʟᴜѕᴛᴇʀѕ: 2-ѕᴇᴛ ᴍᴇᴅɪᴀɴ 19.0ɢ (ᴍᴇᴀɴ 19.6) | 3-ѕᴇᴛ ᴍᴇᴅɪᴀɴ 29.0ɢ (ᴍᴇᴀɴ 29.4)
ʙɪᴍᴏᴅᴀʟ ꜰᴀɪʀ ʟɪɴᴇ: 23.0ɢ (ᴍɪˣᴛᴜʀᴇ ᴍᴇᴅɪᴀɴ) | 2-ѕᴇᴛ ᴍᴏᴅᴇ: 19.6ɢ | 3-ѕᴇᴛ ᴍᴏᴅᴇ: 29.4ɢ

========================================
📊 MATCH WINNER
────────────────────────────────────────
ᴘʟᴀʏᴇʀ ᴍʟ ᴍᴋᴛ% ᴍᴏᴅᴇʟ% ʀᴀᴡ% ᴇᴅɢᴇ ʙᴀʀ
▶ ʟᴇᴀɴ ᴍɪᴋᴀ ʙʀᴜɴᴏʟᴅ -196 64.0% 72.2% 72.2% +8.1% ███████░░░
ᴍɪɢᴜᴇʟ ᴅᴀᴍᴀѕ +158 36.0% 27.8% 27.8% -8.1% ███░░░░░░░
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
ʙʟᴇɴᴅ ᴍᴄ 58.1% | ѕᴛᴀᴛѕ 66.8% | ᴇʟᴏ 60.7% | ʀᴇʟɪᴀʙɪʟɪᴛʏ: 40%
ʀᴀᴡ ᴇɴɢɪɴᴇ: 72.2% → ᴘɪᴄᴋ: 72.2% (ᴍɪᴋᴀ ʙʀᴜɴᴏʟᴅ) | ᴅɪѕᴘʟᴀʏ: 63.8%
ᴀɴᴄʜᴏʀ 2% ᴀᴘᴘʟɪᴇᴅ (ᴍᴀʀᴋᴇᴛ ᴀɴᴄʜᴏʀ 2ᴘᴘ)
ᴇᴅɢᴇ -2.9% ᴏɴ ᴀ | ᴠɪɢ ᴇᴠ: +9.0% | ѕᴛᴀᴋᴇ: 0.00% | ᴄᴏɴꜰ: ɴᴏɴᴇ
ꜰᴀɪʀ ᴍʟ ᴍɪᴋᴀ ʙʀᴜɴᴏʟᴅ -259 / ᴍɪɢᴜᴇʟ ᴅᴀᴍᴀѕ +259

ℹ️ [PRIMARY — NO BET]
ɴᴏ ʙᴇᴛ — ᴇᴅɢᴇ ʙᴇʟᴏᴡ ᴛʜʀᴇѕʜᴏʟᴅ
ℹ️ PRIMARY — Mika brunold
ᴠɪɢ ᴇᴠ: +9.0% | ʀɪѕᴋ: ʟᴏᴡ (0.10) | ᴄʟᴜѕᴛᴇʀ: ꜰʀᴀɢɪʟᴇ

ѕᴛʀᴜᴄᴛᴜʀᴇ & ʀɪѕᴋ
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
ᴄʟᴜѕᴛᴇʀ: ꜰʀᴀɢɪʟᴇ (ᴄʜᴀʟᴋ_ꜰʀᴀɢɪʟᴇ)
ᴅᴇᴄɪᴅᴇʀ: 46.0%
ᴀᴠɢ ɢᴀᴍᴇѕ: 23.9
ʀɪѕᴋ: 0.10 (ʟᴏᴡ) | ᴘᴇɴᴀʟᴛʏ: 0.003
ᴅᴀᴛᴀ: ᴡᴇᴀᴋ (ᴄᴏᴠᴇʀᴀɢᴇ 5/5, ᴛʀᴜѕᴛ 0.90)
ᴛʜʀᴇѕʜᴏʟᴅѕ: ᴍɪɴʟᴇᴀɴ=2.83% ᴍɪɴᴘʀɪᴍᴀʀʏ=4.79%
ᴅᴏɢ ᴠᴀʟᴜᴇ: 50/100

ᴘʟᴀʏᴇʀ ɪɴᴛᴇʟ
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
ᴍɪᴋᴀ ʙʀᴜɴᴏʟᴅ ᴍɪɢᴜᴇʟ ᴅᴀᴍᴀѕ
ʀᴀɴᴋ 385 273
ᴇʟᴏ 1454 1393
ᴀᴠɢ ᴏᴘᴘ ʀᴀɴᴋ 302 213
ѕᴄʜᴇᴅᴜʟᴇ ѕᴏꜰᴛ (ᴛʀᴜѕᴛ 0.90, ʀᴀɴᴋѕ 6)ᴍɪᴅ (ᴛʀᴜѕᴛ 0.94, ʀᴀɴᴋѕ 7)
ѕᴇʀᴠᴇ ѕᴛʏʟᴇ ᴍɪˣᴇᴅ ᴍɪˣᴇᴅ
ᴍᴏᴍᴇɴᴛᴜᴍ ѕᴛʀᴜɢɢʟɪɴɢ ѕᴛʀᴜɢɢʟɪɴɢ
ʜᴏʟᴅ % 72.0% 67.9%
ѕᴘᴡ % 56.5% 55.2%
ᴅᴏᴍɪɴᴀɴᴄᴇ ʀᴀᴛɪᴏ 0.88 0.57
ᴠᴏʟᴀᴛɪʟɪᴛʏ 0.5% 3.5%
ᴏᴘᴘ-ᴀᴅᴊ ꜰᴏʀᴍ: ᴅᴇʟᴛᴀ=0.4ᴘᴛ | ᴡᴇɪɢʜᴛ=22.0%
ʙʀᴇᴀᴋ ʀᴀᴛᴇ 32.1% 28.0%
1ѕᴛ ѕʀᴠ ᴡɪɴ % 63.5% 59.1%
2ɴᴅ ѕʀᴠ ᴡɪɴ % 45.2% 47.3%
1ѕᴛ ѕʀᴠ ɪɴ % 62.0% 67.0%
ᴀɴᴀʟʏᴛɪᴄᴀʟ ʜᴏʟᴅ 70.5% 68.6% (ɴᴇᴡᴛᴏɴ-ᴋᴇʟʟᴇʀ)

── ꜰʀᴀɢɪʟɪᴛʏ ꜰʟᴀɢѕ ──
⚠️ ᴄᴏʟᴅ ѕᴛᴀʀᴛ ᴅᴀᴛᴀ — ᴇᴅɢᴇѕ ᴅɪѕᴄᴏᴜɴᴛᴇᴅ 30%
⚠️ ᴄʜ ᴛᴏᴜʀ — ᴛʜɪɴ ᴅᴀᴛᴀ, ʜɪɢʜᴇʀ ѕʜʀɪɴᴋᴀɢᴇ ᴀᴘᴘʟɪᴇᴅ

ѕɪɢɴᴀʟѕ: ᴠ38.2 ꜰᴀᴋᴇѕʜɪꜰᴛ: ᴍᴏᴅ_ꜰᴀᴠ ѕʜɪꜰᴛ=-0.89ᴘᴘ (ᴄᴀʟɢᴀᴘ=-3.57ᴘᴘ), ᴄʟᴜѕᴛᴇʀ ꜰʀᴀɢɪʟᴇ, ᴅᴀᴛᴀ-ǫᴜᴀʟɪᴛʏ ʀɪѕᴋ (ᴄᴀᴘᴘᴇᴅ 1.0), ꜰᴀᴠ ᴍᴋᴛ-ᴀɢʀᴇᴇᴍᴇɴᴛ ʀɪѕᴋ ᴅɪѕᴄᴏᴜɴᴛ, ʀᴀᴡ-ᴇᴅɢᴇ ʀᴇѕᴄᴜᴇ: ᴇᴅɢᴇ=-2.9 ʀᴀᴡ=11.2, ᴄᴏʟᴅ ѕᴛᴀʀᴛ (ꜰᴜʟʟ)

════════════════════════════════════════

🎲 Sets Market:

  • 2 Sets: 61.3% | Book est -189

  • 3 Sets: 38.7% | Book est +142

Sets Bet: PASS

Over/Under 2.5 Sets:

  • Under 2.5: 61.3% | Book est -195

  • Over 2.5: 38.7% | Book est +140

O/U Bet: PASS

Read: Neither direction has sufficient source confirmation to qualify. | Confidence: LOW
P3 sources: disp 38.7% | adj 40.6% | raw 43.9% | mkt 33.4% | hold 42.3% | spread 10.6pp | hook stable
🎲 RISK LEAN: Over 2.5 sets @ 38.7% | Slight lean | P3 +4.2pp above empirical baseline | wide source spread | ⚠ fragile [src: d=38.7 a=40.6 r=43.9 m=33.4 h=42.3 | base=34.5 med=40.6] — NOT an official pick, risk only.

📊 Player Stats (Live):

  • ʜɪѕᴛ. ѕᴜʀꜰᴀᴄᴇ (ʀᴇᴅ ᴄʟᴀʏ): ᴍɪᴋᴀ ʙʀᴜɴᴏʟᴅ (~57.2% (ᴇѕᴛ.)) | ᴍɪɢᴜᴇʟ ᴅᴀᴍᴀѕ (~56.1% (ᴇѕᴛ.)) [ᴛᴀ_ʟɪᴠᴇ_ѕᴘᴡ]
  • ᴍɪᴋᴀ ʙʀᴜɴᴏʟᴅ: ʜᴏʟᴅ 71.2% (ʀᴀᴡ: 66.5%, ᴀᴅᴊ: ᴛɪᴇʀ ʙᴏᴏѕᴛ) [ᴇꜰʀᴏɴ-ᴍᴏʀʀɪѕ]
  • ᴍɪɢᴜᴇʟ ᴅᴀᴍᴀѕ: ʜᴏʟᴅ 69.1% (ʀᴀᴡ: 58.2%, ᴀᴅᴊ: ᴛɪᴇʀ ʙᴏᴏѕᴛ) [ᴇꜰʀᴏɴ-ᴍᴏʀʀɪѕ]
  • ѕᴛʏʟᴇ: ᴍɪᴋᴀ ʙʀᴜɴᴏʟᴅ [ʙᴀѕᴇʟɪɴᴇ/ᴛᴀᴄᴛɪᴄɪᴀɴ] | ᴍɪɢᴜᴇʟ ᴅᴀᴍᴀѕ [ᴠᴜʟɴᴇʀᴀʙʟᴇ]
  • ᴍᴀᴛᴄʜ ᴍᴏᴍᴇɴᴛᴜᴍ (ᴡᴀɴɢ): ᴍɪᴋᴀ ʙʀᴜɴᴏʟᴅ ᴡᴀɴɢ ѕᴄᴏʀᴇ: 37.0% (ɴᴇɢᴀᴛɪᴠᴇ ᴍᴏᴍᴇɴᴛᴜᴍ), ᴡ-ʟ 3-4, ѕѕ 3-3, ѕᴇᴛѕ 7-8 ; ᴍɪɢᴜᴇʟ ᴅᴀᴍᴀѕ ᴡᴀɴɢ ѕᴄᴏʀᴇ: 37.0% (ɴᴇɢᴀᴛɪᴠᴇ ᴍᴏᴍᴇɴᴛᴜᴍ), ᴡ-ʟ 2-5, ѕѕ 1-2, ѕᴇᴛѕ 7-11
  • 1ѕᴛ ѕʀᴠ ᴡɪɴ: ᴍɪᴋᴀ ʙʀᴜɴᴏʟᴅ 63.5% | ᴍɪɢᴜᴇʟ ᴅᴀᴍᴀѕ 59.1%
  • 2ɴᴅ ѕʀᴠ ᴡɪɴ: ᴍɪᴋᴀ ʙʀᴜɴᴏʟᴅ 45.2% | ᴍɪɢᴜᴇʟ ᴅᴀᴍᴀѕ 47.3%
  • 1ѕᴛ ѕʀᴠ ɪɴ: ᴍɪᴋᴀ ʙʀᴜɴᴏʟᴅ 62.0% | ᴍɪɢᴜᴇʟ ᴅᴀᴍᴀѕ 67.0%
  • ѕᴘᴡ: ᴍɪᴋᴀ ʙʀᴜɴᴏʟᴅ 56.5% | ᴍɪɢᴜᴇʟ ᴅᴀᴍᴀѕ 55.2% [ʙᴀʀɴᴇᴛᴛ-ᴄʟᴀʀᴋᴇ ᴀᴅᴊ.]
  • ʙʀᴇᴀᴋ ʀᴀᴛᴇ: ᴍɪᴋᴀ ʙʀᴜɴᴏʟᴅ 30.9% | ᴍɪɢᴜᴇʟ ᴅᴀᴍᴀѕ 28.8%
  • ᴅᴏᴍɪɴᴀɴᴄᴇ ʀᴀᴛɪᴏ: ᴍɪᴋᴀ ʙʀᴜɴᴏʟᴅ 0.88 | ᴍɪɢᴜᴇʟ ᴅᴀᴍᴀѕ 0.57 [ᴍɪѕᴍᴀᴛᴄʜ]
  • ᴠᴏʟᴀᴛɪʟɪᴛʏ: ᴍɪᴋᴀ ʙʀᴜɴᴏʟᴅ 0.5% | ᴍɪɢᴜᴇʟ ᴅᴀᴍᴀѕ 3.5% | ᴍᴀᴛᴄʜ: 2.0%
  • ᴇʟᴏ: ᴍɪᴋᴀ ʙʀᴜɴᴏʟᴅ ꜰᴀᴠᴏʀᴇᴅ (60.7%) [ᴋᴍ-ᴇʟᴏ ʙʀɪᴅɢᴇ]
    ѕᴏᴜʀᴄᴇ: ᴇʟᴏ_ʟᴏᴏᴋᴜᴘ ѕʜᴇᴇᴛ (ᴍɪᴋᴀ ʙʀᴜɴᴏʟᴅ=1454, ᴍɪɢᴜᴇʟ ᴅᴀᴍᴀѕ=1393)
  • ʙʟᴇɴᴅ (ᴍɪᴋᴀ ʙʀᴜɴᴏʟᴅ): ᴍᴄ 58.1% | ѕᴛᴀᴛѕ 66.8% | ᴇʟᴏ 60.7%
  • ᴀɴᴀʟʏᴛɪᴄᴀʟ ʜᴏʟᴅ: ᴍɪᴋᴀ ʙʀᴜɴᴏʟᴅ 70.5% | ᴍɪɢᴜᴇʟ ᴅᴀᴍᴀѕ 68.6% (ɴᴇᴡᴛᴏɴ-ᴋᴇʟʟᴇʀ)

ᴛᴏᴛᴀʟѕ ꜰᴀɪʀ ʟɪɴᴇ: 22.5 (ᴄᴅꜰ 50/50) | ᴍɪˣᴛᴜʀᴇ ᴍᴇᴅɪᴀɴ: 22.9
ᴛᴏᴛᴀʟѕ ʀᴀɴɢᴇ: ᴘ10=17 | ᴘ50=23 | ᴘ90=32
ᴛᴏᴛᴀʟѕ ᴇˣᴘᴇᴄᴛᴇᴅ: 23.8 (ᴍᴇᴀɴ) | ᴍᴇᴅɪᴀɴ: 22.9
ᴍᴏѕᴛ ᴄᴏᴍᴍᴏɴ ᴇˣᴀᴄᴛ: 19ɢ | ʜɪɢʜᴇѕᴛ-ᴅᴇɴѕɪᴛʏ ᴢᴏɴᴇ: 18-20ɢ 22.2%
ᴍɪˣᴛᴜʀᴇ ᴍᴇᴅɪᴀɴ: 23.0ɢ | ᴄᴏɴᴅɪᴛɪᴏɴᴀʟ: ᴇ[ᴛ|2 ѕᴇᴛѕ] 19.6 | ᴇ[ᴛ|3 ѕᴇᴛѕ] 29.4 | ᴘ(3 ѕᴇᴛѕ) 39%
ᴛᴏᴛᴀʟѕ ᴘᴍꜰ (ᴛᴏᴘ ᴇˣᴀᴄᴛѕ): 19ɢ 7.7% | 18ɢ 7.4% | 22ɢ 7.3% | 20ɢ 7.0% | 17ɢ 6.6% | 21ɢ 5.6% | 29ɢ 5.1% | 23ɢ 5.0%
🎯 TOTAL GAMES:

ᴛᴏᴛᴀʟѕ ʀᴇɢɪᴍᴇ ѕᴛᴀʙʟᴇ (ᴍᴄ ᴄʜᴀɪɴѕ 3, ᴀᴠɢ ѕᴘʀᴇᴀᴅ 0.07 ɢ)
✅ [OFFICIAL BET]
ʟᴇᴀɴ ᴏᴠᴇʀ 21.5
── ꜰʀᴀɢɪʟɪᴛʏ ꜰʟᴀɢѕ ──
⚠️ ᴍᴏᴅᴇʀᴀᴛᴇʟʏ ʙɪᴍᴏᴅᴀʟ (ѕᴄᴏʀᴇ=0.42) — ᴇʟᴇᴠᴀᴛᴇᴅ ᴠᴀʀɪᴀɴᴄᴇ
⚠️ ʜᴇᴀᴠʏ ʀɪɢʜᴛ ᴛᴀɪʟ (ᴘ≥31=16.4%) — ʙʟᴏᴡᴏᴜᴛ ʀɪѕᴋ
⚠️ ᴄᴏʟᴅ ѕᴛᴀʀᴛ / ᴍɪѕѕɪɴɢ ᴅᴀᴛᴀ — ᴇᴅɢᴇѕ ᴅɪѕᴄᴏᴜɴᴛᴇᴅ 30%
⚠️ ᴄʜ ᴛᴏᴜʀ — ᴛʜɪɴ ᴅᴀᴛᴀ, ʜɪɢʜᴇʀ ѕʜʀɪɴᴋᴀɢᴇ

ᴡʜʏ ɪᴛ ꜰɪᴛѕ:
ᴏᴠᴇʀ ʜᴏʟᴅѕ ᴀ ᴡᴏʀᴋᴀʙʟᴇ ᴇᴅɢᴇ ɪɴ ᴀ ᴛɪɢʜᴛᴇʀ ᴘʀɪᴄɪɴɢ ʙᴀɴᴅ.

ѕʜᴀᴘᴇ:
2-ѕᴇᴛ ᴄʟᴜѕᴛᴇʀ 19ɢ | ±1σ ʀᴀɴɢᴇ: 17-22ɢ | ᴘ(ᴏᴠᴇʀ 21.5) ɪɴ ʟᴀɴᴇ: 18.0% | 3-ѕᴇᴛ ᴄʟᴜѕᴛᴇʀ 29ɢ | ᴘ(ᴅᴇᴄɪᴅᴇʀ) 46% (ѕᴛʀᴏɴɢ, 100% ᴏꜰ ᴍᴀˣ) | ᴡᴄᴇ 23.2ɢ

ᴘʀɪᴄɪɴɢ:
ᴍᴏᴅᴇʟ ꜰᴀɪʀ 22.5 ᴠѕ ᴍᴀʀᴋᴇᴛ 21.5 (+1.0ɢ)

ᴇɴɢɪɴᴇ ʙʀᴇᴀᴋᴅᴏᴡɴ:

  1. ᴍᴄ ᴏᴠᴇʀ (ᴀɴᴛɪᴛʜᴇᴛɪᴄ): 58.3% (ɪɴᴄʟᴜᴅᴇѕ ᴘᴜѕʜᴇѕ) [ѕᴇᴛ ѕᴘʟɪᴛ: 2ѕᴇᴛ 54% | 3ѕᴇᴛ 46%]
  2. ɴᴏ-ᴘᴜѕʜ ᴍᴄ: 58.0% ᴏᴠᴇʀ
  3. ɢᴏᴠᴇʀɴᴏʀ ᴏᴠᴇʀ: 60.1% (ʙʟᴇɴᴅ ᴡᴇɪɢʜᴛ: 0%)
  4. ᴏᴡɴᴇʀ (ᴘɪᴄᴋ): 53.4% ᴏᴠᴇʀ
  5. ᴅɪѕᴘʟᴀʏ ᴏᴠᴇʀ: 58.2% (ᴄᴏѕᴍᴇᴛɪᴄ ᴏɴʟʏ, ɴᴏᴛ ᴜѕᴇᴅ ꜰᴏʀ ᴘɪᴄᴋ)
    ᴍᴀʀᴋᴏᴠ ᴄʀᴏѕѕᴄʜᴇᴄᴋ: 57.5% ᴏᴠᴇʀ
    ꜰᴀɪʀ ʟɪɴᴇѕ - ᴍᴄ: 22.5 | ᴍᴀʀᴋᴏᴠ: 22.5 | ɢᴀᴘ: 1.1ᴘᴛѕ, 0.00ɢ
    ʜᴀʟꜰ-ʟɪɴᴇ 21.5 - ᴍᴄ: ᴜɴᴅᴇʀ 41.4% | ᴏᴠᴇʀ 58.6%
    ʜᴀʟꜰ-ʟɪɴᴇ 21.5 - ᴍᴀʀᴋᴏᴠ: ᴜɴᴅᴇʀ 42.5% | ᴏᴠᴇʀ 57.5%
    ᴛᴀɪʟ - ᴘ(>=30): 21.2% | ᴘ(>=31): 16.4% | ᴘ(>=35): 3.5%
    ʙᴜᴄᴋᴇᴛѕ: ʟᴇꜰᴛᴛᴀɪʟ(ʟ-6) 2.1% | ʟᴏᴄᴀʟᴍᴀѕѕ ʟᴏᴡ 14.7% ʜɪɢʜ 7.1%
    ɴᴇᴀʀ-ʟɪɴᴇ ᴍᴀѕѕ @21.5: 12.9% (ᴘ(21)+ᴘ(22)) | ʟᴏᴄᴀʟ 20-22: 19.9% | 19-23: 32.6%
    ᴀᴅᴊᴀᴄᴇɴᴛ ᴇˣᴀᴄᴛѕ: ᴘ(21ɢ) 5.6% | ᴘ(22ɢ) 7.3%
    ᴍᴀʀᴋᴏᴠ 3-ѕᴇᴛ ᴀᴅᴊ: 43.8% (ᴘᴇɴᴀʟᴛʏ 0.0%)
    ʜᴏᴏᴋ ᴍᴀѕѕ @21.5: 2ѕᴇᴛ 22.0% | 3ѕᴇᴛ 1.2% | ʙʟᴇɴᴅᴇᴅ 12.4% [ʜᴏᴏᴋ ꜰʀᴀɢɪʟᴇ] | ꜰʟᴏᴏʀ(21ɢ) 5.4% ᴠѕ ᴄᴇɪʟ(22ɢ) 7.1% | ɢʀᴀᴠɪᴛʏ 21.57ɢ | ɴᴜᴅɢᴇ ᴏᴠᴇʀ 1.4ᴘᴘ
    ʟᴍᴘ: ѕᴋᴇᴡ=-0.169 ᴅɪʀᴄʀᴇᴅɪᴛ=-15.97ᴘᴘ ᴜɴᴄᴘᴇɴ=56.3% ɴᴇᴀʀ=12.9% ᴄᴏᴍ=21.04 ᴇɴᴛ=3.254 ᴡ3=22.2%[18-20]

ѕɪᴍᴜʟᴀᴛɪᴏɴ (24000 ʀᴜɴѕ): ᴍᴇᴅɪᴀɴ 22.9ɢ, 59% ᴏᴠᴇʀ 21.5.
ᴍᴀᴛᴄʜ ѕʜᴀᴘᴇ (ᴍᴀʀᴋᴏᴠ ꜰᴀɪʀ 22.5ɢ, 2-ѕᴇᴛ ᴄʟᴜѕᴛᴇʀ 19ɢ (61% ᴏꜰ ᴘᴀᴛʜѕ), 3-ѕᴇᴛ ᴄʟᴜѕᴛᴇʀ 29ɢ (39% ᴏꜰ ᴘᴀᴛʜѕ)) — ѕʟɪɢʜᴛ ᴏᴠᴇʀ ʟᴇᴀɴ.
ᴡɪᴛʜɪɴ 2-ѕᴇᴛ ᴄʟᴜѕᴛᴇʀ: ±1σ ʀᴀɴɢᴇ: 17-22ɢ | ᴘ(ᴏᴠᴇʀ 21.5) ɪɴ ʟᴀɴᴇ: 18.0%
ᴀᴜᴅɪᴛ: ᴅɪʀᴍᴄ=ᴏᴠᴇʀ | ᴘѕɪᴅᴇᴍᴄ=56.2% | ᴄʟᴜѕᴛᴇʀᴅɪʀ=ᴜɴᴅᴇʀ | ᴄʜᴏѕᴇɴᴅɪʀ=ᴏᴠᴇʀ | ɪɴᴠᴀʀɪᴀɴᴛ=ᴏᴋ

📊 ᴜɴᴅᴇʀᴅᴏɢ ᴀѕѕᴇѕѕᴍᴇɴᴛ:
ɴᴏ ᴇᴅɢᴇ ᴏɴ ᴍɪɢᴜᴇʟ ᴅᴀᴍᴀѕ (27.8% ᴍᴏᴅᴇʟ | ɪᴍᴘʟɪᴇᴅ 36%).

Update my script then send it as a downloadable txt link

Again simple surface level fixes like change two thinks won’t actually do anything

What is crazy is Miguel won 2:0

Мысль

bash -lc grep -n "v38.4-CH-HONESTY|_chFinalShrinkFired|_deciderBoost *= 0.35|_chWeakArch" /mnt/data/Tennislocks2.0_CH_honesty_patch.txt | sed -n '1,80p'

Thought for 2m 14s

Ответ

I updated your script and saved it here:

Download the patched TXT

Backup of the pre-edit version: Backup TXT

What I changed, based on the actual CH failure path in your uploaded script (Tennislocks2.0.txt)

  • In WinnerCalibration.calibrateP, I added a CH-only weak-signal shrink for COIN / MOD_FAV plus WEAK / VERY_WEAK data. That pulls shaky CH winner probabilities closer to 50-50 instead of letting them sit too confidently.
  • In getTotalsPick, I did not add new PASS gates, but I cut down the CH decider/OVER reinforcement on fragile bimodal CH spots. That was one real source of “2-0 lands, but engine still leans over.”
  • Also in getTotalsPick, I added a final CH-only small-edge shrink right before classification. It especially compresses the edge when the match is bimodal, cold-start-ish, or when the 2-set lane points the other way on a small edge. That’s the part aimed at cases like this one, where the engine should drift toward pass/coin-flip instead of pretending a borderline over is strong.

So this was not just the surface-level “shrink two numbers” edit. I patched the three places where CH overconfidence was still surviving late in the pipeline.

Поделиться этим Q&A