taskflow
Compiler & RuntimeNew in taskflow 0.2

New in taskflow 0.2

The compiler/runtime turn: TypeScript authoring, FlowIR, replay, and minimal recompute.

taskflow 0.2 keeps the declarative DAG model, but changes what the runtime can do with that graph. A flow can now be authored through a compile-time TypeScript frontend, compiled into a content-addressed FlowIR, inspected as a deterministic event trace, and recomputed from the smallest stale frontier instead of replaying the whole run.

The mental model: JSON remains the portable execution contract. TypeScript is an authoring frontend. FlowIR is the compiled representation that makes provenance, replay, and incremental recompute explainable.

The 0.2 path

Author. Write ordinary Taskflow JSON, or use the compile-time TypeScript DSL to erase .tf.ts runes into JSON and FlowIR.

Compile and inspect. Use /tf ir to see the canonical FlowIR and incremental recompute model before deciding what must run again.

Explain decisions. Record an event trace and use deterministic replay for zero-token what-if checks against changed gate thresholds or budgets.

Keep long work out of the prompt. On Pi, launch background runs, keep the runId, and inspect or resume them later.

Which operation do I need?

SituationOperationModel calls?
Validate graph structure before spendingverify / compileNo
Inspect the compiled graph and content hashirNo
Continue unfinished work with unchanged inputsresumeOnly unfinished phases
Re-evaluate a finished trace under new decision knobsreplayNo
Explain what became stale after an input changedwhy-staleNo
Re-run only the affected frontierrecomputeOnly affected phases
Let a long Pi run survive the current sessiondetach: trueNormal run cost

Start with the compiler bench

What did not change

  • JSON is still the portable execution format across Pi, Codex, Claude Code, OpenCode, and Grok Build.
  • Intermediate transcripts still remain outside the host conversation unless you explicitly inspect them.
  • verify still runs before token spend, and the same DAG semantics remain the execution foundation.
  • Resume, replay, and recompute are different operations: continue work, re-judge history, or re-run changed work.

Next

Last updated on

Was this helpful?

Help us improve the docs or ask a question in the community.

On this page