Release E2E Checklist¶
Use this checklist before tagging a release to verify the local gate and release-smoke paths.
0) Pre-tag Triage¶
Use this before you tag. The release process in RELEASING is the source of truth; this checklist only narrows the local checks that prove the release is ready. If a gate fails after a fast pass, do not tag. Use Incident Runbook when a failure needs cleanup or recovery after local validation.
| Question | Inspect |
|---|---|
| "Is the release process itself current?" | RELEASING and its pre-release checklist |
| "Did the local gate produce the expected evidence?" | .agents/releases/local-ci/<timestamp>/ for SBOM, security report, and related artifacts |
"Did hooks and ao rpi smoke actually run?" |
Fast gate markers: Hook install smoke (minimal + full) and ao init --hooks + ao rpi smoke |
| "Did the release smoke path fail after a fast pass?" | Re-run bash scripts/ci-local-release.sh and inspect the failing section before tagging |
| "Was the release already tagged or partially published?" | RELEASING and Incident Runbook |
1) Fast local gate (quick confidence)¶
Run:
bash scripts/ci-local-release.sh --fast --skip-e2e-install --jobs 4
Expect:
- Exit code
0 - Output contains these markers:
Codex runtime sectionsSkill runtime parityHook install smoke (minimal + full)ao init --hooks + ao rpi smoke
Reference test: tests/integration/test-release-e2e-validation.sh.
2) Full local gate (pre-tag requirement)¶
Run:
bash scripts/ci-local-release.sh
Expect:
- Exit code
0 - Final summary contains
LOCAL CI PASSED
If the fast gate passes but this full gate fails, stop. The release is not ready to tag. Use the failing section in the full-gate output, rerun bash scripts/ci-local-release.sh until it passes, and if a tag or publish already happened, follow the failure-mode steps in RELEASING before retrying anything else.
3) Codex runtime lint (focused check)¶
Run:
bash scripts/validate-codex-runtime-sections.sh
Use this when editing Codex runtime guidance or AGENTS runtime sections.
4) Hook install + init/RPI smoke expectations¶
The local gate includes these release E2E smoke checks:
Hook install smoke (minimal + full)validates:ao hooks installao hooks showao hooks install --full --source-dir <repo-root> --force- Hook artifacts are written (
~/.claude/settings.jsonand~/.agentops/hooks/session-start.sh) ao init --hooks + ao rpi smokevalidates (in a fresh git repo):ao init --hooksao rpi statusao rpi --helpao rpi phased --help
If the fast gate passes but one of these smoke paths fails, treat the release as blocked. Inspect the corresponding gate output, then rerun the full local gate so the fix is validated end to end before tagging.
5) Parity checks when workflow/docs contracts change¶
When changing CI workflow policy, hook/runtime docs, or required gate wording, run:
bash scripts/validate-ci-policy-parity.sh
bash scripts/validate-hooks-doc-parity.sh
bash scripts/validate-skill-runtime-parity.sh
bash scripts/validate-codex-runtime-sections.sh
bash scripts/validate-codex-generated-artifacts.sh --scope worktree
bash scripts/validate-codex-backbone-prompts.sh
bash tests/docs/validate-doc-release.sh