babylon.config.defines.cross_scale

Cross-scale lookup-policy model (Spec 062).

Lives in babylon.config.defines (not babylon.domain.economics) so that babylon.config.defines.economy_basic.EconomyDefines can import it without triggering the heavy babylon.domain.economics/__init__.py import chain (which itself depends on GameDefines, producing a circular import).

Re-exported via babylon.domain.economics.coefficient_lookup for downstream callsites that conceptually treat the policy as an economics primitive.

See also

specs/062-cross-scale-integration/data-model.md §2.5.

Classes

CoefficientLookupPolicy(**data)

Per-reference-series lookup policy descriptor.

LookupPolicy(*values)

Per-series interpolation policy.

class babylon.config.defines.cross_scale.LookupPolicy(*values)[source]

Bases: StrEnum

Per-series interpolation policy.

SLOWLY_VARYING:

Linear interpolation across the 52 weeks of the simulated year (FR-012).

EVENT_DISCRETE:

Step-function: the value for tick t is the series value for start_year + (t // 52) (FR-013).

SLOWLY_VARYING = 'slowly_varying'
EVENT_DISCRETE = 'event_discrete'
class babylon.config.defines.cross_scale.CoefficientLookupPolicy(**data)[source]

Bases: BaseModel

Per-reference-series lookup policy descriptor.

Parameters:
series_id

Stable identifier (e.g., "bea_io_imports").

policy

One of LookupPolicy.

canonical_reference

Human-readable source identifier.

model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

series_id: str
policy: LookupPolicy
canonical_reference: str