v0.3.5 — Zero-stall re-nudge on zero-reasoning continuation rounds
Fix
- Zero-reasoning continuation rounds are now treated as a zero-stall and re-nudged, instead of being let through on a 516-token total. Per josantonius's report on openai/codex#30364: under
--max-n 1, a round 1 of 516 tokens triggers a continuation, but round 2 returningreasoning_tokens=0was classified as clean and released — leaving the folded reasoning stuck at 516 and the answer still wrong. - Round ≥2 with
reasoning_tokens==0is now a zero-stall (failed nudge / collapsed continuation): the fold appends anothercommentarynudge and keeps going, sharing theMAX_CONTINUEbudget. Missing usage (None) and round-1 zero-reasoning are deliberately left untouched, matching the PR #5 stance that standalone zero-reasoning has no deterministic fingerprint. - Budget exhaustion still flushes via the existing path tagged
proxy_stopped_reason=max_continue— an answer is never dropped, and the four existing stop labels are byte-for-byte unchanged.test_fold.pyadds three cases: stall-then-recover, stall-exhausted, and the round-1 zero-reasoning regression.
中文说明
本版修复续推轮的零推理 zero-stall:round ≥2 若返回 reasoning_tokens==0,视为 nudge 失败/续推塌缩,再追加一个 commentary nudge 继续,共享 MAX_CONTINUE 预算,不再让 516 token 的总量提前放行。缺失用量(None)与首轮零推理按 PR #5 立场刻意保持不变;预算耗尽仍走 max_continue 路径刷出,答案永不丢弃。