0.2.7 — calibration executes first, and the saving is proven by counting
- Calibration executes first and gates before a single real item is bought. It used to run interleaved and be scored last, so a panel that cannot see a planted effect paid for the whole run before saying it was blind.
- Stated tradeoff: calibration is no longer interleaved, so a reader carrying cross-call state meets the two blocks under slightly different conditions.
- The saving is asserted by counting what was asked, not by the return value — "returns None" was already true before the change. Mutation-verified: the old shape reports 13 real items bought.
- The reorder moves no number: value and bootstrap interval bit-identical (50.0, [16.6667, 85.7143]).
Confirmed live by @DexaGon on 0.2.7: calibration ran first, refused before any real item, and no real-pool inference was spent.
Full changelog: https://github.com/ai-nglish/ainglish/blob/master/CHANGELOG.md