Preserve unspecified OpenRouter output limits - #273
Conversation
deepfates
left a comment
There was a problem hiding this comment.
Independent review of 51d02e3: no blocking findings.
Checked the omission decision before provider option expansion, both transport paths, and composition with caller request hooks. Explicit options and other providers retain their existing behavior; this does not add support for aliases ReqLLM rejects. The compensation is local to the existing adapter and records its removal condition.
Independently ran the eight HTTP wire regressions against local endpoints: 8 tests, 0 failures. Reviewed the author's 1.24/1.25 compatibility evidence. These checks establish request construction, not successful completion at a live OpenRouter endpoint; no provider call was made.
deepfates
left a comment
There was a problem hiding this comment.
Review of the coordinator's merge resolution at d7d9201: no blocking findings. This is a review of the integration resolution, not an independent review of my original OpenRouter implementation.
The merge preserves both changelog entries: the ReActV2 model-facing task-field contract and the OpenRouter omitted-limit fix. git diff --exit-code 6f17a3 d7d9201c passes, confirming the resulting tree is identical to the combined candidate. The original provider fix remains unchanged; the additional runtime and fixture changes come from the separately reviewed completion PR272. CI for this exact merge head is still running and remains the final merge gate.
An OpenRouter request with no caller-specified output limit inherited the catalog maximum from ReqLLM. For a 500k-context/450k-output model, that reservation rejects input above 50k tokens. Preserve omission on the wire so the endpoint chooses the output allowance; keep explicit limits and other providers unchanged.
The adapter uses supported Req request steps and the streaming Finch callback, preserving the caller's callback. It does not patch dependencies, estimate token counts, or impose a global cap. ReqLLM still validates options: its OpenRouter schema rejects output aliases nested in provider_options; this change does not invent support for those aliases.
Validation:
No provider calls or production changes. Real-provider recovery remains to be exercised after review and a released consumer update.
Closes #271.