The surprise is an opening, not a free point: THE READ turned down a notch

Oliver, same day: 'die Gegner sind jetzt etwas zuu einfach.' The habit takes
four same-lane shots to learn (was three) and the wrong-foot costs about a
third less on every dial: surpRead 0.85->0.6, surpSlow 0.45->0.3, surpFlub
0.35->0.22. The whiff-window test pin rides down with it (0.25->0.15); the
slower-than-the-coach pin still holds.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
wuwiandClaude Fable 5 committed 2026-08-28 16:34:38 +02:00
1 parent 43784c5b33
commit 4ea9af5442
4 files changed
+16 -7

No files matched your search

+3 -1
View File
@@ -2110,7 +2110,9 @@ test('THE READ: a habit is learned by repetition and a break wrong-foots the rac
'a wrong-footed champion runs slower than the head coach at full stride');
const champFlub = TUNE.matchFlub * Math.pow(TUNE.matchFlubKeep, cfg.LADDER - 1) * cfg.matchFoe(cfg.LADDER).flub;
assert.ok(champFlub < 0.02, '(the champion barely misses on his own — the wall being answered)');
assert.ok(champFlub + TUNE.surpFlub > 0.25, 'the surprise opens a real whiff window in that racket');
// 0.15, not 0.25: the same-day retune ("die Gegner sind jetzt etwas zuu einfach") took a third
// off every surprise dial — the window must stay REAL, but it is an opening, not a free point
assert.ok(champFlub + TUNE.surpFlub > 0.15, 'the surprise opens a real whiff window in that racket');
assert.ok(TUNE.readAnticipate <= 1, 'anticipation never reads better than perfect');
assert.ok(TUNE.readHabit >= 2 && TUNE.readHabit <= 6, 'a habit is learnable inside one game');
});