Crosswake.Commerce.Contracts (crosswake v0.1.0)

View Source

Typed commerce contract surfaces shared by core, route policy, and manifest truth.

Summary

Functions

access_vocabulary()

@spec access_vocabulary() :: [
  Crosswake.Commerce.Contracts.EntitlementSnapshot.AccessLane.decision()
]

authority_vocabulary()

@spec authority_vocabulary() :: [
  Crosswake.Commerce.Contracts.EntitlementSnapshot.AuthorityLane.state()
]

canonical_reconciliation_evidence_source(source)

@spec canonical_reconciliation_evidence_source(term()) ::
  {:ok, Crosswake.Commerce.Contracts.ReconciliationEvidence.source()}
  | {:error, {:invalid_source, keyword()}}

freshness_vocabulary()

@spec freshness_vocabulary() :: [
  Crosswake.Commerce.Contracts.EntitlementSnapshot.FreshnessLane.state()
]

new_entitlement_snapshot(attrs)

@spec new_entitlement_snapshot(map() | keyword()) ::
  {:ok, Crosswake.Commerce.Contracts.EntitlementSnapshot.t()}
  | {:error, keyword()}

reconciliation_evidence_source_vocabulary()

@spec reconciliation_evidence_source_vocabulary() :: [
  Crosswake.Commerce.Contracts.ReconciliationEvidence.source()
]

reconciliation_vocabulary()

@spec reconciliation_vocabulary() :: [
  Crosswake.Commerce.Contracts.EntitlementSnapshot.ReconciliationLane.state()
]

validate_entitlement_snapshot(snapshot)

@spec validate_entitlement_snapshot(
  Crosswake.Commerce.Contracts.EntitlementSnapshot.t()
) ::
  :ok | {:error, keyword()}