Workflow — Infrastructure plan¶
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 | infrastructure-plan · version 1 · Draft (Draft → InReview → Published → Deprecated, BC-04) |
| Coordinator | infrastructure-planner-coordinator · family DevOps, Infrastructure & Environments |
| Owner service | WorkflowEngineService (BC-38) under Run Control (BC-03) |
| Starts on | BlueprintValidated from BlueprintService (event) |
| Steps | 5 · gated 0 · agents 2 |
| Budget per run | 600000 tokens · cap 60.0 USD · 240 min |
| Descriptor | workflow-definition-v1 · schema |
| Status | target |
Derives the Infrastructure Blueprint and the Pulumi program from the module, database, security and observability blueprints, previews it in the sandbox and records the output; nothing is applied.
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(("BlueprintValidated"))
derive_topology["Derive the topology"]
draft_blueprint["Draft the Infrastructure Blueprint"]
generate_pulumi["Generate the Pulumi program"]
preview[["tool: Preview in the sandbox"]]
record_outputs["Record the outputs"]
start --> derive_topology
derive_topology --> draft_blueprint
draft_blueprint --> generate_pulumi
generate_pulumi --> preview
preview --> record_outputs
done(("WorkflowRunCompleted"))
record_outputs --> done
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 | Derive the topologyderive-topology |
agent | infrastructure-architect |
none | read | — | exponential ×2 | PT30M | — | Chooses the deployment profile, regions, stores and pools from the blueprints and the NFR class. |
| 2 | Draft the Infrastructure Blueprintdraft-blueprint |
agent | infrastructure-architect |
none | sandbox | derive-topology | exponential ×2 | PT30M | — | Writes the Infrastructure Blueprint validated against blueprint-infrastructure-v1. |
| 3 | Generate the Pulumi programgenerate-pulumi |
agent | infrastructure-engineer |
none | sandbox | draft-blueprint | exponential ×2 | PT30M | — | Generates the program and stack configuration in the sandbox from the blueprint. |
| 4 | Preview in the sandboxpreview |
tool | shell-sandbox |
none | sandbox | generate-pulumi | fixed ×1 | PT20M | — | Runs the preview against the sandbox stack; a diff with destructive operations is a finding. |
| 5 | Record the outputsrecord-outputs |
agent | infrastructure-engineer |
none | sandbox | preview | exponential ×2 | PT30M | — | Records the blueprint and the program with lineage. |
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 | module-blueprints | blueprint-module-v1 |
| in | database-blueprint | blueprint-database-v1 |
| in | security-blueprint | blueprint-security-v1 |
| in | observability-blueprint | blueprint-observability-v1 |
| out | infrastructure-blueprint | blueprint-infrastructure-v1 |
| out | pulumi-program | change-set-v1 |
Starts on BlueprintValidated; emits GeneratedOutputRecorded, BlueprintValidated, 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-11 Compatible templates and libraries through release gatesXL: XL-09 Generation yields a usable consumerADRs: ADR-0004, ADR-0014, ADR-0017 · ADR index
Definition authored 2026-10-14 from the coordinator card infrastructure-planner-coordinator (D54); Draft until an evaluation gate (ADR-0021) and a review publish it as a BC-04 asset release.