{
  "model": "city-economy-v17",
  "scope": "Fixed land scenario and measured Atlants profile: 126 land unit records in the connected native upgrade chains, barracks, six early buildings plus Wealth, roads/resources, shared city/finance/science/land-combat/capture/conquest rules, governor/sale/hurrying commands. Shared revolution/anarchy/adoption commands for all native government requirements, mandatory saved choice, provisional duration, specialist channels, science-cap changes and forced resettlement; remaining government behaviors explicitly deferred. One native 30-turn golden age from flagged combat wins or current wonder trait coverage at own great-wonder completion, saved history and shared tile bonuses; batch-harvest timing and original edge cases remain unverified. All 200 ordinary technologies can be acquired through prerequisites and era gates, with scientific-era grants and first-discovery choices; only enumerated technology effects and content are executed. Fourteen useful specialist types and seven preserved service rows, separate income/engineer/police channels. Native scoped raster/animation/audio; naval/air sample assets do not enable their rules. Own-engine tests are separate from Windows-original validation. Sparse nationality/resistance groups track capture, growth, starvation, training, hurry and resettlement. Native eight-row CULT and 196 GOVT pair modifiers drive resistance; native government assimilation and xenophobic culture gating, JoinCity flags and inherited unit nationality are executed. Exact original ordering, citizen selection, foreign-war mood and cultural flipping remain unverified or deferred. Native Border Factor and six culture levels drive ranked city claims, culture/age/direction ties, ocean restrictions and bounded gap fills. Founding, capture and razing rebuild ownership; shared labor and resource queries apply changes to both sides. Higher-ring exceptions, exact original tie/enclave order and city flipping remain unverified or deferred. Cultural conversions now use a separate turn phase, player-specific foreign citizens/tiles, historical/national culture, mood and real-capital distance, and the full qualifying native defense-unit catalog. Saved accept/refuse decisions share command validation and basic AI; first ownership harvest and capitals are protected. Accepting preserves population, nationality/history/food and physical buildings, removes the former-owner garrison and creates one available native defender; refusal keeps the city. Exact original formula boundaries, interturn order, stocks/small-wonder policy and defender priority remain unverified. Per-opponent saved war-weariness memories now track declarations, attacked/lost units, captured civilians/cities and natural-turn territory/recovery. Native government weariness modes, rounded city penalties, defensive war happiness, homeland-war anger, active local/global reducers and forced strong-mode revolution use shared economy/AI calculations. Basic bilateral peace offers interrupt and resume a turn without spending moves or repeating recovery; saved accept/refuse choices, 20-turn commitments, visible breach events and basic AI negotiation are executed. Past schema-13 war memories cannot be recovered and migrate as explicitly inferred zero histories. Exact original phase/mood ordering, negative recovery, historical AI bugs, refusal/willingness and full reputation/trade remain unverified or deferred. Native conscription technology bit4, PRTO Draft flag, government city draft limits and RULE draft anger drive shared DRAFT_UNIT validation, city quote/confirmation and a basic visible-threat AI. Native citizens only, one population per unit, native conscript experience/HP, immediate movement, serial saved anger and per-city turn counts are implemented. Atlants Civilopedia requires population 8; town_max_size+1 is used and needs Windows confirmation. Native strongest-defender ranking/ties, resistance eligibility and precise anger order/timing remain unverified. Eight original draft-unit animation sets cover the two fixed civilizations; drafting does not enable their normal production or complete all special abilities. Native six land work jobs (road, mine, irrigation, forest/wetland clearing and planting) use shared eligibility, native technology and PRTO actions, positive TERR bonuses, irrigation water access and government rates. Saved per-player/job progress is revalidated each harvest; improvements, underlying terrain and once-per-tile forest shields feed ordinary city production. Human quotes/actions, visible-map worker AI and native map overlays/animations are connected. Fresh water uses the common fewer-than-21-cell lake query. Exact original timing, forest priority/bonus eligibility, custom forest mining and water-through-city behavior remain unverified; industrial/worker-tech speed modifiers and later worker jobs are not complete. Railroads, fortresses and barricades now use native TFRM/PRTO requirements and resources in the worker tile network rather than a union of disconnected cities. Native +1 farm/mine rail yields, city rail junctions, zero-cost rail moves, bridge technology, additive fortress/barricade defense and territorial barricade stops are executed. Land zone control grants from native PRTO or occupied forts use nonlethal shots, max attack/bombard and the documented A/(A+16D) probability. Group/stack order, modifiers and exact Windows behavior remain unverified. Original railroad and era-specific fort/barricade images are shown; worker AI values economic rail cells and frontier forts. Classic land-unit mouse gestures, keypad, Hold/Wait FIFO and activation share engine commands; Windows timing is unverified. Native WSIZ world sizes use staggered parity coordinates. Deterministic parameterized generation, rivers, terrain/resource eligibility and validated starts are executed with independent saved PRNG streams; original Firaxis generation is unverified. Original city names and all five city cultures are connected. All 32 NTP palettes can be reconstructed from exact indexed reference pairs; default color collision resolution remains deferred. Expansion AI evaluates productive non-overlapping sites from filtered knowledge, trains native settlers and replacement workers using shared eligibility/population costs, and uses the same route preview as the human. New generator-v2 starts account for default-government food penalties and exclude hidden late food resources from growth estimates. Saved generator-v1 maps retain their geography. Shared U/Shift-U modernization follows the full native civilization/technology/resource chain, uses veteran-ground facilities including the Atlants palace, native gold factor and active empire discounts, heals and consumes moves, and retains regular/veteran experience with elite reset. Native stats and listed abilities are executed; inclusion in the catalog does not implement every inherited special ability. One-time contacts, world-map snapshots and political-only territory maps now use native technology flags, shared quote/commands, saved negotiation and ordinary AI offers. Contact transfer does not grant sight; map purchase preserves hidden units, current fog, remembered resource gates and newer observations. Native memory precedence and literal territory-only display need Windows control cases. City pollution uses the native city-size threshold (15), physical signed BLDG pollution and ecological caps; shared zero tile yields, TFRM8 cooperative cleanup, saved partial progress, original map atlas, city source/risk hints and worker AI are connected. Factories, medieval workshops/unions and five ecological buildings are in the scoped production catalog with native prerequisites. Original EXE phase/PRNG/placement order and natural disasters remain unverified.",
  "supportedUnitIds": [
    0,
    1,
    4,
    6,
    7,
    10,
    12,
    13,
    14,
    15,
    16,
    17,
    18,
    19,
    20,
    21,
    22,
    23,
    24,
    25,
    26,
    27,
    28,
    29,
    30,
    31,
    32,
    33,
    34,
    35,
    36,
    37,
    38,
    39,
    40,
    41,
    42,
    43,
    44,
    45,
    46,
    47,
    48,
    49,
    50,
    52,
    53,
    54,
    55,
    56,
    57,
    58,
    59,
    60,
    61,
    62,
    63,
    64,
    65,
    66,
    67,
    68,
    69,
    71,
    72,
    73,
    74,
    75,
    76,
    77,
    78,
    79,
    80,
    81,
    82,
    83,
    84,
    85,
    86,
    87,
    88,
    89,
    90,
    91,
    92,
    93,
    94,
    97,
    98,
    99,
    100,
    101,
    102,
    103,
    104,
    105,
    106,
    107,
    108,
    109,
    110,
    111,
    135,
    136,
    140,
    141,
    142,
    143,
    144,
    156,
    157,
    158,
    159,
    160,
    161,
    162,
    165,
    166,
    167,
    169,
    170,
    202,
    203,
    204,
    205,
    206
  ],
  "implementedProperties": {
    "PRTO": [
      "movement",
      "required_tech",
      "resource_1",
      "resource_2",
      "resource_3",
      "civilization_mask",
      "domain",
      "hp_bonus",
      "worker_strength",
      "shield_cost_raw",
      "population_cost",
      "requires_support",
      "attack",
      "defense",
      "bombard_strength",
      "enslave_result",
      "zone_of_control",
      "upgrade_to"
    ],
    "TERR": [
      "food",
      "shields",
      "commerce",
      "movement",
      "road_bonus",
      "defense_bonus",
      "irrigation_bonus",
      "mining_bonus",
      "worker_job",
      "disease_strength"
    ],
    "GOOD": [
      "required_tech",
      "food",
      "shields",
      "commerce"
    ],
    "TFRM": [
      "work_required_raw",
      "required_tech",
      "resource_1",
      "resource_2"
    ],
    "GOVT": [
      "default",
      "free_units",
      "free_units_city",
      "free_units_metropolis",
      "free_units_town",
      "hurrying",
      "military_police",
      "requires_maintenance",
      "science_cap",
      "tile_penalty",
      "trade_bonus",
      "unit_cost",
      "worker_rate",
      "required_tech",
      "transition",
      "force_resettle",
      "assimilation",
      "xenophobic",
      "war_weariness",
      "draft_limit"
    ],
    "RULE": [
      "citizen_shields",
      "city_defense",
      "city_max_size",
      "food_per_citizen",
      "fortification_defense",
      "fortress_defense",
      "hurry_unhappiness",
      "metropolis_defense",
      "research_max_turns",
      "research_min_turns",
      "river_defense",
      "road_movement_factor",
      "shield_value_gold",
      "shields_per_gold",
      "slave",
      "start_unit_1",
      "start_unit_2",
      "starting_gold",
      "town_defense",
      "town_max_size",
      "golden_age_turns",
      "border_factor",
      "culture_level_count",
      "culture_level_names",
      "draft_unhappiness",
      "forest_shields",
      "upgrade_cost_factor"
    ],
    "EXPR": [
      "base_hp",
      "retreat_bonus"
    ],
    "DIFF": [
      "content_born",
      "optimal_cities_pct",
      "cost_factor",
      "additional_free_support",
      "support_per_settlement",
      "max_anarchy",
      "military_law"
    ],
    "WSIZ": [
      "optimal_cities",
      "technology_rate"
    ],
    "CTZN": [
      "construction",
      "corruption",
      "default",
      "luxuries",
      "required_tech",
      "research",
      "taxes"
    ],
    "BLDG": [
      "content_local",
      "cost_raw",
      "culture",
      "defense_bonus",
      "is_great_wonder",
      "is_small_wonder",
      "maintenance",
      "obsolete_tech",
      "production",
      "required_building",
      "required_building_count",
      "required_government",
      "required_tech",
      "resource_1",
      "resource_2",
      "shield_cost",
      "pollution"
    ],
    "TECH": [
      "cost",
      "prerequisite_1",
      "prerequisite_2",
      "prerequisite_3",
      "prerequisite_4",
      "era"
    ],
    "RACE": [
      "default_color"
    ],
    "CULT": [
      "ratio_numerator",
      "ratio_denominator",
      "initial_resistance",
      "continued_resistance"
    ],
    "ESPN": [
      "base_cost",
      "performed_by"
    ]
  },
  "partialProperties": {
    "PRTO.action_flags_hex": "Only selected early actions, capture and inferred enslave flag are executed; original behavior remains unverified. JoinCity byte9:bit4 is validated, with PRTO population cost (minimum one) and the shared city size cap; Atlants Slave 379 is explicitly ineligible. Mine, irrigation, clear forest/wetlands and plant forest native bits are interpreted for shared terrain work. CleanPollution byte9:bit2 controls shared TFRM8 cleanup; it does not imply full automation.",
    "PRTO.ability_flags_hex": "Only wheeled and blitz bits are executed; the aggregate remains only partially interpreted. Governor production categories read explicit offense/defense/terraform/settle role bits. Native starts-golden-age bit 1:7 is executed for a surviving winner over another nonbarbarian owner, including defensive combat. Native Legionary amphibious/transport behavior and additional action animations remain deferred. Native byte4:bit1 defense strategy chooses a free cultural-conversion defender from the entire eligible land catalog; armies, leaders and kings are excluded, shared tech/civilization/resource requirements apply. Native tie/obsolescence and special-content exceptions remain unverified. Native byte1:bit1 Draft gates the conscription catalog through shared tech/resource/civilization requirements; defense, attack, HP and ID determine a provisional stable priority independent of the production shortlist.",
    "GOVT.corruption": "Provisional distance/rank calculation; transition government loses all ordinary commerce and shields including capital. Exact nontransition modes and original city/rank/rounding remain unverified.",
    "TERR.placement_flags": "City placement, impassable and wheeled movement flags only.",
    "TECH.flags": "Implemented bits: 6 Recycling sale shields; 12 doubled Wealth exchange; 17 optional for era progression; 21 first-discovery free technology. Other technology effects remain deferred or belong to unimplemented systems. Bit4 enables conscription; uses the actual Atlants technology134, not the vanilla Nationalism name. Bit1 enables irrigation without adjacent water; native flag selects115 Electricity, unlike the Steam Engine Civilopedia text. Bit2 (native75 Engineering) permits road speed across a river; rails are modeled as bridges. Bit18 doubles worker contributions before final truncation; no technology of the supplied Atlants profile has this flag.",
    "RACE.traits_mask": "Bit 0 militaristic promotion; bit 3 scientific era gift; bit 4 religious two-turn anarchy; selected building characteristic discounts. Expansionist bit 2 is distinct from scientific. Other trait behavior, leaders and exact randomness unverified. Bit5 Industrious multiplies the owner government worker rate by1.5 before final truncation.",
    "BLDG.defense_bonus": "Applied in scoped land combat. Complete free-building defense and exact stacking await validation.",
    "BLDG.culture": "Owner-specific historical city culture and national accumulation; shared income pauses under anarchy or the current xenophobic native-majority rule. Ranked overlapping territorial claims are executed. No age doubling at 1000 years; cultural city conversions use a separately versioned model; exact native harvest/tie/enclave order and higher-ring exceptions require Windows controls.",
    "RACE.default_color": "Only NTP01 and NTP09 in the fixed scenario; alternate-color assignment and exact Windows rendering remain unverified.",
    "BLDG.flags_hex": "Named flags retained; effects cover early land-building production, granary, veteran training, mood, upkeep and Wealth. Global grants/autoproduction have isolated kernel fixtures. Most naval/air/trade/army/victory flags remain deferred. Eight native wonder-characteristic bits are used for peaceful golden-age coverage at great-wonder completion, including currently owned captured/obsolete physical wonders. Active local byte2:bit6 reduces city war penalties by floor(population/4); global byte13:bit3 reduces them by one, respecting owner/government/obsolescence filters. Production of all such late content is still outside the early catalog. Population pollution cap bit0:5 and building pollution cap bit0:6 execute in city pollution. Other flags retain their existing scopes.",
    "GOVT.hurrying": "0 disabled, 1 population, 2 gold. Shared execution/UI/AI tested; native government transitions now enable changes in ordinary play.",
    "CTZN.corruption": "Police reduce raw rounded shield/commerce loss before the provisional maximum corruption cap; inactive under anarchy corruption. Windows formula/rounding and full corruption model remain unverified.",
    "CTZN.construction": "Building/wonder shields after ordinary production bonuses, no unit/Wealth output; source credit removed on ordinary unit switches. Known Conquests hurry-absorption carry-over retained; repeated-rush double-count behavior remains unverified.",
    "GOVT.force_resettle": "1/2/3 population loss on adoption and kept conquest by native size thresholds; at least one resident. Capture ordering and original resistance interaction await Windows verification.",
    "DIFF.max_anarchy": "Positive value caps AI anarchy in this provisional model, zero means no cap; religious duration takes priority. Original encoding and initial-turn accounting unverified.",
    "GOVT.government_relations": "All 196 native triples retained. resistance_modifier executes in per-nationality capture and continued resistance. can_bribe_raw can contain nonboolean values; bribery fields are not executed.",
    "CULT.culture_ratio_pct": "Rounded source percentage retained; current comparison uses the exact numerator/denominator. Original rounding and zero-culture boundaries remain unverified.",
    "GOVT.assimilation": "Independent per-foreign-nonresisting-citizen rolls at native percentage, after resistance suppression in this explicit batch model. Original scheduling, culture influence and resistant eligibility unverified.",
    "GOVT.xenophobic": "Current model pauses new city culture unless owner nationality has a strict majority. Exact half boundary awaits Windows observation; existing culture is retained.",
    "RULE.border_multiplier": "Source value 1000 retained unchanged; runtime meaning is unresolved and it is not used as the threshold factor. Border Factor 10 drives the scoped exponential expansion.",
    "RULE.we_love_min_population": "Strict population > native value 5, at least half the whole population happy, no unhappy/resistors and no food deficit currently select the half-probability celebration factor. Actual original onset/delay and waste reduction are not implemented or verified.",
    "GOVT.war_weariness": "Native modes 0/1/2 execute the current per-enemy threshold table, city penalties and forced strong-mode revolution above 90. Runtime boundaries, original phase order and reported historical AI mirror/counter bugs require Windows controls.",
    "TFRM.work_required_raw": "Six native jobs: raw amount times terrain movement, own government/PRTO/captive contribution; exact native phase, group surplus and industrial modifiers unverified.",
    "TFRM.resource_1": "Shared worker/city road component with known peaceful foreign transit independent of Right of Passage. Only owned revealed deposits and valid imports count; foreign-owned deposits are not granted by passage. Foreign work requires active passage. Sea/air access and exact original edge cases remain deferred.",
    "TFRM.resource_2": "Shared worker/city road component with known peaceful foreign transit independent of Right of Passage. Only owned revealed deposits and valid imports count; foreign-owned deposits are not granted by passage. Foreign work requires active passage. Sea/air access and exact original edge cases remain deferred.",
    "PRTO.zone_of_control": "Land nonlethal interception while both endpoints neighbor the source; highest attack/bombard per stack and A/(A+16D), one draw per attempted shot. Native stack/tie/phase and defense-modifier details require EXE validation.",
    "TECH.flags.trade": "CannotBeTraded 0x80000 prevents technology negotiation; extracted from pinned reverse-analysis header, executed and tested. Other technology flags retain their separate coverage status.",
    "ESPN.performed_by": "Diplomat role bit executes only embassy/city investigation (mission IDs 0/1); all spy/random missions remain unsupported.",
    "ESPN.base_cost": "Native bases 15 and 7 feed shared quotes/commands for IDs 0/1; other prices are extracted, not executed.",
    "TECH.flags.agreements": "Native RoP 0x200 / MA 0x400 / embargo 0x800 / mutual protection 0x100 execute common diplomacy gates; Atlants TECH30 /101 /48 /130. Territory/attack protection semantics have explicit civilian and phase assumptions; original Windows verification remains open.",
    "TECH.flags.knowledgeTrade": "Native bit0x8000 (TECH87 Cartography) and bit0x10000 (TECH115 Electricity) gate one-time map/contact exchange on either side; other flags retain individual coverage. Exact Windows behavior unverified.",
    "TERR.terrain_flags_raw": "Only Causes Disease bit2 and Cured by Sanitation bit3 interpreted; all other raw bits preserved. Supplied executable actually checks TECH8, not the TECH sanitation flag.",
    "PRTO.worker_strength": "Native float32 strength participates in verified arithmetic, including final truncation and minimum1. Full native first/last-turn and multiplayer scheduling remain unverified.",
    "GOVT.worker_rate": "Integer base converted to float32; Industrious intermediate stored as float32; shared worker-rate-v7. Full native work phase scheduling remains unverified."
  },
  "testedProperties": {
    "PRTO": [
      "movement",
      "required_tech",
      "resource_1",
      "civilization_mask",
      "domain",
      "hp_bonus",
      "worker_strength",
      "shield_cost_raw",
      "population_cost",
      "requires_support",
      "attack",
      "defense",
      "bombard_strength",
      "enslave_result",
      "zone_of_control",
      "upgrade_to"
    ],
    "TERR": [
      "food",
      "shields",
      "commerce",
      "movement",
      "road_bonus",
      "defense_bonus",
      "irrigation_bonus",
      "mining_bonus",
      "worker_job",
      "disease_strength"
    ],
    "GOOD": [
      "required_tech",
      "food",
      "shields",
      "commerce"
    ],
    "TFRM": [
      "work_required_raw",
      "required_tech"
    ],
    "GOVT": [
      "default",
      "free_units",
      "free_units_city",
      "free_units_metropolis",
      "free_units_town",
      "hurrying",
      "requires_maintenance",
      "science_cap",
      "tile_penalty",
      "unit_cost",
      "worker_rate",
      "required_tech",
      "transition",
      "force_resettle",
      "assimilation",
      "xenophobic",
      "war_weariness",
      "draft_limit"
    ],
    "RULE": [
      "citizen_shields",
      "city_defense",
      "city_max_size",
      "food_per_citizen",
      "fortification_defense",
      "fortress_defense",
      "hurry_unhappiness",
      "metropolis_defense",
      "research_max_turns",
      "research_min_turns",
      "river_defense",
      "road_movement_factor",
      "shield_value_gold",
      "shields_per_gold",
      "slave",
      "start_unit_1",
      "start_unit_2",
      "starting_gold",
      "town_defense",
      "golden_age_turns",
      "border_factor",
      "culture_level_count",
      "culture_level_names",
      "draft_unhappiness",
      "forest_shields",
      "upgrade_cost_factor"
    ],
    "EXPR": [
      "base_hp",
      "retreat_bonus"
    ],
    "DIFF": [
      "content_born",
      "cost_factor",
      "additional_free_support",
      "support_per_settlement",
      "max_anarchy",
      "military_law"
    ],
    "CTZN": [
      "construction",
      "corruption",
      "default",
      "luxuries",
      "required_tech",
      "research",
      "taxes"
    ],
    "BLDG": [
      "content_local",
      "cost_raw",
      "culture",
      "defense_bonus",
      "is_great_wonder",
      "is_small_wonder",
      "maintenance",
      "obsolete_tech",
      "production",
      "required_building",
      "required_building_count",
      "required_government",
      "required_tech",
      "resource_1",
      "resource_2",
      "shield_cost",
      "pollution"
    ],
    "TECH": [
      "cost",
      "prerequisite_1",
      "prerequisite_2",
      "prerequisite_3",
      "prerequisite_4",
      "era"
    ],
    "WSIZ": [
      "technology_rate"
    ],
    "RACE": [
      "default_color"
    ],
    "CULT": [
      "ratio_numerator",
      "ratio_denominator",
      "initial_resistance",
      "continued_resistance"
    ],
    "ESPN": [
      "base_cost",
      "performed_by"
    ],
    "workerRate": "576 isolated executions of original x86/x87 arithmetic; shared integer rates, provenance, grouping, schema30 partial-work migration and browser turns"
  },
  "tests": 786,
  "notImplemented": [
    "Full mood modifiers",
    "Exact original anarchy distribution/thresholds/timing and golden-age first/last-harvest edge cases",
    "Naval and air actions",
    "Original PRNG",
    "BIQ geography import",
    "SAV runtime import",
    "Exact original bankruptcy selection and proceeds",
    "Exact original first/last worker-turn phase and multiplayer timing",
    "Full combat abilities, armies, leaders and scientific golden ages",
    "Exact original resistance scheduling, culture-ratio rounding, nationality loss selection and assimilation order",
    "Remaining spies/missions, other diplomatic items, leave/expel requests, full reputation/attitude, native AI valuation and network details",
    "All victory conditions except scoped conquest",
    "Exact capture plunder and original building-retention verification",
    "Exact original cultural border exceptions, enclave/tie ordering, culture age doubling and conversion phase/formula/stock/free-defender edge cases",
    "Original national-color collision handling and exact Windows rendering",
    "Full original visual transitions and exact smoke/shadow alpha verification",
    "Complete original sound behavior, AMB effects and unsupported bindings",
    "Remaining building content and special/global effects",
    "Original granary timing, corruption reducers, luxury-resource cap and per-city bonus rounding",
    "Full town/city/metropolis progression in ordinary gameplay",
    "Exact original governor scoring, rush anger timing and sale-price concessions",
    "Remaining technology flag effects, full government corruption, exact war-weariness/mood ordering and citizen job nationality",
    "Exact original specialist/disorder and policeman rounding",
    "Exact original repeated engineer/hurry exploit behavior",
    "Original population-head civilization tint and female-head layout",
    "Exact original upgrade/obsolescence edge cases, amphibious transport and complete native action transitions",
    "Exact original embargo review/peace edge cases and native AI valuation",
    "Exact native mutual-protection civilian/phase/chain and peace edge cases",
    "Global warming, volcanic/nuclear contamination; exact native pollution phase, PRNG and tile placement"
  ],
  "originalBehaviorVerified": false,
  "behaviorModels": {
    "cities": "city-economy-v18",
    "finance": "city-finance-v3",
    "science": "atlants-research-v2",
    "workers": "native-terrain-work-v7",
    "combat": "land-rounds-v1",
    "buildings": "city-buildings-v1",
    "management": "city-management-v1",
    "specialists": "atlants-specialists-v1",
    "government": "atlants-government-v1",
    "goldenAge": "atlants-golden-age-v1",
    "population": "atlants-population-v1",
    "culture": "cultural-borders-v1",
    "conversion": "cultural-conversion-v1",
    "war": "war-mood-v1",
    "infrastructure": "rail-and-forts-v1",
    "draft": "atlants-drafting-v1",
    "movement": "automatic-exploration-routes-v2",
    "unitControls": "classic-unit-orders-v1",
    "worldGeneration": "atlants-native-world-v2",
    "mapGeometry": "civ3-staggered-v1",
    "aiExpansion": "known-world-expansion-v1",
    "mapProject": "civ3-atlants-project-v1",
    "unitUpgrade": "atlants-unit-upgrade-v1",
    "production": "native-unit-obsolescence-v1",
    "trading": "atlants-trade-v2",
    "diplomacy": "atlants-diplomacy-v1",
    "agreements": "atlants-agreements-v3",
    "presentation": "native-run-feedback-v1",
    "pollution": "city-pollution-v1",
    "disease": "native-terrain-disease-v1",
    "researchRoutes": "research-route-v1"
  },
  "supportedTechnologyIds": [
    0,
    1,
    2,
    3,
    4,
    5,
    6,
    7,
    8,
    9,
    10,
    11,
    12,
    13,
    14,
    15,
    16,
    17,
    18,
    19,
    20,
    21,
    22,
    23,
    24,
    25,
    26,
    27,
    28,
    29,
    30,
    31,
    32,
    33,
    34,
    35,
    36,
    37,
    38,
    39,
    40,
    41,
    42,
    43,
    44,
    45,
    46,
    47,
    48,
    49,
    50,
    51,
    52,
    53,
    54,
    55,
    56,
    57,
    58,
    59,
    60,
    61,
    62,
    63,
    64,
    65,
    66,
    67,
    68,
    69,
    70,
    71,
    72,
    73,
    74,
    75,
    76,
    77,
    78,
    79,
    80,
    81,
    82,
    83,
    84,
    85,
    86,
    87,
    88,
    89,
    90,
    91,
    92,
    93,
    94,
    95,
    96,
    97,
    98,
    99,
    100,
    101,
    102,
    103,
    104,
    105,
    106,
    107,
    108,
    109,
    110,
    111,
    112,
    113,
    114,
    115,
    116,
    117,
    118,
    119,
    120,
    121,
    122,
    123,
    124,
    125,
    126,
    127,
    128,
    129,
    130,
    131,
    132,
    133,
    134,
    135,
    136,
    137,
    138,
    139,
    140,
    141,
    142,
    143,
    144,
    145,
    146,
    147,
    148,
    149,
    150,
    151,
    152,
    153,
    154,
    155,
    156,
    157,
    158,
    159,
    160,
    161,
    162,
    163,
    164,
    165,
    166,
    167,
    168,
    169,
    170,
    171,
    172,
    173,
    174,
    175,
    176,
    177,
    178,
    179,
    180,
    181,
    182,
    183,
    184,
    185,
    186,
    187,
    188,
    189,
    190,
    191,
    192,
    193,
    194,
    195,
    196,
    197,
    198,
    199
  ],
  "presentation": {
    "renderModel": "indexed-ntp-v2",
    "paletteIds": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9,
      10,
      11,
      12,
      13,
      14,
      15,
      16,
      17,
      18,
      19,
      20,
      21,
      22,
      23,
      24,
      25,
      26,
      27,
      28,
      29,
      30,
      31
    ],
    "unitTextureBudgetBytes": 67108864,
    "audioBufferBudgetBytes": 16777216,
    "originalRenderingVerified": false,
    "originalAudioVerified": false,
    "selectionCursor": {
      "source": "Art/Animations/Cursor/Cursor.flc",
      "frames": 30,
      "frameMs": 83,
      "paletteIds": [
        1,
        9
      ],
      "originalTimingVerified": false
    },
    "compiledPaletteIds": [
      1,
      9
    ],
    "reconstruction": "exact paired RGB index lookup",
    "cityCultureGroups": [
      0,
      1,
      2,
      3,
      4
    ]
  },
  "supportedBuildingIds": [
    0,
    15,
    42,
    45,
    50,
    51,
    58,
    64,
    67,
    77,
    85,
    91,
    95,
    124,
    125
  ],
  "supportedSpecialistIds": [
    1,
    2,
    3,
    4,
    5,
    13,
    14,
    15,
    16,
    17,
    18,
    19,
    20,
    21
  ],
  "worldGeneration": {
    "model": "atlants-native-world-v2",
    "nativeSizes": [
      0,
      1,
      2,
      3,
      4
    ],
    "cellCounts": [
      1800,
      3200,
      5000,
      8450,
      12800
    ],
    "players": [
      2,
      31
    ],
    "defaultPlayerCivilizationId": 6,
    "originalGeneratorVerified": false,
    "navalCompletionAvailable": false,
    "startSpacingReductionIsReported": true,
    "supportedSavedModels": [
      "atlants-native-world-v1",
      "atlants-native-world-v2"
    ],
    "initialGovernmentGrowthChecked": true,
    "startFoodNormalization": "only native eligible technology-free bonus food resources; strategic/luxury resources retained; saved startFoodAdjustments"
  },
  "nativeNationalColors": {
    "paletteCount": 32,
    "compiledReferences": [
      1,
      9
    ],
    "reconstructedColorIndices": 64,
    "bodyAndAlphaPreserved": true,
    "defaultCollisionResolution": false
  },
  "aiExpansion": {
    "model": "known-world-expansion-v1",
    "usesFilteredMap": true,
    "usesSharedRoutePreview": true,
    "nativeSettlerAndWorkerCosts": true,
    "originalAIStrategyVerified": false,
    "deferred": [
      "Naval colonization and escorts",
      "Coordinated offensive groups",
      "Full original difficulty personalities and diplomacy",
      "Improved settlement site scoring and strategic resource priorities"
    ],
    "stablePopulationCanTrainWithZeroFoodSurplus": true
  },
  "editors": {
    "mapProjectFormat": "civ3-atlants-project",
    "version": 1,
    "mapEditor": true,
    "unitPlacementAndInstances": true,
    "unitTypeDesigner": true,
    "layers": [
      "baseTerrain",
      "reliefVegetation",
      "resources",
      "improvements",
      "bonusGrass",
      "reciprocalRivers",
      "civilizationStarts",
      "units",
      "cities"
    ],
    "isolatedDraft": true,
    "nativeAtlasRendererShared": true,
    "undoRedo": true,
    "projectImportExport": true,
    "scenarioLaunchUsesSharedEngine": true,
    "originalWindowsEditorVerified": false,
    "customRuleProfiles": true,
    "selfContainedCustomSaves": true,
    "unitUpgradeLinks": true
  },
  "productionObsolescence": {
    "sharedNationalUpgradeChains": true,
    "directAndQueuedOldOrdersBlocked": true,
    "currentAndQueuedTargetsReplaced": true,
    "stocksPreserved": true,
    "readOnlyEffectiveCityPreview": true,
    "hurryTargetsReplacement": true,
    "schemaVersion": 21,
    "legacySchema20Migration": "Only schema/economy metadata changes; orders normalized on next successful command",
    "originalWindowsOrderingVerified": false
  },
  "validation": {
    "checkedAt": "2026-10-28T03:29:02.069503+00:00",
    "javascriptTests": 786,
    "javascriptModules": 64,
    "execution": "sequential separate Node processes; golden-age and worker-rate targeted reruns after fixes",
    "pythonChecks": 11,
    "dom": true,
    "localBrowserScenarios": 17,
    "finalWorkerBrowserRechecks": 3,
    "publicBrowserStatus": "passed",
    "codeVersion": "63b2d159fee2fbcf",
    "allWindowsOriginalCasesVerified": false,
    "publicBrowserScenarios": 17,
    "publicBrowserReferenceRelease": "63b2d159fee2fbcf",
    "publicSemver": "0.13.0"
  },
  "trading": {
    "commands": [
      "PROPOSE_TRADE",
      "RESOLVE_TRADE",
      "CANCEL_TRADE",
      "BREAK_EMBARGO"
    ],
    "items": [
      "gold",
      "goldPerTurn",
      "technology",
      "resource",
      "contact",
      "worldMap",
      "territoryMap"
    ],
    "minimumCommitment": 20,
    "continuesUntilCancelled": true,
    "savedInterruptions": true,
    "resourceEffects": "common city production, work and mood gates",
    "network": "known-to-both land capital routes through peaceful territories; no RoP required for resource transit",
    "ai": "explicit initial valuation and offers through shared commands; not original Firaxis valuation",
    "tests": 20,
    "originalWindowsBehaviorVerified": false,
    "mutualAgreements": [
      "rightOfPassage",
      "militaryAlliance",
      "tradeEmbargo",
      "mutualProtection"
    ]
  },
  "diplomacy": {
    "nativeMissionRecords": 9,
    "implementedMissionIds": [
      0,
      1
    ],
    "unsupportedMissionIds": [
      2,
      3,
      4,
      5,
      6,
      7,
      8
    ],
    "embassyBaseCost": 15,
    "investigationBaseCost": 7,
    "sourceExeVersion": [
      1,
      21,
      0,
      0
    ],
    "costFormula": "Nearest city distance * target settlement level + native base (plus population for embassy; base multiplied by population for investigation)",
    "distanceModel": "Current cultural distance; exact original metric remains unverified",
    "embassyDuringWar": "inactive; reopens after peace without another charge",
    "intelligence": "mutual live military type totals and diplomatic contacts; paid immutable city reports only for payer",
    "originalBehaviorVerified": false
  },
  "agreements": {
    "model": "atlants-agreements-v3",
    "items": [
      "rightOfPassage",
      "militaryAlliance",
      "tradeEmbargo",
      "mutualProtection"
    ],
    "nativeTechnologyFlags": {
      "rightOfPassage": "0x200",
      "militaryAlliance": "0x400",
      "tradeEmbargo": "0x800",
      "mutualProtection": "0x100"
    },
    "nativeTechnologyIds": {
      "rightOfPassage": [
        30
      ],
      "militaryAlliance": [
        101
      ],
      "tradeEmbargo": [
        48
      ],
      "mutualProtection": [
        130
      ]
    },
    "minimumCommitment": 20,
    "continuesUntilCancelled": true,
    "storage": "canonical mutual terms within ordinary saved trade packages",
    "movement": "reciprocal foreign road/rail bonuses; no unit stacking or foreign city entry",
    "work": "shared foreign worker eligibility; actor own materials; job interruption preserves tile progress",
    "alliance": "mutually contacted third party, at least one existing war; shared war declaration, separate-peace break and target-elimination fulfillment",
    "reputation": "actual aggressor breach history and passage abuse; global Firaxis attitude/valuation remains deferred",
    "ai": "shared accept/refuse and offers, explicit provisional heuristic",
    "tests": 68,
    "originalWindowsBehaviorVerified": false,
    "embargo": "Shared new strategic/luxury trade restriction, old deals and cash/tech preserved; explicit signatory breach ends linked package without war"
  },
  "embargo": {
    "nativeTechnology": 48,
    "flag": "0x800",
    "existingResourceContractsPreserved": true,
    "newResourceTradesBlockedBothDirections": true,
    "goldGPTAndTechnologyAllowed": true,
    "doesNotDeclareWar": true,
    "minimumCommitment": 20,
    "explicitBreach": "Only signatory, full linked package, actual actor breach history before 20 turns; clean cancellation afterwards",
    "privateForeignConditionsDisclosed": false,
    "ai": "shared quotation and initial explicit heuristic",
    "originalReviewTimingVerified": false,
    "originalWindowsBehaviorVerified": false,
    "tests": 20
  },
  "mutualProtection": {
    "nativeTechnology": 130,
    "flag": "0x100",
    "history": "protection-call records in existing tradeHistory",
    "causes": [
      "territorial invasion",
      "pre-combat territorial attack including failed attack and civilian capture"
    ],
    "notTriggeredByDeclarationAlone": true,
    "forcedContactWithoutCoordinates": true,
    "chain": "each reaction requires its own territorial cause and adds a previously absent war",
    "separatePeace": "breaks own linked pact if enemy still invades partner; keeps other wars",
    "ai": "same quotation, native-inspired partner exclusion, provisional valuation",
    "tests": 25,
    "originalWindowsBehaviorVerified": false,
    "remaining": [
      "Civilian-presence interpretation and exact native phases/chain order",
      "Bombardment, air/naval/nuclear causes with future systems",
      "Full original AI and global reputation"
    ]
  },
  "visualFeedback": {
    "terrain": "base, rivers, vegetation/relief, improvements/resources/borders, fog in separate passes",
    "territory": "original Territory.pcx, faction exterior edges only, known map",
    "city": "single-click own city; sticky top-right close; native CityIcons glyphs and resource icons",
    "movement": "native Run frames and sounds, cosmetic committed movement with cancellation on newer input, no game PRNG",
    "indicator": "Map selection remains original white while movement remains, red at zero; HUD movement indicator retains green/yellow/red; HP separate",
    "audio": "original EnterTurn.wav and PaperTurn.wav with explicit sound enable",
    "nativeAssets": 553,
    "audioClips": 273,
    "tintCacheBudgetBytes": 16777216,
    "originalAllTimingVerified": false,
    "coldRunLoading": "Visual holds source coordinates before image/audio preparation, then starts interpolation; no initial teleport",
    "startupProgress": "Actual completed required-resource count and rules phases, reaches100 only when ready",
    "space": "End natural turn if turnStatus ready; Hold selected unit otherwise, no repeats/modal leakage",
    "camera": "Single-click inspection never recenters; double-click free terrain can center",
    "focus": "No default focus outlines; subtle brightness retained for keyboard buttons"
  },
  "knowledgeExchange": {
    "model": "atlants-trade-v2",
    "schema": 27,
    "items": [
      "contact",
      "worldMap",
      "territoryMap"
    ],
    "mapTechnologyFlag": 32768,
    "mapTechnologyIds": [
      87
    ],
    "contactTechnologyFlag": 65536,
    "contactTechnologyIds": [
      115
    ],
    "tests": 28,
    "snapshot": "World-map cells, remembered city name/owner/size and improvements; no hidden units or work progress. Territory map borders only, unexplored terrain retained. Both directions captured before any grant.",
    "freshness": "Visible recipient wins; newer observed turn wins; current sender observation wins same-turn memory tie. Legacy timestamps default0.",
    "ai": "Shared commands and disclosed options; explicit heuristic30/contact40/world20/territory; maps per partner cooldown10turns",
    "originalWindowsBehaviorVerified": false
  },
  "browserCaching": {
    "htmlAndJson": "public,max-age=0,must-revalidate; browser conditional ETag/Last-Modified",
    "versionedAssets": "public,max-age=31536000,immutable; static extension plus hex version query",
    "rulesFetch": "no-cache, stores and revalidates",
    "compression": [
      "zstd",
      "gzip"
    ],
    "gzipProfileBytes": 81999,
    "profileBytes": 1461559,
    "unchangedPublicationPreservesETag": true,
    "publicBrowserChecks": 5,
    "centeredCityIcons": true,
    "release": "54b1b9a4865de2f7"
  },
  "pollution": {
    "citySizeThreshold": 15,
    "nativeCleanupJob": 8,
    "nativeCleanupWorkRaw": 16,
    "physicalBuildingPollution": true,
    "negativeBuildingValues": true,
    "populationAndBuildingsSeparate": true,
    "virtualGrantsIndustrialPollution": false,
    "ecologicalCaps": 1,
    "pollutedYields": 0,
    "sharedWorkerProgress": true,
    "newProductionIds": [
      42,
      51,
      58,
      64,
      77,
      85,
      91
    ],
    "chance": "one percentage point per positive net pollution point; capped at100",
    "placement": "eligible noncity land in radius2, stable row order then saved PRNG choice; original order/phase unverified",
    "originalBehaviorVerified": false,
    "verification": "research/original-game/data/pollution-kernel-verification.json"
  },
  "previousValidation": {
    "checkedAt": "2026-10-28T03:05:14.458547+00:00",
    "javascriptTests": 779,
    "javascriptModules": 63,
    "execution": "sequential separate Node processes with limited CPU",
    "pythonChecks": 10,
    "dom": true,
    "localBrowserScenarios": 16,
    "finalCssBrowserRecheck": true,
    "publicBrowserStatus": "passed",
    "codeVersion": "eb1eddd7d105f8ed",
    "allWindowsOriginalCasesVerified": false,
    "publicBrowserScenarios": 16,
    "publicBrowserReferenceRelease": "eb1eddd7d105f8ed",
    "publicSemver": "0.12.0"
  },
  "scienceControls": {
    "transitivePrerequisiteHighlight": true,
    "questionButtons": false,
    "rightClickHelp": true,
    "mandatoryResearchChoiceCloses": true,
    "manualBudgetWindowStaysOpen": true,
    "publicBrowserVerified": true
  },
  "disease": {
    "model": "native-terrain-disease-v1",
    "evidence": "research/original-game/data/disease-native-evidence.json",
    "staticSignaturesVerified": true,
    "originalRuntimeVerified": false,
    "hardcodedImmunityTechnologyId": 8,
    "phase": "pollution then disease before city food and finance; whole empire batches differ from native per-city interleaving",
    "unitRule": "fortified population_cost=0 on jungle terrain8; random(1000)=0",
    "cityRule": "center and worked dangerous terrain; inclusive population comparison; saved continuing episode, random(128) <= remaining population",
    "notVerified": [
      "Original Windows runtime and random sequence equivalence",
      "Native per-city interleaving with all remaining disasters",
      "Other raw TERR flags"
    ]
  },
  "researchRoutes": {
    "model": "research-route-v1",
    "command": "PLAN_RESEARCH",
    "prerequisites": "All four AND requirements plus mandatory previous eras",
    "ownSaveVersion": 30,
    "originalRuntimeVerified": false
  },
  "uiPreferences": {
    "model": "audio-preferences-v1",
    "independentEffectsAndMusic": true,
    "storedLocally": true,
    "gridMovedFromHeader": true,
    "gestureRequiredForAudio": true
  },
  "directWorkerOrders": {
    "jobs": [
      3,
      4,
      2,
      0,
      1,
      6,
      7,
      5,
      8,
      12
    ],
    "sharedCommand": "START_WORK",
    "repeatFortifyIsIdempotent": true,
    "AIExcludesNoOpFortify": true,
    "automaticSelectionScrollsOnlyOutsideViewport": true
  },
  "cityInterface": {
    "centeredCityNavigation": true,
    "governorAboveFold": true,
    "visibleAssignments": "map and resident heads",
    "garrison": "observed units at the selected city",
    "productionMaintenance": "nominal native building maintenance with gold icon"
  },
  "mapContext": {
    "source": "playerView",
    "rememberedTerrainAndImprovements": true,
    "unrevealedResourcesHidden": true,
    "forecastsDoNotMutateState": true
  },
  "civilopedia": {
    "catalog": "all nine native profile tables plus 96 concepts",
    "originalSections": 2159,
    "duplicateSectionsPreserved": 2,
    "source": "Original Sources/CIV3ATL2/Conquests/Text/civilopedia.txt",
    "encoding": "cp1251",
    "textLoad": "lazy on first open; browser revalidation",
    "search": true,
    "linkedArticles": true,
    "history": true,
    "originalTextSeparatedFromCurrentFacts": true,
    "gameStateMutation": false
  },
  "workerRate": {
    "model": "native-terrain-work-v7",
    "schema": 31,
    "formula": "max(1,trunc(float32(float32(governmentRate)*industrialFactor)*technologyFactor*originFactor*float32(unitStrength)))",
    "nativeFunction": "0x5b30d0",
    "isolatedMachineCodeCases": 576,
    "originalWindowsRuntimeVerified": false,
    "perUnitRoundingBeforeGroupSum": true,
    "oldPartialProgressPreserved": true,
    "evidence": "research/original-game/data/worker-rate-native-cases.json"
  },
  "profileId": "atlants2-827be8b3f7aab140"
}
