Skip to content

Release readiness

A release process has deterministic evidence such as tests and a security scan, plus a bounded model summary. Model analysis must not override failed gates.

Dependencies keep the analysis task behind two assertions. The model can summarize only after deterministic gates pass. A pipeline consumes the final process status and declared output.

Source: examples/docs/release-readiness/workflow.yaml.

apiVersion: agentctl.dev/v1
kind: Workflow
metadata:
name: release-readiness
description: Gate bounded analysis behind deterministic release evidence.
spec:
inputs:
testsPassed: true
securityScanPassed: true
outputs:
decision: "${{ tasks.analyze.output.text }}"
providers:
fake:
kind: fake
agents:
reviewer:
provider: fake
model: scripted
instructions: Summarize only the verified release evidence.
maxTurns: 1
maxToolCalls: 0
maxOutputTokens: 64
timeoutSeconds: 5
providerOptions:
finalText: RELEASE_EVIDENCE_REVIEWED
actions:
assert:
kind: builtin.assert
tasks:
- id: verify-tests
uses: action:assert
with:
that: "${{ inputs.testsPassed }}"
message: test gate failed
- id: verify-security
uses: action:assert
needs: [verify-tests]
with:
that: "${{ inputs.securityScanPassed }}"
message: security gate failed
- id: analyze
uses: agent:reviewer
needs: [verify-tests, verify-security]
with:
prompt: Summarize the verified test and security gates.
agentctl run examples/docs/release-readiness/workflow.yaml \
--db /tmp/release-readiness.db --output json --color never

The credential-free example returns decision RELEASE_EVIDENCE_REVIEWED. Override testsPassed=false to verify that exit 4 prevents the model task from running.

The database records which gate failed and whether the analysis task started. A real workflow should pass evidence through reviewed files or typed inputs, not give the model CI credentials or authority to change release state.

The example uses the fake provider. It demonstrates graph and policy behavior, not a live model quality claim or a release approval system.

Canonical source: docs/use-cases/RELEASE_READINESS.md. Verified against agentctl commit 2aeaa88fba71162206b5f08f5bda4f0150247e4f.