Normalized positive hard ceilings for one Kernel run.
Every field, default, accepted range, scope, and identity rule comes from
PtcRunner.Kernel.LimitCatalog. There is no disabled or infinite form.
new/1 accepts only cataloged fields and overlays them on defaults/0.
The generated Kernel limits reference lists the meaning, unit, defaults, installed ceilings, range, and scope of every row.
The installed-only timeouts are cataloged and sealed in this boundary before
the later provider-lifecycle and doctor phases begin consuming them. Merely
constructing a Limits value does not enforce those future operations.
defaults/0 are the effective limits used when a manifest does not request
narrower values. installed_defaults/0 are the larger host-controlled
ceilings used by manifest-backed frontends. A host may supply another
complete Limits value as its installation ceiling. Manifests can narrow
only catalog rows scoped :manifest_narrowable; installed-only values are
copied from the host unchanged.
Summary
Functions
Returns the complete application-independent default limit set.
Reads one cataloged field from a valid limits value.
Builds complete host-installed ceilings from the catalog's installed defaults.
Returns practical host ceilings for manifest-backed model and connector runs.
Resolves one public limit name to its field, or :error when unknown.
Returns every public limit name, sorted, for operator-facing validation.
Builds a complete limit set by applying atom-keyed overrides to the defaults.
Checks that a complete limits struct contains only positive integer ceilings.
Types
@type t() :: %PtcRunner.Kernel.Limits{ capability_argument_bytes: pos_integer(), capability_result_bytes: pos_integer(), doctor_connectivity_timeout_ms: pos_integer(), entry_source_bytes: pos_integer(), evaluation_admission_timeout_ms: pos_integer(), evaluation_heap_words: pos_integer(), evaluation_history_bytes: pos_integer(), evaluation_memory_bytes: pos_integer(), evaluation_timeout_ms: pos_integer(), event_payload_bytes: pos_integer(), live_provider_tasks: pos_integer(), local_preflight_timeout_ms: pos_integer(), mission_capability_calls: pos_integer(), mission_capability_calls_per_name: pos_integer(), normal_event_bytes: pos_integer(), normal_event_count: pos_integer(), parallel_timeout_ms: pos_integer(), protocol_errors: pos_integer(), provider_cleanup_timeout_ms: pos_integer(), provider_heap_words: pos_integer(), run_duration_ms: pos_integer(), selection_validation_timeout_ms: pos_integer(), subordinate_evaluations: pos_integer(), subordinate_source_bytes: pos_integer(), subordinate_source_checks: pos_integer(), terminal_result_bytes: pos_integer(), workflow_capability_calls: pos_integer(), workflow_capability_calls_per_name: pos_integer(), workflow_heap_words: pos_integer(), workflow_timeout_ms: pos_integer() }
Functions
@spec defaults() :: t()
Returns the complete application-independent default limit set.
@spec fetch(t(), binary() | atom()) :: {:ok, pos_integer()} | :error
Reads one cataloged field from a valid limits value.
Builds complete host-installed ceilings from the catalog's installed defaults.
@spec installed_defaults() :: t()
Returns practical host ceilings for manifest-backed model and connector runs.
Resolves one public limit name to its field, or :error when unknown.
@spec names() :: [binary()]
Returns every public limit name, sorted, for operator-facing validation.
Builds a complete limit set by applying atom-keyed overrides to the defaults.
Unknown fields and values outside their cataloged inclusive range are rejected.
Checks that a complete limits struct contains only positive integer ceilings.