Skip to content

Workflow — Milestone lifecycle

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 milestone-lifecycle · version 1 · Draft (Draft → InReview → Published → Deprecated, BC-04)
Coordinator milestone-lifecycle-coordinator · family Lifecycle Feedback & Governance
Owner service WorkflowEngineService (BC-38) under Run Control (BC-03)
Starts on RunCompleted from RunControlService (event)
Steps 4 · gated 1 · agents 3
Budget per run 600000 tokens · cap 60.0 USD · 240 min
Descriptor workflow-definition-v1 · schema
Status target

Validates a milestone's runs, tests and evidence before release packaging: collects the runs, verifies tests and evidence, and creates the release through ReleaseService when all pass.

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(("RunCompleted"))
    collect_runs["Collect the runs"]
    verify_evidence["Verify tests and evidence"]
    all_passed{"Exit criteria met?"}
    package_release["Package the release"]
    start --> collect_runs
    collect_runs --> verify_evidence
    verify_evidence --> all_passed
    all_passed --> package_release
    done(("WorkflowRunCompleted"))
    package_release --> done
    class verify_evidence 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 Collect the runs
collect-runs
agent product-owner none read — exponential ×2 PT30M — Lists the milestone's runs with their outcomes and artifacts.
2 Verify tests and evidence
verify-evidence
agent qa-engineer evaluation read collect-runs exponential ×2 PT30M — Checks coverage, evaluation records and findings against the milestone's exit criteria.
3 Exit criteria met?
all-passed
condition engine none sandbox verify-evidence none PT1M — False ends the run with the verification as evidence. Condition: verification.passed.
4 Package the release
package-release
agent release-manager none shared-write all-passed exponential ×2 PT30M — Creates the release with its manifest through ReleaseService.

Gates and approvals

No approval is required: every step runs in the read or sandbox class; the agents' own tool calls still carry their classes (D21). 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 milestone-plan artifact-v1
out release release-manifest-v1

Starts on RunCompleted; emits ReleaseCreated, 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-02 Immutable asset releases · FR-08 Validated artifacts with lineageXL: XL-08 Evaluate before promotionFUX: FUX-10 Evaluation evidenceADRs: ADR-0014, ADR-0024 · ADR index

Definition authored 2026-10-14 from the coordinator card milestone-lifecycle-coordinator (D54); Draft until an evaluation gate (ADR-0021) and a review publish it as a BC-04 asset release.