Roadmap
What is planned, in order. Each proposal's status lives in its issue in the specification's repository; this page gives the direction. The roadmap itself is kept in ROADMAP.md.
Tiers
Tiers are levels of meaning, and each includes everything before it.
| Tier | What it adds | Where it stands |
|---|---|---|
| Tier 1: a single workflow | Steps, the data bag, services provided to steps, a local executor, retries, rescue steps, step hooks with their default behaviour, the workflow result, journey IDs and the event model | Specified. Rust 0.1.0-rc.1 implements it, and is in preparation. |
| Tier 2: transfers and switches | Moving a journey to another workflow, with or without its data and execution state, late joining, transfer limits and re-entrancy protection | Planned |
| Tier 3: sub workflows | Running a workflow from within another | Planned |
| Later tiers | Durable runs: pending steps, checkpointing and resuming after a crash | Planned |
Waiting between attempts, back off, is planned too.
Milestones
- Foundations. The organisation, licences, the process and the core model proposal. Done.
- Specification 0.1.0. Tier 1 written into the specification, the conformance case format and the first cases. Written; tagged once a first implementation passes every case.
- itinera-rs, tier 1. Core types, the step, workflow and policy macros, local executors, a conformance runner, and the first release on crates.io. Languages says where it stands.
- Tiers 2 and 3, specified and implemented in Rust.
- Durable runs, with a store interface and a first store backed by a database.
- Studio, which draws workflows, and the connections between them, from their definitions.
- More languages: TypeScript, then the JVM, with Kotlin first and support for Java.
Languages says exactly what each language offers today.