Skip to content

Workflow — Delivery run

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 delivery-run · version 1 · Draft (Draft → InReview → Published → Deprecated, BC-04)
Coordinator devops-agent-coordinator · family DevOps, Infrastructure & Environments
Owner service WorkflowEngineService (BC-38) under Run Control (BC-03)
Starts on PipelineRunCompleted from PipelineExecutionService (event)
Steps 5 · gated 1 · agents 2
Budget per run 600000 tokens · cap 60.0 USD · 240 min
Descriptor workflow-definition-v1 · schema
Status target

Evaluates a completed pipeline run's typed results, prepares the release manifest and requests the promotion; a production promotion waits for its approval. Deployment is a promotion, never a pipeline stage.

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(("PipelineRunCompleted"))
    evaluate_results["Evaluate the results"]
    gates_passed{"All gates passed?"}
    prepare_release["Prepare the release"]
    request_promotion["Request the promotion"]
    approve_production(["Approve a production promotion"])
    start --> evaluate_results
    evaluate_results --> gates_passed
    gates_passed --> prepare_release
    prepare_release --> request_promotion
    request_promotion --> approve_production
    done(("WorkflowRunCompleted"))
    approve_production --> 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 Evaluate the results
evaluate-results
agent devops-engineer none read — exponential ×2 PT30M — Reads tests, scans and quality gates as typed results and names the blocking failures.
2 All gates passed?
gates-passed
condition engine none sandbox evaluate-results none PT1M — False fails the run with the evaluation as evidence. Condition: evaluation.blocking == 0.
3 Prepare the release
prepare-release
agent deployment-orchestrator none sandbox gates-passed exponential ×2 PT30M — Assembles the release manifest with SBOM and attestations through ReleaseService.
4 Request the promotion
request-promotion
agent deployment-orchestrator none shared-write prepare-release exponential ×2 PT30M — Requests the promotion of the release to the next environment through EnvironmentPromotionService.
5 Approve a production promotion
approve-production
human engine approval production request-promotion none P7D — Only when the target is production: approval bound to the exact release version by a decider who is not the requester. Condition: promotion.target.isProduction.

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 pipeline-results artifact-v1
out release-manifest release-manifest-v1

Starts on PipelineRunCompleted; emits PromotionRequested, ReleaseReady, 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 approvalsXL: 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 devops-agent-coordinator (D54); Draft until an evaluation gate (ADR-0021) and a review publish it as a BC-04 asset release.