Skip to content

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.

  • 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-binary pipeline.

For operational runbooks (edge/runner split deploy, sf-unstick recovery, checkout primer), see the Runbooks section.

  • 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