Builds and gates complete owned-spec candidates from pinned CCXT references.
Preparation copies mechanical transport and metadata bulk, but resets every
interpretive slot and unified capability to an explicit candidate state. A
successful gate returns a complete owned document; it does not add the venue
to Bourse.Spec, the registry, or the compiled exchange set.
Summary
Functions
Encodes a candidate or report with stable pretty-printed JSON bytes.
Builds a candidate and evidence report from a decoded pinned CCXT reference.
Reads a pinned reference file and builds its candidate and report.
Returns the promoted owned document or every promotion gap.
Returns a lowercase SHA-256 digest for binary content.
Types
@type gap() :: Bourse.Spec.Promotion.Gap.t()
A promotion failure with a stable code and actionable message.
Functions
Encodes a candidate or report with stable pretty-printed JSON bytes.
Builds a candidate and evidence report from a decoded pinned CCXT reference.
Reads a pinned reference file and builds its candidate and report.
Returns the promoted owned document or every promotion gap.
Re-reads the pinned CCXT reference (from opts[:reference] or
report["reference"]["path"]), verifies its bytes against
report["reference"]["sha256"], and re-derives the method inventory from
that reference so candidate/report cannot silently drop methods together.
Returns a lowercase SHA-256 digest for binary content.