Skip to content

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 parsed Estimand.
  • 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 for fill_undeclared and benchmark intake.
  • gate_catalogue(): {gate_id: GateDefinition} from gates/*.yaml.
  • domain_tags(): leaf domain tags (spec §18) with status and spec reference.
  • extension_prefixes(): registered x-<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.

function

def error_codes() -> dict[str, dict[str, Any]]

Source: packages/ump-spec/src/ump_spec/registries/__init__.py, line 35

function

def error_code_info(code: str) -> dict[str, Any]

Source: packages/ump-spec/src/ump_spec/registries/__init__.py, line 40

function

def estimands() -> dict[str, dict[str, Any]]

Source: packages/ump-spec/src/ump_spec/registries/__init__.py, line 49

function

def estimand_registry_version() -> str

Source: packages/ump-spec/src/ump_spec/registries/__init__.py, line 53

function

def registered_estimand(estimand_id: str) -> Estimand

Parsed Estimand for a registry id, with registry_id and metric_family set.

Source: packages/ump-spec/src/ump_spec/registries/__init__.py, line 57

function

def shared_names() -> dict[str, Any]

Source: packages/ump-spec/src/ump_spec/registries/__init__.py, line 71

function

def media_ids() -> list[str]

Source: packages/ump-spec/src/ump_spec/registries/__init__.py, line 76

function

def channel_ids() -> list[str]

Source: packages/ump-spec/src/ump_spec/registries/__init__.py, line 80

function

def resolve_media_alias(name: str) -> str | None

Map a vendor spelling to a registry media id (case-insensitive).

Source: packages/ump-spec/src/ump_spec/registries/__init__.py, line 84

function

def source_types() -> dict[str, dict[str, Any]]

Source: packages/ump-spec/src/ump_spec/registries/__init__.py, line 93

function

def gate_catalogue() -> dict[str, GateDefinition]

Source: packages/ump-spec/src/ump_spec/registries/__init__.py, line 98

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

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

function

def gate_catalogue_version() -> str

The 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

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

NameTypeValueDescription
HARD_STOP_GATEStuple[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.