Workflow — Release promotion¶
Generated from the architecture model
This page is rendered from model/**/*.yaml by tools/docs_model during mkdocs build. Edit the YAML, not this page; hand-written design lives on the linked service, platform and plane pages.
| Workflow id | release · version 1 · Draft (Draft → InReview → Published → Deprecated, BC-04) |
| Coordinator | release-coordinator · family Lifecycle Feedback & Governance |
| Owner service | WorkflowEngineService (BC-38) under Run Control (BC-03) |
| Starts on | ReleaseReady from ReleaseService (event) |
| Steps | 6 · gated 1 · agents 3 |
| Budget per run | 600000 tokens · cap 60.0 USD · 240 min |
| Descriptor | workflow-definition-v1 · schema |
| Status | target |
Promotes a milestone-validated release through the environments: verifies readiness, promotes to staging, bakes against the guards, waits for the production approval, promotes and verifies; a failed verification requests the rollback.
Authored design, Draft (D54, D57)
These definitions were authored on 2026-10-14 from the coordinator cards as design assumptions. None is published, evaluated or has run; agents are named by id as design bindings, not as tested integrations.
Definition¶
flowchart TD
start(("ReleaseReady"))
verify_readiness["Verify readiness"]
promote_staging["Promote to staging"]
bake(("Bake"))
approve_production(["Approve the production promotion"])
promote_production["Promote to production"]
verify["Verify and record"]
start --> verify_readiness
verify_readiness --> promote_staging
promote_staging --> bake
bake --> approve_production
approve_production --> promote_production
promote_production --> verify
done(("WorkflowRunCompleted"))
verify --> done
class approve_production gated
classDef gated stroke:#B45309,stroke-width:2px
Shapes: rectangle = agent attempt · double rectangle = tool call · stadium = human decision · diamond = condition evaluated by the engine · parallelogram = fan-out or join · circle = timer · cylinder = sub-workflow · flag = compensation. A thick amber border marks a gated step.
Steps¶
| # | Step | Kind | Runs | Gate | Class | Depends on | Retry | Timeout | Compensation | What it does |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Verify readinessverify-readiness |
agent | release-manager |
none | read | — | exponential ×2 | PT30M | — | Checks SBOM, attestations, gates and the open findings of the release. |
| 2 | Promote to stagingpromote-staging |
agent | devops-engineer |
none | shared-write | verify-readiness | exponential ×2 | PT30M | — | Requests the staging promotion through EnvironmentPromotionService. |
| 3 | Bakebake |
timer | engine | none | sandbox | promote-staging | none | PT2H | — | Waits the bake window while the SLO guards are evaluated; a breach fails the run. |
| 4 | Approve the production promotionapprove-production |
human | engine | approval | production | bake | none | P7D | — | Approval bound to the exact release version; the decider is never the requester. |
| 5 | Promote to productionpromote-production |
agent | deployment-orchestrator |
none | production | approve-production | none | PT30M | request the rollback to the previous release and record the incident link | Requests the production promotion; the promotion saga applies and verifies. |
| 6 | Verify and recordverify |
agent | release-manager |
none | read | promote-production | exponential ×2 | PT30M | — | Verifies health and smoke results and records the promotion evidence. |
Gates and approvals¶
- production: the promotion into a production environment, bound to the exact release version (D21); the decider is never the requester Compensation steps run in reverse order of the succeeded steps on failure after the last checkpoint; a step without a compensation leaves its sandbox output in place and the run ends Failed with the evidence (ADR-0014, recovery not replay).
Inputs, outputs and events¶
| Direction | Name | Descriptor |
|---|---|---|
| in | release | release-manifest-v1 |
| out | promotion-evidence | artifact-v1 |
Starts on ReleaseReady; emits PromotionRequested, plus the engine's WorkflowRunStarted, StepReady, StepRunStateChanged and WorkflowRunCompleted / WorkflowRunFailed and Run Control's run and attempt events (ADR-0014).
Decisions and traceability¶
FR: FR-05 Governed tool boundary · FR-06 Exact-version approvals · FR-10 RecoveryXL: XL-10 Controlled repository change · XL-11 Generated product accepted into operationFUX: FUX-05 Exact-version human decisionsADRs: ADR-0014, ADR-0017 · ADR index
Definition authored 2026-10-14 from the coordinator card release-coordinator (D54); Draft until an evaluation gate (ADR-0021) and a review publish it as a BC-04 asset release.