Crosswake. SupportMatrix
(crosswake v0.1.0)
View Source
Canonical support-matrix truth shared across manifest generation, doctor, and docs.
Summary
Functions
Returns the canonical taxonomy of prerequisite classes that may be referenced by
commerce corridor entries. Every prerequisite_classes value on a commerce corridor
entry must be drawn from this set so doctor/support/guides taxonomy stays parity-locked.
Returns the canonical commerce corridor proof-class mapping.
Functions
@spec canonical(keyword()) :: Crosswake.Manifest.Types.SupportMatrix.t()
@spec capability_families(Crosswake.Manifest.Types.SupportMatrix.t()) :: [
Crosswake.Manifest.Types.CapabilitySupportEntry.t()
]
@spec change_classes(Crosswake.Manifest.Types.SupportMatrix.t()) :: [
Crosswake.Manifest.Types.ChangeClassEntry.t()
]
@spec commerce_corridor_denial_codes() :: [String.t()]
@spec commerce_corridor_prerequisite_taxonomy() :: [atom()]
Returns the canonical taxonomy of prerequisite classes that may be referenced by
commerce corridor entries. Every prerequisite_classes value on a commerce corridor
entry must be drawn from this set so doctor/support/guides taxonomy stays parity-locked.
@spec commerce_corridor_proof_classes() :: %{ required(String.t()) => %{ proof_class: :merge_blocking | :advisory, advisory_provider_proof: boolean() } }
Returns the canonical commerce corridor proof-class mapping.
Every commerce corridor declares whether its hermetic Phoenix-owned contract proof is
:merge_blocking (core route/manifest/denial truth that must pass before merge) and
whether it also carries an advisory_provider_proof flag for storefront/simulator
evidence (StoreKit, Play Billing) that stays advisory in v3.2.
@spec commerce_corridors() :: [map()]
@spec package_surfaces(Crosswake.Manifest.Types.SupportMatrix.t()) :: [
Crosswake.Manifest.Types.PackageSurfaceEntry.t()
]
@spec release_boundaries(Crosswake.Manifest.Types.SupportMatrix.t()) :: [
Crosswake.Manifest.Types.ReleaseBoundaryEntry.t()
]
@spec statuses() :: [atom()]
@spec validate(Crosswake.Manifest.Types.SupportMatrix.t()) :: [map()]