Release Prep FAQ

What is release prep?

Release prep runs a preflight checklist across your project before you publish. It coordinates specialized agents to check code quality, test coverage, security, and documentation, then produces a ReleaseReadinessReport with a go/no-go verdict.

When should I use it?

Use release prep before tagging a release, bumping a version, or uploading to PyPI. It's also useful after merging a large feature branch when you want to confirm the codebase is in a shippable state.

What checks does it run?

Four specialized agents run in parallel:

Each agent returns a ReleaseAgentResult with a score, confidence, and findings dict.

What does the final report look like?

assess_readiness() returns a ReleaseReadinessReport. The key fields are:

Call format_console_output() to print a human-readable summary, or to_dict() to serialize the report.

What's the fastest way to run it?

Instantiate ReleasePrepTeam and call assess_readiness():

from release import ReleasePrepTeam

team = ReleasePrepTeam()
report = team.assess_readiness(codebase_path=".")
print(report.format_console_output())

If you need workflow integration, use ReleasePrepTeamWorkflow.execute() instead, which accepts a path and optional context dict.

Can I customize the quality gate thresholds?

Yes. Pass a quality_gates dict to ReleasePrepTeam or ReleasePrepTeamWorkflow:

team = ReleasePrepTeam(quality_gates={"coverage": 0.90, "security": 0.95})

Each key is a gate name and the value is the minimum passing threshold. Gates with critical=True block the approved verdict if they fail.

What happens when a check needs more analysis?

ReleaseAgent uses progressive tier escalation — it starts at a cheap model tier and escalates to more capable tiers if confidence is low. The ReleaseAgentResult.escalated field tells you whether escalation occurred, and tier_used records which tier produced the final result.

How do I check what the run cost?

Call get_total_cost() on your ReleasePrepTeam instance after assess_readiness() returns. The same value is also available as ReleaseReadinessReport.total_cost.

How do I debug a failed run?

Run pytest -k "release-prep" -v first. If the tests pass but your results look wrong, inspect the findings dict on each ReleaseAgentResult in report.agent_results — each agent records its raw output there. You can also check execution_time_ms and success per agent to identify which one failed.

Where are the source files?

Tags: release, publishing, quality

Unresolved references

Auto-generated by attune-author fact-check. Review and either fix the source code, fix this doc, or add an override.

Location Severity Issue
Line 47 (code fence) error from release import … — module not importable