Deployment preflight for workflow versions required by live runs.
A release is ready only when every distinct (workflow, version_hash) used
by a non-terminal run resolves to a loaded entrypoint in the current BEAM.
Summary
Functions
Compares non-terminal run versions in Postgres with loaded workflow entrypoints for a Continuum instance.
Types
@type report() :: %{ status: :ready | :missing_versions, required_count: non_neg_integer(), loaded_count: non_neg_integer(), missing_count: non_neg_integer(), requirements: [requirement()] }
@type requirement() :: %{ workflow: String.t(), version_hash: binary(), run_count: non_neg_integer(), oldest_started_at: DateTime.t() | nil, entrypoint: module() | nil, status: :loaded | :missing }