fix: negotiate unsupported temperature capability on current orchestration line - #779
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Current-head review at
|
|
Live exact-head runtime evidence for cf4a450: the authenticated provider-neutral gateway returned HTTP 200 with one choice, and a direct validated transport call pinned to gpt-5.6-sol with temperature 0.2 completed successfully. Synthetic prompt only; response content was not persisted. |
|
|
|
@opencode-agent Please publish a formal review bound to exact head |
…iation (#791) * feat: auto-select embedding agents * fix: align embedding selection API contract * test: cover embedding capability selection boundaries * test: declare embedding capability in embedding fixtures * style: normalize embedding HTTP fixture imports * docs: assign unique embedding selection ADR number
|
@devin review exact current HEAD 5a6f563. The valid ADR collision finding is fixed: optional sampling capability negotiation is now ADR 0016, while the accepted gateway-only provider contract remains ADR 0012; references were re-scanned and protocol regression tests pass (21 passed). Revalidate this exact HEAD and report only current findings. |
* feat: opt in to client-owned tool loops * test: repair stale standalone test entrypoints
|
@devin review exact current HEAD dbf46e5. Fixed the current finding: Responses tool-loop passthrough now runs only after non-empty input and stream validation, so stream=true returns invalid_stream instead of a silent non-streamed 200; missing input returns invalid_input. Added HTTP regressions; focused suite 19 passed with Ruff/diff clean. Revalidate this exact head. |
|
@devin review exact current HEAD ef7b1fb. Current remote integration includes the parent stack, #787, the Responses tool-loop stream/input fix, and total inbound-body deadline enforcement. Exact-head focused integration tests pass (38 passed) with changed-file Ruff/diff clean. Revalidate this full SHA only and report any current finding. |
| if time.monotonic() >= read_deadline: | ||
| self.close_connection = True | ||
| raise RequestError(408, "request_read_timeout", "request body read timed out") |
There was a problem hiding this comment.
🟡 Fully received requests can be rejected as timed out
A complete request body is rejected as timed out (raise RequestError(408,...) at contextual_orchestrator/server.py:5999-6001) after the final chunk that completes the body is read, so a valid, fully-received request is thrown away as an error.
Impact: On a slow connection whose last byte arrives right around the deadline, a request whose entire body was already received is returned a 408 error instead of being processed.
Deadline re-check runs even once the body is complete
The loop condition is while len(chunks) < body_size (contextual_orchestrator/server.py:5990). The deadline check at the top of the loop (5991-5993) correctly only fires when more data is still needed. However, the second check added after chunks.extend(chunk) (5999-6001) runs unconditionally after each read — including the read that completes the body. If time.monotonic() >= read_deadline at that moment, a 408 is raised even though len(chunks) == body_size and the full body is available in chunks. The top-of-loop check already covers the incomplete case on the next iteration, so the post-extend check only adds the spurious rejection of an already-complete body. Guarding it with len(chunks) < body_size avoids discarding a fully-read request.
| if time.monotonic() >= read_deadline: | |
| self.close_connection = True | |
| raise RequestError(408, "request_read_timeout", "request body read timed out") | |
| if len(chunks) < body_size and time.monotonic() >= read_deadline: | |
| self.close_connection = True | |
| raise RequestError(408, "request_read_timeout", "request body read timed out") |
Was this helpful? React with 👍 or 👎 to provide feedback.
|
Current exact HEAD:
@devin-ai-integration please revalidate only this exact HEAD. Normal auto-squash merge is armed; no approval or bypass is being used. |
a4e9a78
into
fix/auto-reasoning-effort-contract-rebased
Summary
temperatureis unsupportedEvidence
d3f9a9b96523ed572b908c8abba1afa527eb49dccf4a4501fa5057f89b21cad5033c5925755cd15015 passed in 4.59s1472 passed in 546.95spython -m compileall -q contextual_orchestratorgit diff --checkThis is a successor to #774. It intentionally does not retarget or force-push #774, whose original base is a closed integration branch and therefore has no hosted required Checks.