Build a simple, type-safe workflow system where users compose basic building blocks to build their own search experience.
Simplicity and strong typing are explicit goals, and are prioritized over infinite flexibility.
- All interfaces use discriminated / tagged unions for identity
- Primitive data types that flow between nodes are limited, although internal/intermediate data types within processing steps may diverge.
- All types are serializable (no function or map types etc)
- Both structured and unstructured data should be supported as inputs and outputs.