Skip to content

ci: add security-aware Dependabot updates for Python and GitHub Actions - #3641

Open
HAYDEN-OAI wants to merge 22 commits into
mainfrom
codex/openai-python-dependabot-security-20260817
Open

ci: add security-aware Dependabot updates for Python and GitHub Actions#3641
HAYDEN-OAI wants to merge 22 commits into
mainfrom
codex/openai-python-dependabot-security-20260817

Conversation

@HAYDEN-OAI

Copy link
Copy Markdown
Contributor
  • I understand that this repository is auto-generated and my pull request may not be merged

Changes being requested

  • Add the missing repository-level Dependabot v2 configuration for the root PEP 621 Python project and GitHub Actions workflows.
  • Schedule low-noise Monday UTC updates with separate Python/Actions windows, an eight-day cooldown for routine version updates, and three/five open-PR limits; security updates remain independently eligible without that cooldown.
  • Group Python minor/patch maintenance separately from security remediations, and update coupled CodeQL init/analyze actions together while leaving unrelated SHA-pinned actions independently reviewable.
  • Avoid a duplicate uv updater: the repository installs Rye-generated requirements.lock and requirements-dev.lock, and Dependabot cannot regenerate those files. The config explicitly instructs maintainers to run rye lock --all-features and uv lock before merging any Python dependency update.

Verification

  • Parsed the YAML and validated it against the current Dependabot v2 JSON Schema.
  • Validated exact supported ecosystems, root manifest discovery, staggered weekly schedules, cooldowns, PR limits, maintenance/security group semantics, CodeQL grouping, and absence of reviewers/assignees/target-branch overrides.
  • Confirmed all eight runtime dependencies satisfy pyproject.toml across uv.lock, requirements.lock, and requirements-dev.lock; verified the existing uv lockfile is structurally valid offline.
  • Verified all 46 GitHub Actions references remain pinned to full commit SHAs and both PyPI release workflows retain isolated build/upload jobs and publishing-only OIDC.
  • python scripts/check-python-version-policy.py
  • git diff origin/main...HEAD --check

Additional context & links

Only .github/dependabot.yml is added. Rye-only development dependencies and Rye lock regeneration remain manual because Dependabot has no supported Rye ecosystem.

@HAYDEN-OAI
HAYDEN-OAI marked this pull request as ready for review August 17, 2026 22:02
@HAYDEN-OAI
HAYDEN-OAI requested a review from a team as a code owner August 17, 2026 22:02
@openai-sdks

openai-sdks Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

OkTest Summary

237/237 SDK tests passed in 11.267s for Python SDK PR #3641.

Test results — 42 files
Test Result Time
tests/chat-completions-complex-body.test.ts ✅ Passed 192ms
tests/chat-completions-create.test.ts ✅ Passed 219ms
tests/chat-completions-stream.test.ts ✅ Passed 129ms
tests/files-content-binary.test.ts ✅ Passed 227ms
tests/files-create-multipart.test.ts ✅ Passed 241ms
tests/files-list-pagination.test.ts ✅ Passed 138ms
tests/initialize-config.test.ts ✅ Passed 205ms
tests/instance-isolation.test.ts ✅ Passed 207ms
tests/models-list.test.ts ✅ Passed 205ms
tests/responses-background-lifecycle.test.ts ✅ Passed 236ms
tests/responses-body-method-errors.test.ts ✅ Passed 306ms
tests/responses-cancel-timeout.test.ts ✅ Passed 201ms
tests/responses-cancel.test.ts ✅ Passed 282ms
tests/responses-compact-retries.test.ts ✅ Passed 323ms
tests/responses-compact.test.ts ✅ Passed 218ms
tests/responses-create-advanced-stream.test.ts ✅ Passed 124ms
tests/responses-create-advanced.test.ts ✅ Passed 297ms
tests/responses-create-disconnect.test.ts ✅ Passed 1.249s
tests/responses-create-errors.test.ts ✅ Passed 185ms
tests/responses-create-malformed-api-responses.test.ts ✅ Passed 272ms
tests/responses-create-retries.test.ts ✅ Passed 306ms
tests/responses-create-stream-failures.test.ts ✅ Passed 142ms
tests/responses-create-stream-timeout.test.ts ✅ Passed 231ms
tests/responses-create-stream-wire.test.ts ✅ Passed 3.623s
tests/responses-create-stream.test.ts ✅ Passed 285ms
tests/responses-create-terminal-states.test.ts ✅ Passed 243ms
tests/responses-create-timeout.test.ts ✅ Passed 203ms
tests/responses-create.test.ts ✅ Passed 271ms
tests/responses-delete.test.ts ✅ Passed 209ms
tests/responses-input-items-errors.test.ts ✅ Passed 446ms
tests/responses-input-items-list.test.ts ✅ Passed 305ms
tests/responses-input-items-options.test.ts ✅ Passed 322ms
tests/responses-input-tokens-count-timeout.test.ts ✅ Passed 245ms
tests/responses-input-tokens-count.test.ts ✅ Passed 275ms
tests/responses-malformed-inputs.test.ts ✅ Passed 2.758s
tests/responses-not-found-errors.test.ts ✅ Passed 262ms
tests/responses-parse.test.ts ✅ Passed 368ms
tests/responses-retrieve-retries.test.ts ✅ Passed 280ms
tests/responses-retrieve.test.ts ✅ Passed 224ms
tests/responses-stored-method-errors.test.ts ✅ Passed 607ms
tests/retry-behavior.test.ts ✅ Passed 3.26s
tests/sdk-error-shape.test.ts ✅ Passed 269ms

View OkTest run #32307390158

SDK merge (23ba0a7f7681) · head (eb134b8c2fea) · base (753ab5c1a81c) · OkTest (2b1bdfd25e98)

@jbeckwith-oai jbeckwith-oai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The configuration is schema-valid, but its Python updater does not own the dependency state committed and exercised by this repository, and the Actions policy cannot deliver the claimed prompt security path for SHA pins.

Comment thread .github/dependabot.yml Outdated
Comment thread .github/dependabot.yml

@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: 4688d3b821

ℹ️ 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 uv.lock Outdated

@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: 253692aa31

ℹ️ 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 .github/workflows/ci.yml Outdated

@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: 86b9b626e6

ℹ️ 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 .github/workflows/ci.yml Outdated

@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: 6af5be9bb1

ℹ️ 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 .github/workflows/ci.yml Outdated
Comment thread .github/workflows/ci.yml
Comment thread .github/dependabot.yml

@jbeckwith-oai jbeckwith-oai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Independent two-pass review confirms the three existing unresolved exact-head discussions need resolution; no duplicate inline comments are necessary. (1) Validate actual uv.lock sdist and wheel artifact URL origins, not registry labels alone. (2) Apply the same provenance validation before dependency installation in the separate breaking-change workflow. (3) Ensure security updates to direct dependencies raise published vulnerable minimum-version floors when necessary, without indiscriminately raising routine compatibility floors. These are P2 integrity and published-policy gaps; the restricted fork execution context does not justify a privileged-RCE claim. The previous unsupported Rye/pip updater issue is fixed.

@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: 70d1ffaccc

ℹ️ 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 .github/workflows/ci.yml Outdated
Comment thread .github/workflows/ci.yml Outdated
Comment thread .github/workflows/ci.yml Outdated

@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: 3e188b8afc

ℹ️ 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 .github/workflows/ci.yml Outdated
Comment thread .github/workflows/ci.yml Outdated

@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: 0b3f84b54a

ℹ️ 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 .github/workflows/ci.yml Outdated

@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: d5e8f30a99

ℹ️ 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 .github/workflows/ci.yml
Comment thread .github/workflows/ci.yml Outdated

@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: 05d1c29274

ℹ️ 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 .github/workflows/ci.yml Outdated
Comment thread .github/workflows/ci.yml Outdated

@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: 2a4d89e773

ℹ️ 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 .github/workflows/ci.yml Outdated
Comment thread .github/workflows/ci.yml Outdated
Comment thread .github/workflows/ci.yml

@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: dd2e769921

ℹ️ 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 .github/workflows/ci.yml

@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: 386075362f

ℹ️ 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 .github/workflows/ci.yml

@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: 27b0b83dd2

ℹ️ 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 .github/workflows/ci.yml Outdated

@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: 2b1612016f

ℹ️ 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 .github/workflows/ci.yml Outdated

@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: 4d25ed82e7

ℹ️ 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 .github/workflows/ci.yml

@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: f1f729e896

ℹ️ 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 .github/workflows/detect-breaking-changes.yml Outdated
Comment thread .github/workflows/ci.yml

@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: eb134b8c2f

ℹ️ 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 .github/workflows/ci.yml
Comment on lines +566 to +567
if previous == requirements:
raise SystemExit("Raise the published security-fixed minimum for " + name)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Preserve unaffected major-version lock branches

When a security advisory affects only Pydantic 2, the current lock can upgrade 2.12.5 to 2.12.6 while retaining the supported 1.10.26 branch and the published pydantic>=1.10.13,<3 requirement. Because that requirement is unchanged, this branch unconditionally rejects the security PR; raising its single floor to 2.12.6 would instead remove advertised Pydantic 1 support. Unlike the previously addressed Python-marker case, these two versions occupy the same resolution domains, so the guard must associate a patch with the affected bounded version branch rather than demanding one global published floor.

AGENTS.md reference: AGENTS.md:L21-L24

Useful? React with 👍 / 👎.

Comment thread .github/workflows/ci.yml
env:
BASE_SHA: ${{ github.event.pull_request.base.sha }}
run: |
python - <<'PY'

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Extract the security policy from workflow YAML

This heredoc embeds roughly 560 lines of handwritten dependency-policy code directly in the workflow, while the provenance policy is separately duplicated across three jobs and the accompanying regression file grows by about 2,800 lines. That makes ordinary security-policy changes require synchronized edits across YAML text and extractor-based tests instead of a small reusable, directly testable module, contrary to the repository's explicit requirement that handwritten policy, automation, and tests remain small. Move these checks into a compact stdlib-only script invoked by the workflows.

AGENTS.md reference: AGENTS.md:L5-L8

Useful? React with 👍 / 👎.

env:
UV_NO_BINARY_PACKAGE: 'openai openai-agents'
run: |
reviewed_sources="$(python -c 'import pathlib, re, subprocess, tomllib; origin = subprocess.check_output(["git", "remote", "get-url", "origin"], text=True).strip(); assert origin in {"https://github.com/openai/openai-agents-python", "https://github.com/openai/openai-agents-python.git"}, "Use only the immutable reviewed Agents source distributions"; trusted = tomllib.loads(subprocess.check_output(["git", "show", "HEAD:uv.lock"], text=True)); current = tomllib.loads(pathlib.Path("uv.lock").read_text()); canonical = lambda value: re.sub(r"[-_.]+", "-", value).lower(); reviewed = {"aiohttp": ("3.12.15", "https://files.pythonhosted.org/packages/9b/e7/d92a237d8802ca88483906c388f7c201bbe96cd80a165ffd0ac2f6a8d59f/aiohttp-3.12.15.tar.gz", "sha256:4fc61385e9c98d72fcdf47e6dd81833f47b2f77c114c29cd64a361be57a763a2"), "markupsafe": ("3.0.2", "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0"), "pyyaml": ("6.0.2", "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"), "evdev": ("1.9.2", "https://files.pythonhosted.org/packages/63/fe/a17c106a1f4061ce83f04d14bcedcfb2c38c7793ea56bfb906a6fadae8cb/evdev-1.9.2.tar.gz", "sha256:5d3278892ce1f92a74d6bf888cc8525d9f68af85dbe336c95d1c87fb8f423069")}; public = {"registry": "https://pypi.org/simple"}; approved = {name: [entry for entry in trusted["package"] if canonical(entry.get("name", "")) == name] for name in reviewed}; actual = {name: [entry for entry in current["package"] if canonical(entry.get("name", "")) == name] for name in reviewed}; safe = lambda artifact: isinstance(artifact, dict) and re.fullmatch(r"https://files\.pythonhosted\.org/packages/[^\s?#]+", artifact.get("url", "")) and re.fullmatch(r"sha256:[0-9a-f]{64}", artifact.get("hash", "")); assert all(len(approved[name]) == 1 and approved[name][0].get("version") == version and approved[name][0].get("source") == public and isinstance(approved[name][0].get("sdist"), dict) and approved[name][0]["sdist"].get("url") == url and approved[name][0]["sdist"].get("hash") == digest for name, (version, url, digest) in reviewed.items()), "Use only the immutable reviewed Agents source distributions"; assert all(len(actual[name]) <= 1 and (not actual[name] or actual[name][0].get("source") == public and (actual[name][0].get("version") == version and actual[name][0].get("sdist") == approved[name][0].get("sdist") or actual[name][0].get("version") != version and isinstance(wheels := actual[name][0].get("wheels"), list) and bool(wheels) and all(safe(artifact) for artifact in ([actual[name][0]["sdist"]] if "sdist" in actual[name][0] else []) + wheels) and all(wheel["url"].endswith(".whl") for wheel in wheels))) for name, (version, _, _) in reviewed.items()), "Use only the immutable reviewed Agents source distributions"; print(" ".join(name for name, (version, _, _) in reviewed.items() if actual[name] and actual[name][0].get("version") == version and actual[name][0].get("sdist") == approved[name][0].get("sdist")))')"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Pin the Agents checkout used by the artifact allowlist

This allowlist requires the checked-out Agents repository's HEAD:uv.lock to retain four exact versions and hashes, but that repository is checked out from its moving default branch without a ref. As soon as the Agents SDK routinely updates any of aiohttp, markupsafe, pyyaml, or evdev, every openai-python pull request deterministically fails this assertion until this repository's hard-coded tuple is updated, even if the new dependency has a compatible public wheel. Pin the Agents checkout to the reviewed commit represented by this allowlist, or version the allowlist with an explicitly reviewed checkout update.

AGENTS.md reference: AGENTS.md:L21-L24

Useful? React with 👍 / 👎.

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.

2 participants