Starflow
Starflow (sf) is the workflow graph execution engine. It runs YAML-
defined pipelines (CI/CD, processor batches, scheduled jobs) and
preserves their state across retry, resume, and host migration. Used
by every celestial deploy, every scribe processor cron, and the
dashboard’s /orchestrate/library runner.
Two-process shape (ADR-047):
- Edge receives webhooks + dashboard triggers, enqueues into
workflow_runs, serves SSE event streams to the dashboard. - Runner dequeues, executes step DAGs, writes
workflow_run_events, checkpoints state, handles waits + retries.
The visual designer + runner views are mounted in the dashboard at
/orchestrate and /orchestrate/runner. A searchable
pipeline library — pick what to run + see last-run stats — lives at
/orchestrate/library.
In this section
Section titled “In this section”- State model — where workflow run state lives at each tier, who reads what, how we detect drift. Implementation counterpart to ADR-045 §5.
- Queue substrate — the PG-or-SpacetimeDB queue abstraction (ADR-047 Phase 7 groundwork).
- SEA builder — bake a Node package
into a single-file executable via the
build-sea-binarypipeline.
For operational runbooks (edge/runner split deploy, sf-unstick recovery, checkout primer), see the Runbooks section.
Related
Section titled “Related”- ADR-045 — engine semantics
- ADR-046 — multi-tenant isolation
- ADR-047 — runner-pool architecture + worker SDK
- ADR-048 — sandboxing strategy
- ADR-053 — per-step retry + wait-on-exhaustion