Skip to content

fix: keep consumer fixtures clean under strict Pyright - #4204

Merged
jbeckwith-oai merged 2 commits into
mainfrom
codex/fix-python-compatibility-gate
Oct 28, 2026
Merged

jbeckwith-oai merged 2 commits into
mainfrom
codex/fix-python-compatibility-gate

Conversation

@marcuswood-oai

@marcuswood-oai marcuswood-oai commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

The release check on #4195 reported four missing type arguments in the sync and async bare-container response tests. Those tests intentionally use bare dict and list annotations to cover response deserialization. Keep the annotations and add a rule-specific Pyright ignore on each field.

Run strict Pyright on the current caller fixtures before they become the next baseline. When both the test tree and files outside the tests and gate script change, also run the base revision’s tests and helpers against the candidate SDK. Identical fixtures need only one run. Repository development continues to use ty.

Verification

  • The repaired fixtures pass the full Pyright compatibility project with zero diagnostics. Both bare-container runtime tests and all three gate routing cases pass.
  • Removing one of the four ignores in an isolated checkout fails the current-caller check with one missing-type-argument error.
  • In a separate probe, requiring a new keyword argument on sync and async is_closed() and adapting the current fixtures produced zero current-caller errors. The gate exited 1 on the ten calls from the previous revision.
  • A compatible change passed both caller checks. Repository lint, ty, and removed-symbol detection passed.

After this lands, refresh #4195 against the updated base.

@marcuswood-oai
marcuswood-oai requested a review from a team as a code owner October 28, 2026 20:58
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-28T21:34:52.624724Z 5336870 New commits
🔒 Security Review ✅ Completed 2026-10-28T21:34:54.349577Z 5336870 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@marcuswood-oai
marcuswood-oai force-pushed the codex/fix-python-compatibility-gate branch from 9bdcf2f to 9e2f126 Compare October 28, 2026 21:10
@marcuswood-oai marcuswood-oai changed the title fix: allow bare generic fixtures in compatibility checks fix: compare consumer type diagnostics against the baseline Oct 28, 2026
@marcuswood-oai marcuswood-oai changed the title fix: compare consumer type diagnostics against the baseline fix: keep consumer fixtures clean under strict Pyright Oct 28, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5336870aec

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread scripts/detect-breaking-changes
@jbeckwith-oai
jbeckwith-oai merged commit 5012565 into main Oct 28, 2026
26 checks passed
@jbeckwith-oai
jbeckwith-oai deleted the codex/fix-python-compatibility-gate branch October 28, 2026 22:14
@openai-sdks openai-sdks Bot mentioned this pull request Oct 28, 2026
gh-actions-shared Bot pushed a commit to xf-qubit/openai-python that referenced this pull request Oct 28, 2026
Automated Release PR
---


##
[3.41.0](openai/openai-python@v3.40.0...v3.41.0)
(2026-10-28)


### Features

* **api:** accept typed references in Realtime response inputs
([openai#4189](openai#4189))
([8ecb487](openai@8ecb487))
* **api:** add response tool usage models
([openai#4201](openai#4201))
([55fc500](openai@55fc500))
* **api:** filter agent sessions by metadata
([openai#4200](openai#4200))
([77fd116](openai@77fd116))
* **websocket:** recover queued binary frames after reconnect
([openai#4191](openai#4191))
([f079868](openai@f079868))


### Bug Fixes

* **examples:** detect incomplete WebSocket responses
([openai#4187](openai#4187))
([8559299](openai@8559299))
* **examples:** handle interruptions and disconnects in push-to-talk
([openai#4192](openai#4192))
([35fc9f3](openai@35fc9f3))
* keep consumer fixtures clean under strict Pyright
([openai#4204](openai#4204))
([5012565](openai@5012565))


### Chores

* **api:** document upcoming model shutdowns
([openai#4199](openai#4199))
([5b43cce](openai@5b43cce))
* **api:** update image-model documentation
([openai#4198](openai#4198))
([fa67521](openai@fa67521))
* enforce generated-file ownership
([openai#4193](openai#4193))
([1b37b9a](openai@1b37b9a))
* migrate development type checking to ty
([openai#4202](openai#4202))
([45b9531](openai@45b9531))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: openai-sdks[bot] <284451331+openai-sdks[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants