.agents/skills/final-release-review/references/review-checklist.md
Use the release-mode, versioning, gate, documentation, and output policies in ../SKILL.md as the normative rules. This checklist supplies operational discovery and evidence checks without redefining those policies.
../scripts/find_latest_release_tag.sh origin 'v*'.origin/main, and record its exact commit.HEAD, and clean status as gate evidence. Do not substitute another checkout that shares the same Git objects.git diff --stat BASE...TARGET, git diff --dirstat=files,0 BASE...TARGET, git log --oneline --reverse BASE..TARGET, and git diff --name-status BASE...TARGET.git diff --word-diff BASE...TARGET -- <path>.Compare the diff with the released BASE contract. Use minor as the minimum for either of these conditions:
Use patch otherwise. For a final candidate, verify the intended version against the branch name, pyproject.toml, uv.lock, and built package metadata when relevant. For planning mode, do not interpret unchanged version metadata as a declared patch candidate.
Capture:
unspecified;For a materialized final candidate, read the checked-out package metadata, lockfile, and released API contract before deciding compatibility. Require the candidate branch, HEAD, intended version, contract baseline, and contract base commit to agree. Treat uncommitted release-owned files or unrelated changed paths as an inconsistent candidate rather than reviewing only the commit object.
Scan the full diff for breaking changes, regressions, dependencies, package changes, persistence, error handling, concurrency, and release-polish signals. Read changed tests as behavioral evidence, including removed assertions, new skips, and uncovered failure paths.
For each candidate:
.agents/references/README.md.| Changed surface | BASE-versus-TARGET audit |
|---|---|
| Public API | Exports, import identity, signatures, positional order, defaults, enums, and documented behavior |
| Runner and run items | Provider output, result items, stream events, session history, replay, handoffs, and RunState |
| Tool execution | Planning, approvals, guardrails, invocation, hooks, output conversion, persistence, cancellation, and cleanup |
| Conversation and sessions | First turn, follow-up, retry, filtering, handoff, compaction, interruption, and resume |
| Model/provider adapters | Settings resolution, request conversion, streaming terminals, provider data, errors, retries, and transport ownership |
| Persisted schemas/config | Serialized shape, supported versions, backward reads, usable migrations, defaults, env vars, and wire compatibility |
| Package boundary | Python support, dependencies, extras, version metadata, distribution contents, public imports, and wheel/sdist behavior |
Relevant axes include streaming/non-streaming, sync/async, fresh/resumed, client/server-managed state, success/error/cancellation, sequential/concurrent, and normal/partial/repeated cleanup.
When static inspection is insufficient, run the smallest identical BASE and TARGET public-path or installed-artifact probe. Do not run broad unit slices merely to accumulate passing evidence.
Separate a released supported-path break with no usable migration, fallback, or compatibility path from a usable path that merely lacks documentation. Only the former is a compatibility blocker.
For every risk finding or verified release consideration, capture:
Evidence: concrete BASE-versus-TARGET source, contract, artifact, test, or probe evidence.Impact: one user or runtime consequence.Files: the affected paths.Action: an exact task or validation plus its pass condition.Changed tests, missing tests, large diffs, and risky patterns are discovery signals rather than findings. If no executable unblock action exists, do not manufacture one. For a safe LOW consideration, use a release-handoff action that preserves exact compatibility, migration, opt-out, default, or version-bound wording.
Derive one row per user-facing obligation:
contract change | affected users | required migration/default/opt-out/version wording | expected docs surface
Include breaking behavior, major features, public API additions, defaults, provider/dependency bounds, durable state, and changed workflows.
gh or mutate GitHub in this repository.BASE...TARGET; report them as follow-up coverage rather than shipped content.none found.For every obligation, record:
If GitHub access is unavailable, make the follow-up suggestions provisional and state what still needs verification. Missing docs never enters the unblock checklist by itself.
When ../SKILL.md requires the minor-release draft:
## What's Changed list;HEAD and release-owned file contents were inspected and were clean. Keep the local checkout path out of copy-ready report text.