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
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 runscollect-runs |
agent | product-owner |
none | read | — | exponential ×2 | PT30M | — | Lists the milestone's runs with their outcomes and artifacts. |
| 2 | Verify tests and evidenceverify-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 releasepackage-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.