Run-Space Lifecycle

Semantiva traces Run-Spaces as a lifecycle enclosing one or many pipeline runs.

Records

  • run_space_start — emitted once per launch/session

  • run_space_end — emitted after the launch completes

Identity Model

Plan identityrun_space_spec_id Run-Space Configuration Format (RSCF v1): canonicalize the run-space specification (sort object keys; preserve array order; canonical scalars; normalize \n; YAML anchors/comments removed at parse; serialize to compact UTF-8 JSON). Hash preimage is namespaced:

run_space_spec_id = sha256( b"semantiva:rscf1:" + <canonical_spec_bytes> ).hexdigest()

Inputs snapshotrun_space_inputs_id (optional) Run-Space Materialization (RSM v1): canonicalize the set of input fingerprints (sort by role,uri; each carries digest.sha256); then:

run_space_inputs_id = sha256( b"semantiva:rsm1:" + run_space_spec_id + ":" + <canonical_fps_bytes> ).hexdigest()

Omit run_space_inputs_id when the run-space is self-contained (no external inputs).

Launch/sessionrun_space_launch_id Unique id for this launch (e.g., UUIDv7 or sha256(materialization + idempotency_key)).

Attemptrun_space_attempt 1-based retry counter within the same launch id.

Planned Runs

run_space_planned_run_count declares the planned number of pipeline runs for this launch.

Linkage to Pipelines

Each pipeline spawned from the launch includes a composite foreign key in its pipeline_start record to uniquely identify the launch:

  • run_space_launch_id + run_space_attempt — composite FK (both parts needed for retry disambiguation)

Plus run-specific metadata:

  • run_space_index — 0-based position within the launch

  • run_space_context — parameter values for this specific run

Launch-level constants (run_space_spec_id, run_space_inputs_id, run_space_combine_mode, run_space_total_runs) are stored once in the run_space_start event to eliminate redundancy. Standalone pipelines omit all run-space fields.