You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OCR 1.9.10 sends its embedded completion cap of 58888 on full OpenAI Chat Completions review requests. Some compatible gateways reserve spend from the requested output cap and reject a full review before generation even when short probes succeed. OCR 1.9.10 has no public completion-cap setting, while its private llm.extra_body overlay can replace the protocol-specific wire field.
Implementation checklist
Add optional OCR_LLM_MAX_COMPLETION_TOKENS; exact default is unset and inherits the qualified OCR behavior.
Accept only a positive decimal integer from 1 through 1000000, with length bounded before conversion.
Map openai to max_completion_tokens, openai-responses to max_output_tokens, and anthropic to max_tokens.
Preserve unrelated OCR_LLM_EXTRA_BODY; deduplicate an equal JSON integer and reject conflicting or non-integer ownership.
Add environment, generated-config, compatibility, and installed wheel/sdist tests.
Document exact default, protocol mapping, collision migration, the three token controls, spending reservation, /models non-claim, and the 4096 example.
Add the separate 130.feature.md operator/agent-facing changelog fragment.
Complete focused, full quality/coverage, Gitleaks, manifest/lock, Towncrier, reproducible package, Twine, and Python 3.12–3.14 install gates.
Problem
OCR 1.9.10 sends its embedded completion cap of
58888on full OpenAI Chat Completions review requests. Some compatible gateways reserve spend from the requested output cap and reject a full review before generation even when short probes succeed. OCR 1.9.10 has no public completion-cap setting, while its privatellm.extra_bodyoverlay can replace the protocol-specific wire field.Implementation checklist
OCR_LLM_MAX_COMPLETION_TOKENS; exact default is unset and inherits the qualified OCR behavior.1through1000000, with length bounded before conversion.openaitomax_completion_tokens,openai-responsestomax_output_tokens, andanthropictomax_tokens.OCR_LLM_EXTRA_BODY; deduplicate an equal JSON integer and reject conflicting or non-integer ownership.max_tokens,OCR_MAX_TOKENS_BUDGET, receipt v5, DLP, telemetry, outcomes, severity, findings, and approval unchanged./models.max_completion_tokens.c626347bafcdbf25cf058af403d16568a3a9ffa1814046ff7c9d1e6becaf60d2).58888, explicit4096; remove every temporary probe artifact./modelsnon-claim, and the4096example.130.feature.mdoperator/agent-facing changelog fragment.Release lifecycle
53c6374da216bf88aa27ba6dd146b3322d8c8463(tree25e4340ce9a076edc28e5412edd11de7ac876d76).Related safe diagnostics: #129. Keep this issue open until stable reconciliation.