applyTo

Derives the terminal run this transition produces from the running one it is applied to.

Everything the transition does not own is carried across unchanged: lineage, tenant, start time, profile, source revisions, digests, runtime identity, requested configuration, subject references, experiment and cohort labels, replay fidelity, the invocation records the run accumulated, and its header version.

Return

The same run in its terminal state.

Parameters

run

The run to terminalize. Must be ExtractionRunStatus.RUNNING.

Throws

if run is already terminal, or if finishedAt precedes its start, or if the resulting run breaks one of ExtractionRun's own invariants — a failure naming an invocation the run has no record of, most often.