Closed metadata authority for Kernel limits.
Every PtcRunner.Kernel.Limits field has exactly one row. A row fixes its
public name, application scope, compiled and installed defaults, accepted
range, and effective-identity participation. Host and manifest decoders,
their generated schemas, and effective-identity projection consume this
catalog rather than reflecting fields from a struct.
:manifest_narrowable limits may be requested by an application at or below
the installed ceiling. :installed_only limits are host-owned and are copied
unchanged into effective limits. :optional_manifest_narrowable limits are
disabled when omitted by the host; an enabled host value becomes both the
inherited manifest default and its ceiling.
Summary
Functions
Projects the complete atom-keyed default table from the catalog.
Projects exactly the limit rows that participate in effective identity.
Looks up a row without converting caller-authored strings to atoms.
Checks one live LLM whole-call deadline against the cataloged range.
Returns public names for the host or one catalog scope.
Returns every catalog row in lexical public-name order.
Returns catalog rows in one scope, preserving lexical order.
Generates the scoped integer properties shared by the checked-in schemas.
Checks one value against its row's inclusive range.
Checks a complete atom-keyed value map against every catalog row.
Fails generation when a limits struct and the checked-in catalog diverge.
Types
@type row() :: %{ optional(:prerequisites) => [ :usage_tokens | :usage_cost_currency | :reservation_tariff ], optional(:prerequisite_description) => binary() | nil, field: atom(), name: binary(), scope: scope(), compiled_default: pos_integer() | nil, installed_default: pos_integer() | nil, minimum: pos_integer(), maximum: pos_integer(), identity: boolean(), unit: :milliseconds | :heap_words | :bytes | :count, description: binary() }
@type scope() ::
:manifest_narrowable | :optional_manifest_narrowable | :installed_only
Functions
@spec defaults(:compiled | :installed) :: %{required(atom()) => pos_integer() | nil}
Projects the complete atom-keyed default table from the catalog.
@spec effective_projection(struct() | map()) :: %{ required(binary()) => pos_integer() | nil }
Projects exactly the limit rows that participate in effective identity.
Looks up a row without converting caller-authored strings to atoms.
Checks one live LLM whole-call deadline against the cataloged range.
Returns public names for the host or one catalog scope.
@spec rows() :: [row()]
Returns every catalog row in lexical public-name order.
Returns catalog rows in one scope, preserving lexical order.
Generates the scoped integer properties shared by the checked-in schemas.
Checks one value against its row's inclusive range.
Checks a complete atom-keyed value map against every catalog row.
@spec validate_fields!([atom()]) :: :ok
Fails generation when a limits struct and the checked-in catalog diverge.