Rust core & runtime
Typed workflow identities, DAG validation, bounded scheduling, handler registry, cancellation, and dependency outputs.
AetherFlow is building a durable workflow engine around recoverable execution, explicit state transitions, and event delivery you can reason about — even when processes disappear.
The runtime stays transport-neutral. PostgreSQL owns durable execution state, while JetStream carries committed events between services.
Typed workflow identities, DAG validation, bounded scheduling, handler registry, cancellation, and dependency outputs.
Atomic claims, migrations with checksums, attempts, leases, fencing, transactional outbox, and inbox deduplication.
NATS JetStream publisher and pull consumer with stable message IDs, broker acknowledgements, and retry handling.
Fresh-process lease recovery, duplicate suppression, lease renewal, and fencing against stale workers.
A lease is temporary permission to work, not proof that the previous process has stopped. Every boundary states what happens next.
Heartbeat and completion are guarded by worker identity, version, and monotonically increasing fencing tokens.
A fresh worker can recover expired work from database state without relying on the old process's memory.
Events are published outside database transactions and acknowledged only after JetStream confirms storage.
Logical duplicates are keyed by consumer and event ID. A repeated delivery does not re-run a completed handler.
Active inbox leases are renewed and JetStream receives progress acknowledgements while a handler continues.
Delivery is at-least-once, not magical exactly-once. External side effects still need idempotency or a shared transaction.
This is an active engineering project. M00–M06 are complete and verified. M07 now includes tenant-authenticated HTTP routes, tenant-scoped workers and event processing, PostgreSQL v6/v7 forced-RLS and worker grant-lock policies, a separate restricted runtime role, and HTTPS enforcement for non-loopback listeners. HTTPS listener tests and live PostgreSQL TLS trust/hostname integration are hosted-verified (PostgreSQL/NATS run 41609705469); CLI/SDK, dashboard, and operational hardening remain.
Browse the source, inspect the persistence contract, or pick up from the next unchecked milestone.