Skip to content

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
Hold "Alt" / "Option" to enable pan & zoom

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 readiness
verify-readiness
agent release-manager none read — exponential ×2 PT30M — Checks SBOM, attestations, gates and the open findings of the release.
2 Promote to staging
promote-staging
agent devops-engineer none shared-write verify-readiness exponential ×2 PT30M — Requests the staging promotion through EnvironmentPromotionService.
3 Bake
bake
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 promotion
approve-production
human engine approval production bake none P7D — Approval bound to the exact release version; the decider is never the requester.
5 Promote to production
promote-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 record
verify
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.