Skip to main content

Release-Coverage Advisor

Before you can ask "is this release ready?" you have to know what a release should even test. The Release-Coverage Advisor answers that: point it at a project (a release) and it tells you the test coverage each of its surfaces should have — and which of those checks are actually buildable right now.

It is read-only and deterministic. It creates nothing, runs nothing, and produces no verdict — it's purely the planning step, upstream of building tests and of readiness scoring.

What it does

For every surface under the project — an (app × environment × target) — it recommends coverage keyed by the target's type:

SurfaceRecommended coverage
REST service with an OpenAPI specAPI contract · performance smoke · security sweep
REST service without a spec(blocked — add a swagger path)
Web appUI flow · crawl
Network / IP / hostnamesecurity sweep

Each recommended item comes back marked ready (buildable now) or with human-readable blockers — e.g. "no OpenAPI spec", "app requires auth but no credential resolves in this environment". Apps in the project that have no target to test show up under gaps.

What makes a REST surface "ready" for API contract testing: the application's swaggerPath resolves to a reachable OpenAPI spec (the advisor uses the same resolver the generator does). Set the swagger path on the application — not just the target — so API_CONTRACT reports ready.

Using it

MCP:

recommend_release_coverage(project="User Management Platform")
recommend_release_coverage(project="User Management Platform", environment="staging")

REST:

GET /api/projects/{projectId}/release-coverage
GET /api/projects/{projectId}/release-coverage?environmentId={envId}

Example response (trimmed):

{
"projectName": "User Management Platform",
"surfaces": [
{
"app": "user-service",
"environmentName": "development",
"targetType": "REST_SERVICE",
"recommended": [
{ "kind": "API_CONTRACT", "ready": true, "blockers": [] },
{ "kind": "PERF_SMOKE", "ready": true, "blockers": [] },
{ "kind": "SECURITY_SWEEP","ready": true, "blockers": [] }
]
}
],
"gaps": [],
"summary": "1 surface(s) · 3 recommended check(s) · 0 blocked · 0 gap(s)"
}

From plan to tests

A ready item maps directly to the generator that builds it:

Recommended kindBuild it with
API_CONTRACTcreate_scenario_from_swagger
PERF_SMOKEconvert_api_to_performance_scenario
UI_FLOW / CRAWLcrawl_by_target → then a UI test
SECURITY_SWEEPa security scan

Once the recommended coverage is built and run, use readiness scoring (see How Scoring Works) to judge whether the release is ready to ship.

note

The advisor is a snapshot of what the release should test, taken when you ask. If the app's surfaces change later, re-run it to reconcile — it won't silently mutate a plan underneath you.