Deterministic runtime-contract enrichment for packaged provider and model data.
This module upgrades descriptive catalog data into executable metadata where we
have a stable contract for doing so. Providers and models we cannot execute
safely are marked catalog_only: true so downstream consumers can distinguish
between descriptive and executable entries without ad hoc heuristics.
Execution metadata follows one precedence rule: explicit model operation entries override provider/runtime-derived entries, which override capability and modality inference. Validation uses the same inference functions, so it cannot require an operation that enrichment would not derive.
Summary
Functions
@spec enrich([LLMDB.Provider.t()], [LLMDB.Model.t()]) :: {[LLMDB.Provider.t()], [LLMDB.Model.t()]}
@spec enrich_model(LLMDB.Model.t(), LLMDB.Provider.t() | nil) :: LLMDB.Model.t()
@spec enrich_provider(LLMDB.Provider.t()) :: LLMDB.Provider.t()