Repository navigation
chore(deps): update dependency openai to v3.40.0 - #873
knostic-renovate[bot] wants to merge 1 commit into
Conversation
R3/R4 — PR 873, at head
|
| reached surface | result |
|---|---|
openai/_exceptions.py |
byte-identical between 3.37.0 and 3.38.0 |
the 8 reached exception classes + OpenAI |
exported in __all__ at both versions; same MRO at the same lines |
OpenAI.__init__ / AsyncOpenAI.__init__ |
positional and keyword-only parameter lists identical (17 kwonly, incl. api_key, base_url, timeout, max_retries, default_headers) |
chat.completions.create |
4 overloads both sides, 0 kwonly added, 0 removed, positional identical |
responses.create |
4 overloads both sides, 0 kwonly added, 0 removed, positional identical |
The call sites are three adapters — utilities/llm/providers/openai.py, ollama.py, openrouter.py — invoking openai.OpenAI(...), chat.completions.create and responses.create, plus the isinstance taxonomy over APITimeoutError, APIConnectionError, RateLimitError, NotFoundError, AuthenticationError, PermissionDeniedError, APIError, APIStatusError.
BOTH-UNREACHABLE, RE-DERIVED THIS ARC AND NOT CARRIED FROM THE 851/853/857 LINEAGE: of the 49 added library modules (agents/automations, assistants runs/threads, response resources, voice), zero leaf names are referenced anywhere in the repository's .py surface. The added surface is unreachable from this codebase at both versions.
NEGATIVE CONTROL — the versions do not differ in behaviour on the reached surface, so the control is on the instrument instead. A synthetic mutant removing timeout from OpenAI.__init__ in a copy of 3.38.0 was compared by the same comparator: control (96f6317992c8a8cd) reports identical and PASSES; mutant (417272279d7acbaf) reports REMOVED: ['timeout'] and FAILS. The comparator discriminates, so "identical" is a real finding rather than a blind instrument. Disclosed: the first mutant attempt missed its anchor and produced a non-mutant whose verdict matched the control — it was re-run with a corrected anchor rather than reported as a survivor (the named #870 method defect, kept fixed).
WHY IT IS NOT MERGED
Gate C1 exits 2. Not for anything in this PR: all three pairs are CLEAN with zero shared paths, and the single failing coupled-surface guard is ui-vendor on the 872+873 tree — PR #872 is independently broken against master (go vet ./ui/... rc=1 at master+872, rc=0 at master). Executed attribution, four legs: master alone rc=0, 873 alone rc=0, 872 alone rc=1, 872+873 rc=1 with the identical error.
So one broken open sibling fails C1 for every other PR in the lane, because the guard has no baseline leg distinguishing "this pair breaks each other" from "the other PR is already broken". bin/collide.py makes a failing guard an unconditional rc=2 with no escape, and there is no flag to exclude a PR; hand-editing the open-set input would be fabricating it. That is an instrument finding, handed to the maintainer rather than patched by the seat the gate is currently blocking. No [WAIVER] was authored and no bypass attempted. Once #872 is resolved this PR re-arcs cheaply: everything above is already measured and green.
95083ae to
4dc765d
Compare
4dc765d to
4e4d91e
Compare
This PR contains the following updates:
==3.37.0->==3.40.0Release Notes
openai/openai-python (openai)
v3.40.0Compare Source
Features
Bug Fixes
Chores
v3.39.0Compare Source
Features
v3.38.0Compare Source
Features
Bug Fixes
Chores
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.