ump_spec.registries
module ump-spec
Packaged registry data (read-only YAML). The only I/O ump_spec does.
estimands(): estimand registry (E-BM-AVG-ROI…), each with a parsedEstimand.error_codes()/error_code_info(code): codes with kind and HTTP status.shared_names(): media tree, KPIs, verticals, regions, roles.source_types(): source-type defaults forfill_undeclaredand benchmark intake.gate_catalogue():{gate_id: GateDefinition}fromgates/*.yaml.domain_tags(): leaf domain tags (spec §18) with status and spec reference.extension_prefixes(): registeredx-<prefix>extension prefixes (spec §21).registry_versions(): each registry’s own version (spec §21, Versioning item 3).
Every code, gate, tag and prefix entry carries a §21 status (provisional, active or deprecated)
and a spec reference. In error_codes.yaml that status is registry_status, because status there is
the HTTP status of the §19 table.
Functions
Section titled “Functions”error_codes
Section titled “error_codes”function
def error_codes() -> dict[str, dict[str, Any]]Source: packages/ump-spec/src/ump_spec/registries/__init__.py, line 35
error_code_info
Section titled “error_code_info”function
def error_code_info(code: str) -> dict[str, Any]Source: packages/ump-spec/src/ump_spec/registries/__init__.py, line 40
estimands
Section titled “estimands”function
def estimands() -> dict[str, dict[str, Any]]Source: packages/ump-spec/src/ump_spec/registries/__init__.py, line 49
estimand_registry_version
Section titled “estimand_registry_version”function
def estimand_registry_version() -> strSource: packages/ump-spec/src/ump_spec/registries/__init__.py, line 53
registered_estimand
Section titled “registered_estimand”function
def registered_estimand(estimand_id: str) -> EstimandParsed Estimand for a registry id, with registry_id and metric_family set.
Source: packages/ump-spec/src/ump_spec/registries/__init__.py, line 57
shared_names
Section titled “shared_names”function
def shared_names() -> dict[str, Any]Source: packages/ump-spec/src/ump_spec/registries/__init__.py, line 71
media_ids
Section titled “media_ids”function
def media_ids() -> list[str]Source: packages/ump-spec/src/ump_spec/registries/__init__.py, line 76
channel_ids
Section titled “channel_ids”function
def channel_ids() -> list[str]Source: packages/ump-spec/src/ump_spec/registries/__init__.py, line 80
resolve_media_alias
Section titled “resolve_media_alias”function
def resolve_media_alias(name: str) -> str | NoneMap a vendor spelling to a registry media id (case-insensitive).
Source: packages/ump-spec/src/ump_spec/registries/__init__.py, line 84
source_types
Section titled “source_types”function
def source_types() -> dict[str, dict[str, Any]]Source: packages/ump-spec/src/ump_spec/registries/__init__.py, line 93
gate_catalogue
Section titled “gate_catalogue”function
def gate_catalogue() -> dict[str, GateDefinition]Source: packages/ump-spec/src/ump_spec/registries/__init__.py, line 98
domain_tags
Section titled “domain_tags”function
def domain_tags() -> dict[str, dict[str, Any]]{tag: {status, spec_ref, description}}; active tags are the ones records are sealed under.
Source: packages/ump-spec/src/ump_spec/registries/__init__.py, line 116
extension_prefixes
Section titled “extension_prefixes”function
def extension_prefixes() -> dict[str, Any]{version, pattern, prefixes: {prefix: {status, owner, spec_ref}}} (spec §21, Extensions).
Source: packages/ump-spec/src/ump_spec/registries/__init__.py, line 121
gate_catalogue_version
Section titled “gate_catalogue_version”function
def gate_catalogue_version() -> strThe gate catalogue’s version: the highest policy_version among its gates (spec §19 /v1/meta).
Source: packages/ump-spec/src/ump_spec/registries/__init__.py, line 132
registry_versions
Section titled “registry_versions”function
def registry_versions() -> dict[str, str]The version each registry carries (spec §21: each registry is its own versioning axis).
Source: packages/ump-spec/src/ump_spec/registries/__init__.py, line 145
Constants
Section titled “Constants”| Name | Type | Value | Description |
|---|---|---|---|
HARD_STOP_GATES | tuple[str, ...] | ('G-PRIV-01', 'G-PRIV-02', 'G-PRIV-03', 'G-INT-01', 'G-INT-02', 'G-INT-03', '... | The eight hard stops (CLAUDE.md decision 4). Tests assert the catalogue agrees. |