1921a067a1
The four cases were red because the criterion could not see the evidence. reasoning_tokens has been None on this route ever since MiniMax stopped reporting completion_tokens_details, while the same call carried 185 characters of reasoning prose the assertions never looked at. L5 asserted something that cannot happen. M3 returns neither prose nor usage detail over the plain endpoint, so demanding that the non-streaming path observe reasoning could never pass. It now asserts what is true and worth holding: the prompt_tokens anchor still separates the two directions, so the parameter did reach the model, and the verdict is not ABSENT, so the library marked the gap honestly instead of dressing it up as no reasoning. _ON_MIN_COMPLETION is gone. The two directions overlap in output length — 46 at most disabled, 13 at least enabled — so that fallback drew a line through noise and only made the criterion look defended.