Run the required final formatting, lint, type, and test checks after eligible SDK changes pass review.
日本語の概要は準備中です。原文の説明を表示しています。
Assess a Python SDK release candidate or release plan against the previous release and recommend ship or block.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Audit BASE_TAG...TARGET in one of two modes:
origin/main, does not yet declare a release candidate. The user may still supply a tentative patch or minor intent. Recommend the compatible type; do not treat unchanged package metadata as a blocker.In both modes, find concrete regressions and release risks, independently determine version compatibility, review the latest open documentation PRs before claiming coverage is missing, and produce an actionable release handoff. Keep documentation readiness separate from the release gate. The release call is a controlling checker result: callers must stop on BLOCKED and may continue only on GREEN LIGHT TO SHIP. Producing the report text is not itself a passing result.
For normal releases, invoke $final-release-review with the release PR URL or number.
Release Please owns version/changelog updates, its PR branch, tags, and GitHub Releases.
Do not invoke $release-candidate-prep, bump versions, create a competing release branch,
or create tags/releases for this route. The manual skill is an explicitly requested fallback.
release-please--branches--main PR targeting main. Record its full
head SHA, current main SHA, intended version, and latest release tag.OPENAI_API_KEY, GH_TOKEN, and GITHUB_TOKEN from candidate build/test processes.
No live OpenAI API calls or API key are needed for this review.Release readiness from this prerequisite: its missing-human-approval
failure is expected until step 6. Other readiness failures still require investigation. If the snapshot still names the previous version, preparation is not
finished: report the relevant run/check and stop before issuing an approval handoff.
Require the candidate to contain current main, with only release-owned metadata changes.
Verify package, lockfile, Release Please manifest, source version, and API baseline agree.
For a bot PR, baseline_commit identifies the source used to generate the snapshot;
require it to be an ancestor of the candidate. Do not require it to equal the last
commit's parent: unchanged snapshots may survive metadata-only refreshes.Release readiness result is the sole exception), a stale/unprepared candidate, or a blocked
semantic review. Explain the concrete next action instead.Approve local release review <full candidate SHA>, a blank line,
and the complete final report with Key Changes. Keep the body within 60,000 characters.
The maintainer must read and accept the report, then select Approve in the PR's
Files changed -> Review changes UI and paste the body. Never submit that review
yourself. A plain comment or generic approval does not satisfy release readiness.
If the UI is showing a different head, stop and repeat the review against that head.The native human review is the authorization, not proof that a particular AI or skill ran.
Release readiness rechecks on review submission, edit, or dismissal and on candidate
updates. A new head needs a new approval body. Normal CODEOWNERS and repository review
rules still apply. After merge, Release Please creates the tag/GitHub Release; the publisher
rechecks the human review and candidate/merged-tree identity before uploading. The report
is also appended to the GitHub Release, so review its public wording before approving.
openai-agents-python. When a caller supplies a dedicated candidate worktree, run every local inspection from that worktree rather than another checkout of the repository.BASE_TAG="$(.agents/skills/final-release-review/scripts/find_latest_release_tag.sh origin 'v*')"
origin/main:
git fetch origin main --prune
TARGET="$(git rev-parse origin/main)"
patch/minor intent.unspecified.unspecified, ask for the intended type or version before issuing a final-candidate gate. If the user prefers an uninterrupted review, switch to pre-release planning and make a recommendation instead.git diff --stat "${BASE_TAG}"..."${TARGET}"
git diff --dirstat=files,0 "${BASE_TAG}"..."${TARGET}"
git log --oneline --reverse "${BASE_TAG}".."${TARGET}"
git diff --name-status "${BASE_TAG}"..."${TARGET}"
references/review-checklist.md, determine the minimum release type, and prove or dismiss each candidate against the released contract.For a final candidate reviewed as TARGET=HEAD, also require HEAD to be the exact target in the candidate checkout, inspect the checked-out branch and release-owned files directly, and keep working-tree changes outside the commit from being mistaken for reviewed candidate content.
patch.minor for a breaking change to a non-beta public contract or for a major feature addition. Reserve major versions until 1.0.| Mode | Intended release | Minimum required | Verdict |
|---|---|---|---|
| planning | unspecified | either | recommend the minimum type |
| planning | patch | patch | compatible plan |
| planning | minor | patch or minor | compatible plan; say when minor is optional |
| planning | patch | minor | recommend changing the plan to minor; do not block the unreleased target |
| candidate | patch | patch | compatible |
| candidate | minor | patch or minor | compatible; say when minor is optional |
| candidate | patch | minor | under-versioned and blocking |
Recommended release type: patch|minor, even when the user supplied a tentative intent. Do not require pyproject.toml or uv.lock to already contain the next version; the release workflow owns that later bump.BASE_TAG...TARGET.patch release when the diff requires minor, or inconsistent candidate version metadata.In final-candidate mode, when the caller provides a dedicated checkout or worktree:
HEAD, and clean status before auditing. Do not switch to a different checkout that happens to share the same Git object database.TARGET=HEAD to resolve to the checked-out commit. For a manual release, treat detached HEAD or a mismatched release branch as candidate inconsistency. For a Release Please PR, a detached checkout at its exact head is expected. In both routes reject uncommitted release-owned files or unrelated changed paths.pyproject.toml, uv.lock, .release-please-manifest.json, src/agents/version.py, and tests/fixtures/released_api_contract.json from that checkout. Verify the intended version, editable openai-agents lock entry, root Release Please manifest version, literal source fallback, contract baseline, and contract baseline_commit against the release branch and commit parent for a manual candidate, or the recorded ancestor source for a bot candidate.These checks make the final-candidate review a release gate. The report remains the human-readable evidence and PR-description source for a green result; it does not replace the checks.
.agents/references/README.md and trace required consumers and symmetry axes.Evidence, Impact, Files, and Action for every risk item. Do not manufacture test or code work for a safe release consideration.gh in this repository and never mutate GitHub.covered, partially covered, not covered, stale/conflicting, or unverified.unverified, explain the search limitation, and do not claim that no docs PR exists.partially covered, not covered, stale/conflicting, and unverified cases, suggest the exact post-release file, section, example or claim, and migration wording. Mark suggestions provisional when coverage is unverified.Include a copy-ready Key Changes draft whenever the intended release is minor or pre-release planning recommends minor. Omit it for patch releases unless the user requests it.
Derive the draft from verified user-facing contracts, not raw commit counts or directory summaries.
Follow the established GitHub release format:
## Key Changes
<One concise paragraph stating why this is a minor release and whether it contains breaking changes.>
### Highlights:
- <Three to seven user-facing highlights grouped by theme.>
Put breaking behavior and the supported migration or fallback first. If the minor bump is for major features without a break, say so explicitly.
Cover the major release themes without reproducing the full ## What's Changed list. Preserve exact public names, defaults, version bounds, opt-outs, and compatibility qualifiers.
Link to published documentation when it already exists. When documentation is only in an open PR, do not publish an unstable branch link; keep the wording self-contained and mention the docs PR separately in Documentation coverage.
Produce the draft even when the release is blocked, but do not let polished release copy hide the blocker.
Produce the report in English using this structure and the repository's AGENTS.md section "GitHub-ready Output". Deliver the entire report, including any Key Changes draft, inside one copyable markdown code block by default; the template below is the literal content of that block. Honor an explicit request for raw text without fences.
Inside the report, use the fixed compare URL https://github.com/openai/openai-agents-python/compare/<tag>...<target-commit> as a bare URL. Use native GitHub references such as #123 for documentation and version PRs. Do not create Markdown links or wrap an already rendered link again. Use repository-relative paths in inline code for file evidence, never absolute local paths or local-file links. If the user requests no file paths, use affected component or documentation section names, including in the risk fields. Keep host-specific citations and annotations outside the report's code block.
Before sending, check the copyable source for one intact compare URL, native PR references, portable file evidence, and absence of nested link wrappers or host-specific markup. Preserve the review's original evidence and scope when only correcting its formatting.
### Release readiness review (<tag> -> TARGET <ref>)
This is a release readiness report done by `$final-release-review` skill.
### Diff
https://github.com/openai/openai-agents-python/compare/<tag>...<target-commit>
### Release intent
- Review mode: <pre-release planning | final candidate>
- Intended release: <patch/minor intent, with version when known, or unspecified in planning mode>
- Minimum required release type: <patch | minor>
- Recommended release type: <patch | minor; include in planning mode only>
- Versioning verdict: <compatible | compatible plan | recommendation only | revise plan to minor | under-versioned>
### Release call
**<🟢 GREEN LIGHT TO SHIP | 🔴 BLOCKED>** <one-line rationale>
### Scope summary
- <N files changed (+A/-D); key areas touched: ...>
### Risk assessment (ordered by impact)
1. **<Finding or release consideration title>**
- Risk: **<🟢 LOW | 🟡 MODERATE | 🔴 HIGH>**. <Impact statement.>
- Evidence: <specific BASE-versus-TARGET evidence>
- Files: <repository-relative paths, or affected components when paths are excluded>
- Action: <next step and pass condition>
### Documentation coverage (non-blocking)
- Coverage source: <native PR reference and head SHA, multiple PRs, none found after a successful search, or search unavailable/partial>
- Status: <covered | partially covered | not covered | stale/conflicting | unverified>
- Covered obligations: <concise list or none>
- Gaps or post-release suggestions: <exact files/sections/claims, or none>
- Publication timing: <merge after release if the docs describe unreleased behavior, or not applicable>
### Unblock checklist
1. [ ] <required only when blocked>
- Exit criteria: <what must be true>
### Key Changes draft
<Include the copy-ready `## Key Changes` block only for an intended or recommended minor release.>
### Notes
- <Material assumptions only>
Unblock checklist when the release is green.Key Changes draft for patch releases unless requested.scripts/find_latest_release_tag.sh: refresh remote tags and return the newest matching release tag.references/review-checklist.md: detailed discovery signals, release-intent checks, docs-coverage review, and evidence requirements.まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Run the required final formatting, lint, type, and test checks after eligible SDK changes pass review.
日本語の概要は準備中です。原文の説明を表示しています。
Fix the tiny credit-note formatting bug and rerun the exact targeted test command.
日本語の概要は準備中です。原文の説明を表示しています。
Analyze CSV files in /mnt/data and return concise numeric summaries.
日本語の概要は準備中です。原文の説明を表示しています。
Audit or update English SDK documentation against the requested implementation scope.
日本語の概要は準備中です。原文の説明を表示しています。
Analyze logs and source from a completed manual examples run. Never execute or control examples.
日本語の概要は準備中です。原文の説明を表示しています。
Review completed implementation changes before final verification. Use when repository policy requires independent review or the user explicitly requests it.
日本語の概要は準備中です。原文の説明を表示しています。