Skip to content

Catalog Schemas

Every catalog YAML file validates against a JSON Schema checked into schemas/ at the repository root. valuestream validate applies them before any deeper reference or expression checking, and the Builder and AI Configuration Studio generate YAML that must pass the same schemas.

Schema Validates
schemas/pipelines.json catalog/pipelines.yaml — workspace, sources, readers, schemas, transforms, defaults
schemas/processors.json catalog/processors.yaml — processor kinds, dimensions, time grains, states, outcome/stage/score config
schemas/metrics.json catalog/metrics.yaml — metric kinds, expressions, state bindings, display metadata
schemas/dashboards.json catalog/dashboards.yaml — dashboards, pages, tiles, filters, presets, theme
schemas/expr.json The closed expression AST embedded in transforms, filters, and formula metrics
schemas/catalog.json Cross-file catalog envelope used by the loader
schemas/kpi-recipes.json Reusable, inert KPI recipe-library artifacts used by both authoring Studios

The KPI recipe schema is adjacent to the catalog schemas but recipes are not a fifth workspace catalog file. Installation materializes validated metric and dashboard entries; only those installed YAML entries affect runtime behavior.

Conventions

  • Every YAML example in this documentation is valid against these schemas. If an example fails to validate, treat it as a doc bug.
  • Schema changes ship in the same commit as the loader/model change and the documentation update — the schemas are part of the spec.
  • The expression grammar the schemas embed is specified in the expression DSL reference; the semantics of each processor field are in processors.