v0.4.9
trades_totals now enforces the same finite non-negative contract as the fill parser: NaN/Infinity/negative tape amounts book zero, a non-list /trades body reads as truth unavailable (None). The method was decomposed (complexity 13 to 6) with every 0.4.6 maker-slice branch pinned by tests first; behavior identical. Fuzz suite gained an adversarial-tape property, coverage 91 to 94 percent, dead paper helper removed, CHANGELOG link on PyPI. Full notes in CHANGELOG.md.