Workflow — Generate libraries¶
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 | generate-libraries · version 1 · Draft (Draft → InReview → Published → Deprecated, BC-04) |
| Coordinator | library-scaffold-coordinator · family Blueprint & Microservice Assembly |
| Owner service | WorkflowEngineService (BC-38) under Run Control (BC-03) |
| Starts on | RecipeApproved from GenerationRecipeService (event) |
| Steps | 4 · gated 0 · agents 2 |
| Budget per run | 600000 tokens · cap 60.0 USD · 240 min |
| Descriptor | workflow-definition-v1 · schema |
| Status | target |
Scaffolds shared-kernel and client libraries from Backend Library Blueprints, implements the shared kernel, validates by build and test and records the outputs.
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(("RecipeApproved"))
scaffold_library["Scaffold the library"]
implement_kernel["Implement the shared kernel"]
build_and_test[["tool: Build and test"]]
record_outputs["Record the outputs"]
start --> scaffold_library
scaffold_library --> implement_kernel
implement_kernel --> build_and_test
build_and_test --> 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 | Scaffold the libraryscaffold-library |
agent | library-generator |
none | sandbox | — | exponential ×2 | PT30M | — | Runs the library template with the blueprint's switches in the sandbox. |
| 2 | Implement the shared kernelimplement-kernel |
agent | backend-developer |
none | sandbox | scaffold-library | exponential ×2 | PT30M | — | Types, options, registration API and extension points from the blueprint. |
| 3 | Build and testbuild-and-test |
tool | build-and-test |
none | sandbox | implement-kernel | fixed ×2 | PT30M | — | Compiles and tests in the sandbox. |
| 4 | Record the outputsrecord-outputs |
agent | library-generator |
none | sandbox | build-and-test | exponential ×2 | PT30M | — | Records the outputs with template and recipe versions. |
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 | library-blueprints | blueprint-backend-library-v1 |
| in | recipe | artifact-v1 |
| out | generated-outputs | change-set-v1 |
Starts on RecipeApproved; emits GeneratedOutputRecorded, 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 consumer · XL-15 Upgrade without breaking consumersADRs: ADR-0014, ADR-0024 · ADR index
Definition authored 2026-10-14 from the coordinator card library-scaffold-coordinator (D54); Draft until an evaluation gate (ADR-0021) and a review publish it as a BC-04 asset release.