Pipeline Configuration Schema¶
Level 300 (Advanced)
This page is advanced reference material intended for architects and integrators. You should be comfortable with pipelines and basic inspection before reading this (see Pipeline users and Architects & system designers).
Semantiva pipeline YAML has a small set of top-level sections that work together:
extensions- which Python packages/extensions to load.pipeline- the node graph and its configuration.run_space- optional description of multiple runs for a single pipeline.trace- trace driver configuration.execution- orchestration/executor configuration.
This page describes the expected shape of each section with an emphasis on validation behaviour.
Extensions¶
Extensions are imported before the pipeline graph is built so that their processors, data types, and trace drivers are registered.
extensions:
- "semantiva-imaging"
- "my_package.my_semantiva_extension"
Must be a list of importable module paths.
The list is ordered; later extensions can register additional components or override names, depending on the registry implementation.
Pipeline¶
The pipeline block contains the node graph and optional pipeline-level
configuration:
pipeline:
nodes:
- processor: MySource
parameters:
...
- processor: MyOperation
parameters:
...
Each node entry is validated according to the processor contracts (see Creating Components (Authoring Guide)). At minimum, a node declares a processor and, optionally, a parameters mapping.
Node definition schema¶
Common node keys include:
processor(required): fully qualified class name or a registered short name.parameters(optional): mapping of parameters to be resolved at runtime.derive(optional): preprocessor boundary with tools such asparameter_sweep(see Collection-based modifiers).ports(optional): explicit port wiring when the defaults are not sufficient.
The loader enforces that parameters is a mapping when present, and that
derived tools receive the correct shape.
Run-space schema¶
The optional run_space section describes families of runs using context
combinations. A minimal example:
run_space:
combine: combinatorial
max_runs: 20
dry_run: false
blocks:
- mode: by_position
context:
value: [1.0, 2.0, 3.5]
factor: [10.0, 20.0, 30.0]
addend: [1.0, 1.0, 1.0]
Top-level keys:
combine: expansion strategy (for exampleby_positionorcombinatorial).max_runs: upper bound on expanded runs for safety.dry_run: when true, expand but do not execute.blocks: list of blocks with amodeand acontextmapping.
See Run Space (v1): blocks that expand context and Run Space Quickstart (Local) for details.
Trace driver configuration (trace)¶
The trace block configures how Semantic Execution Records (SER) are written:
trace:
driver: "jsonl"
output_path: "traces/"
detail: "hash"
Fields:
driver(required): registered driver name, e.g."jsonl"or"none".output_path(optional): directory or file path. For JSONL, a timestamped*.ser.jsonlfile is created when a directory is given.detail(optional): one of:hash(default): SHA-256 digests only.repr: also includereprfor input/output data.context: withrepr, also includereprfor pre/post context.all: enablehash+repr+context.
options(optional): additional driver keyword arguments (must be a mapping).
Validation rules:
trace.optionsmust be a mapping when present.Singular
optionkeys are invalid and will produce a clear error.
See Trace Stream v1 and Semantic Execution Record (SER) v1 for the runtime record format.
Execution configuration (execution)¶
The optional execution block configures how a pipeline is orchestrated and
executed. When omitted, Semantiva uses the default single-machine configuration
shown below, which is well suited for development and small-scale runs on a
single host:
execution:
orchestrator: LocalSemantivaOrchestrator
executor: SequentialSemantivaExecutor
transport: InMemorySemantivaTransport
options: {}
Fields:
orchestrator: orchestrator class or registered name.executor: executor class or registered name.transport: transport class or registered name.options(optional): mapping of additional execution options.
Validation rules:
execution.optionsmust be a mapping.option(singular) is not accepted; onlyoptionsis valid.
These shapes mirror the CLI flags documented in Semantiva CLI and are exercised in the runnable examples under Examples Index.
For an overview of the execution layer and default components see Execution.