Run Space (v1): blocks that expand context

A run-space describes a family of runs for a single pipeline. Instead of manually looping over semantiva run with different --context values, you declare the combinations once in YAML.

Conceptually:

  • The pipeline definition stays the same.

  • The run-space expands into individual runs, each with a concrete context.

  • The run-space and each run have stable identities that appear in the trace stream and viewer.

From repeated CLI calls to run-space

Without run-space, you might write:

semantiva run hello.yaml --context value=1.0 factor=10.0 addend=1.0
semantiva run hello.yaml --context value=2.0 factor=20.0 addend=1.0
semantiva run hello.yaml --context value=3.5 factor=30.0 addend=1.0

With run-space, you express the same idea in YAML:

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]

pipeline:
  # your nodes here

Key fields

  • combine – how to combine blocks (for example by_position or combinatorial).

  • max_runs – hard safety cap to avoid accidental explosion of runs.

  • dry_run – when true, Semantiva will expand the plan and print it without executing the pipeline.

  • blocks – a list of blocks, each with a mode and a context mapping.

See Run Space Quickstart (Local) for more complete examples.

Identity and traceability

Each run-space has:

  • A run-space configuration ID – derived from the run-space section itself.

  • A run-space launch ID – derived from the configuration plus launch parameters.

Each expanded run has:

  • A run ID – part of the Semantic Execution Record (SER) identity block.

  • A link back to both the pipeline configuration and the run-space configuration.

These IDs are documented in Identity Cheatsheet and appear in:

External sources

Run-space blocks can also pull values from external sources such as CSV files. Those patterns are more advanced and are covered in Run Space Quickstart (Local).

For local, single-machine experiments, the YAML-only form is often sufficient and keeps the configuration self-contained.