Documentation / Build
Define a workflow
A workflow names the steps, their dependencies and the services that run them.
A small, complete definition
JSON
{
"name": "hello-docs",
"version": "1.0.0",
"default_group": "python-standard",
"phases": {
"start": {
"requires": [],
"service": "hello",
"scope": "root",
"mode": "sync_lambda"
},
"finish": {
"requires": [
"start"
],
"service": "hello",
"scope": "fan_in_all",
"terminal": true,
"mode": "sync_lambda"
}
}
}YAML
name: hello-docs
version: 1.0.0
default_group: python-standard
phases:
start:
requires: []
service: hello
scope: root
mode: sync_lambda
finish:
requires:
- start
service: hello
scope: fan_in_all
terminal: true
mode: sync_lambdaThe important fields
| Field | Meaning |
|---|---|
service | The handler name to resolve. |
requires | Phases that must finish first. |
default_group / group | The installed runtime group; override it per phase when needed. |
scope | root, per_shard or fan_in_all. |
terminal | Marks an expected completion phase. |
Outcomes and rework
Handlers return completed or a declared named outcome. Route rework with rerun_phase and max_loops.
Rework exhaustion can advance the flow. Use an explicit review/failure path when publication must stay blocked.
Runtime groups & worker slices
Phases run in installed runtime groups. Worker memory sets handler slice limits, timeouts and proportional CPU (1,769 MiB = 1 vCPU; slices share container vCPUs without cgroup throttling).
| Family | Worker | Handler slice | Timeout |
|---|---|---|---|
*-light | 512 MiB | 240–288 MiB | 30s |
*-standard | 1,024–2,048 MiB | 608–1,280 MiB | 120s |
*-heavy | 4,096 MiB | 2,816–3,072 MiB | 300s |
Per-phase memory overrides are rejected; profile locally with rippflow test --profile. For workloads exceeding 3,072 MiB or requiring custom VPC/IAM, use synchronous Lambda (up to 10 GiB, 15m) or asynchronous jobs via callbacks.
Runtimes & resources guide → · Internal memory & slice contract (GitHub) ↗
Workflow YAML or rippflow.yaml?
A workflow YAML file defines phases. rippflow.yaml is an application project file pointing to workflows, handlers, artifacts and a catalog. They are different inputs.
Verified sources
Checked 2026-11-05.
- Accepted workflow schema 7f5ea32 · main
- Project YAML versus workflow definitions 7f5ea32 · main
- Execution and outcome routing 04cb082 · main
