Expand description
§flusso-schema-core
The cross-cutting vocabulary for flusso — the validated types every other layer trades in.
§Quick reference
| Item | Role |
|---|---|
common | Validated primitives — TableName, ColumnName, and the other identifier newtypes |
config | The structures built from them — IndexSchema, Field, Join, Aggregate, Filter, IndexMapping |
traits | The conversion the format crates implement — ParseFrom (text into entities) |
This is layer 0: every other crate produces or consumes these types. They’re the canonical, already-validated shape of a search document and its building blocks, carrying no trace of the file format they were parsed from.
ℹ️ Info — the assembled deployment config (
Config/Index/Source/theSinkenum) is a composition concern and lives a layer up in theschemacrate. Keeping it out of here lets the backends depend on the vocabulary without reaching the top-level config.
Identifier types are built with nutype: they’re constructed only through try_new, so an invalid name never reaches the model.