Release Readiness
Compare the current candidate to the last shipped tag, review the changed flows, and inspect candidate specs and mapping gaps. Use that context alongside actual test execution and your existing release criteria.
Use the last shipped tag as the baseline
npx impact-gate review --path . --since v2.1.0
npx impact-gate review --path . --since v2.1.0 --scenarios-output scenarios.json
npx impact-gate gate --threshold 80 --path . --since v2.1.0
Release comparison turns one delta into a reviewable plan
- Compare the current release candidate to the last shipped tag
- Determine which flows changed
- Review which existing specs are associated with those flows
- See where more testing or manual validation is still needed
These commands compare HEAD against its merge base with v2.1.0. When the tag is an ancestor, that is the tag itself. Invalid or ambiguous histories fail explicitly; the report must not be treated as an empty comparison.
The gate enforces spec-mapping presence, not measured behavior coverage or release approval. Partial mappings are separate, and unassessed changes fail. The Mattermost advisory pilot emits a nonblocking report and retains the existing full suite.
These docs describe the current source; the new export and recovery changes have not been published as a new npm release. Build the checkout and use node /path/to/impact-gate/dist/cli.js in place of npx impact-gate to use those changes. Lower-level impact and plan workflows below remain experimental.
When Teams Use This
Common release scenarios
- release branch vs previous stable tag
- release candidate vs last production release
- hotfix branch vs current production tag
- milestone validation before a coordinated rollout
The plan becomes a QA review packet
Teams use the written artifacts for release notes, QA sign-off, and a shared view of what changed between shipped versions.
Recommended Workflow
Run impact to inspect the raw changed families
Start with the deterministic view of what changed between the shipped release and the current candidate.
Run plan to produce run sets and gap analysis
This is the moment where the diff becomes a release-specific test plan.
Review the written artifacts with QA and release owners
Use .e2e-ai-agents/ci-summary.md and
.e2e-ai-agents/plan.json as the shared evidence layer.
Gate the release when you need an explicit threshold
Use gate for a pass/fail decision once the manifest is
trustworthy enough to enforce.
Add targeted generation only if the remaining gaps matter
AI generation should follow the plan, not replace it.
Artifacts To Review
The release-readiness path is most useful when you inspect the written artifacts, not just stdout:
.e2e-ai-agents/plan.json
Structured run sets, confidence, gaps, and decisions.
.e2e-ai-agents/ci-summary.md
Human-readable release review notes for PRs and sign-off.
.e2e-ai-agents/metrics-summary.json
Aggregated metrics for dashboards, audits, and CI reporting.
These artifacts are useful for release notes, QA sign-off, and CI reporting.
Example Release Checklist
Questions to answer before you ship
- Has every P0 or P1 impacted family been reviewed?
- Is the run set small enough to be actionable?
- Are there any
must-add-testsdecisions? - Are there changed files with no family mapping?
- Are there risky areas with low confidence?
- Do the generated or existing specs still need manual verification?
Recommended CI Pattern
Keep release readiness grounded in evidence
Use the deterministic plan on every release-candidate branch first. Then add AI generation or healing only when the route-family manifest is already reliable enough to trust. That keeps release readiness from turning into a prompt-only exercise.