All notable changes to this project will be documented in this file.
## [1.0.33] - 2026-05-21
### Fixed
-**Critical**: Fixed extraction algorithm structural bias causing the table to consistently lose. Two hardcoded constraints in `extract_balanced_safe` prevented the algorithm from steering away from expensive outcomes even when the redistribution balance was deeply negative: (1) the correction floor `0.35` meant an expensive outcome always retained ≥35% of its base weight regardless of balance; (2) `max_drift=0.4` set a `lower_bound` of `0.6 × base_weight`, keeping the most probable (and usually most expensive) result at ~30-35% selection probability even under maximum deficit. Together these made recovery mathematically too slow.
### Technical Details
-`extract_balanced_safe()`: both `max_drift` and the correction floor are now adaptive. A `balance_severity` scalar (0→1, proportional to deficit vs current stake) scales `max_drift` from `0.40` → `0.95` and the correction floor from `0.35` → `0.05` as the shortfall deepens. When the balance is neutral the function is mathematically identical to the previous version. Updated benchmark tests to reflect that `extract_balanced_safe` and `candidate_v4` are now distinct implementations.
- Updated user agent string from MbetterClient/1.0r32 to MbetterClient/1.0r33