babylon.models.entities.territory
Territory entity model.
A Territory is the Phase 3.5 node type - the spatial substrate of the simulation. It represents a strategic sector in the world system, defined by: 1. Its sector type (industrial, residential, commercial, etc.) 2. Its ownership stack (host/parasite relationship) 3. Its operational profile (visibility stance) 4. Its heat level (state attention) 5. Its territory type (settler-colonial hierarchy classification)
Sprint 3.5.2: Layer 0 - The Territorial Substrate. Sprint 3.7: The Carceral Geography - Necropolitical Triad.
Classes
|
A strategic sector in the world system. |
- class babylon.models.entities.territory.Territory(**data)[source]
Bases:
BaseModelA strategic sector in the world system.
Territories are the spatial nodes of the simulation. Unlike SocialClass nodes which represent abstract class positions, Territory nodes represent physical locations that can be occupied, contested, and liberated.
The “Host/Parasite Stack” defines territorial control: - Host (Legal Sovereign): Recognized by State, collects rent/taxes - Occupant (De Facto User): Actually uses the space, may be revolutionary
The “Operational Profile” trades visibility for recruitment: - LOW_PROFILE: Safe from eviction, low recruitment - HIGH_PROFILE: High recruitment, high heat (state attention)
- Parameters:
id (Annotated[str, _PydanticGeneralMetadata(pattern='^T[0-9]{3}$')])
sector_type (SectorType)
territory_type (TerritoryType)
host_id (str | None)
occupant_id (str | None)
profile (OperationalProfile)
under_eviction (bool)
regeneration_rate (Annotated[float, Ge(ge=0.0), Le(le=1.0)])
extraction_intensity (Annotated[float, Ge(ge=0.0), Le(le=1.0)])
- id
Unique identifier matching pattern ^T[0-9]{3}$
- name
Human-readable sector name
- sector_type
Economic/social character of the territory
- territory_type
Classification in settler-colonial hierarchy (Sprint 3.7)
- host_id
Optional ID of the Legal Sovereign (collects rent)
- occupant_id
Optional ID of the De Facto Occupant (uses space)
- profile
Operational profile (visibility stance)
- heat
State attention level [0, 1]
- rent_level
Economic pressure on occupants [0, inf)
- population
Human shield count (sympathizers)
- under_eviction
Whether eviction pipeline is active
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'str_strip_whitespace': True, 'validate_assignment': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
sector_type:
SectorType
-
territory_type:
TerritoryType
-
profile:
OperationalProfile
- property clarity_bonus: float
Recruitment bonus from profile visibility.
HIGH_PROFILE attracts cadre through ideological clarity. LOW_PROFILE is safe but boring.
- Returns:
0.3 if HIGH_PROFILE, 0.0 if LOW_PROFILE
- property is_liberated: bool
Whether territory is a Liberated Zone.
A territory is liberated when there is an occupant but no host (legal sovereign). This represents successful transition from parasitic to sovereign tenure.
- Returns:
True if occupant exists and host does not
- property is_sink_node: bool
Whether territory is a sink node in the displacement graph.
Sprint 3.7: The Carceral Geography - Necropolitical Triad.
Sink nodes are territories where displaced populations are routed. They have no economic value - only containment/elimination function. Population flows INTO these territories but does not flow OUT easily.
The three sink node types form the Necropolitical Triad: - RESERVATION: Containment (warehousing surplus population) - PENAL_COLONY: Extraction (forced labor, suppresses organization) - CONCENTRATION_CAMP: Elimination (population decay, generates terror)
- Returns:
True if territory_type is RESERVATION, PENAL_COLONY, or CONCENTRATION_CAMP