{
  "model": "city-economy-v18",
  "scope": "Fixed land scenario and measured Atlants profile: 155 land unit records in the native upgrade/airborne catalog, 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; Ordinary surface naval movement, cargo and initial colonization are now executed; special naval and air abilities remain partial. 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. Naval v1 implements 49 of 53 native ship records, shared coastal production and shipyard modernization, land passengers, capacity and Foot gates, co-location/shore loading, own ports, amphibious unloading, hidden cargo, sea battle cargo loss, ship movement bonuses, native Sea/Ocean sinking flags and safety technologies. Simple filtered-map AI explores and colonizes known separate islands. Static original EXE signatures are checked; Windows phase/order, exact naval combat and remaining special abilities are not verified. Ordinary active ground/sea bombardment now uses shared visible-target commands, native range/ROF/lethal flags, unit damage, port half-threshold, city/fortification and infrastructure effects. Native 1024-outcome integer arithmetic is checked against1130 isolated executions of original x86 blocks, including signed32 overflow cases. Eleven ordinary ground artillery types, original button/cursors/animations/audio and initial artillery production/positioning AI are connected. Target ranking, city exceptions and full Windows PRNG/phases remain explicitly unverified. Land and sea resource networks now share native waterTrade harbors, per-owner complete routes, Sea/Ocean technology rights, hostile combat-occupier blockades, city canals, domestic resources and international contracts. Schema34 records the model; original matrix predicate105cases and13 static call-site signatures are checked. Full original route search, air links and special port exceptions remain unverified. Air reconnaissance and rebasing now use shared commands, native mission masks/ranges, saved per-aircraft reconnaissance across opponent turns and diplomatic interruptions, city/carrier basing, two native mobile air scouts and two air-only carriers. Initial filtered-map scout AI and original assets are connected. Combat air missions, interception/AA execution, airfields and transport drops remain in progress; their researched arithmetic is not equivalent to an implemented system. Military leaders now spawn through ordinary elite combat and share building/small-wonder rush with UI and basic AI. Army formation/composition/combat and scientific leaders are still open.",
  "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,
    118,
    119,
    120,
    121,
    122,
    123,
    124,
    125,
    126,
    127,
    128,
    129,
    130,
    131,
    135,
    136,
    140,
    141,
    142,
    143,
    144,
    156,
    157,
    158,
    159,
    160,
    161,
    162,
    165,
    166,
    167,
    169,
    170,
    202,
    203,
    204,
    205,
    206,
    207,
    208,
    209,
    210,
    211,
    212,
    213,
    214,
    215,
    216,
    217,
    218,
    219,
    235,
    236,
    237,
    238,
    239,
    240,
    241,
    242,
    243,
    244,
    245,
    246,
    247,
    248,
    249,
    250,
    251,
    252,
    253,
    254,
    255,
    256,
    257,
    258,
    259,
    260,
    261,
    264,
    265,
    266,
    267,
    268,
    269,
    270,
    271,
    272,
    273,
    274,
    275,
    276,
    277,
    278,
    279,
    280,
    281,
    282,
    285,
    286,
    288,
    289,
    290,
    291,
    292,
    293,
    294,
    295,
    296,
    297,
    298,
    299,
    300,
    301,
    302,
    303,
    304,
    305,
    306,
    307,
    308,
    309,
    310,
    311,
    312,
    335,
    342,
    343,
    346,
    380
  ],
  "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",
      "bombard_range",
      "rate_of_fire",
      "operational_range"
    ],
    "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",
      "building_defense",
      "citizen_defense",
      "battle_created_unit"
    ],
    "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": "Shared native land/worker commands, active ground/sea bombardment, five conventional air missions, AIRLIFT byte4:bit2 and AIR_DROP byte4:bit5 execute through common gates. Scoped airport/airfield sources, cargo, movement, loss and native button binding are tested. Armies, other special actions, full original target cursor and low-level helper behavior remain partial or unimplemented. Finish Improvements byte4:bit7 is executed by LEADER_HURRY for ordinary buildings and small wonders. Great wonders and PRTO rush are rejected; native helper/caller coverage remains scoped.",
    "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. Naval: foot0:1, amphibious0:6, onlyFoot1:6, sinksSea1:3, sinksOcean1:4 and allTerrainAsRoads0:4 are executed. Unsupported invisible/hidden nationality/missile-only ships are excluded from normal production; armies remain deferred. Lethal Land byte3:bit3, Lethal Sea byte3:bit4, Infinite Range byte2:bit4 and the shared Blitz limit are executed by active bombardment. Only Air byte1:bit0 gates aircraft carriers; transported air parts can be selected for recon/rebase, obey capacity and follow/sink with the carrier. Leader byte2:bit3 now gates military rush and destruction instead of capture. Army composition/combat and scientific leaders remain separate.",
    "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. Naval safety masks0x2000/0x4000 are executed; original Windows PRNG and timing unverified. SeaTrade0x2000 and OceanTrade0x4000 gate separate water classes in the shared resource network.",
    "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. Native veteranSea gates sea modernization, safeSea/shipMovement/shipMovement2 modify ship safety/movement for active physical buildings. Active waterTrade byte2:bit4 joins road networks through water, waterFood remains shared tile yield, safeSea enables Sea trade. Air trade is implemented through the shared network. Active veteranAir byte2:bit2 also gates airport AIRLIFT; building9 is in normal production with original requirements/cost and images. Separate airTrade0x200000 now joins resource components; source airport usage does not affect it. Active More Leaders byte8:bit0 modifies the eligible military leader denominator once, without stacking.",
    "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.",
    "PRTO.domain": "155 land,49 ordinary naval and27 conventional air records are in the current production catalog. Shared movement, naval/air cargo, recon/rebase, bombing, interception, AA, airlift and scoped airborne drops are integrated. Other special naval/air abilities and complete Windows equivalence remain open.",
    "PRTO.capacity": "Own ground or flagged air passengers, exact Foot/OnlyAir domain gates, capacity, saved parent references, no nested ordinary transports, hidden foreign cargo, ordinary and same-cell unloading, carrier loss and aircraft rebase are implemented. Atlants310/311 capacity4/2 has no OnlyFoot flag. Army/upgraded-type inherited capacity and specialized missile cargo remain deferred.",
    "BLDG.bombard_defense": "Physical active land/sea fortifications precede other bombard targets. Exact free/wonder defenses, exclusions and physical removal selection need Windows verification.",
    "PRTO.air_defense": "Native experience-weighted AA, city SAM and fighter interception are implemented; isolated supplied x86 arithmetic/geometry and kernel/browser cases verify the stated scope. Full original target order/PRNG and Windows phases remain unverified.",
    "PRTO.operational_range": "Native complete airdrop cursor uses raw operational range, inclusive wrapped distance, zero as zero and negative as unlimited; verified207 target/range/binding/dispatch/cost cases with external helpers controlled. Other air missions retain their independently tested range semantics. Full Windows and special-unit visibility remain open."
  },
  "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",
      "bombard_range",
      "rate_of_fire",
      "operational_range"
    ],
    "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",
      "building_defense",
      "citizen_defense",
      "battle_created_unit"
    ],
    "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",
    "transportNetwork": "22 kernel fixtures,105 executions of complete original x86 connection-matrix predicate,13 static signatures; browser sale/blockade/reload and12,800-cell query benchmark. Full Windows route search is not verified.",
    "air": "17 kernel checks,505 original machine-code cases and18 static signatures; complete browser recon/trade interruption/carrier/production/reload scenario. Full Windows runtime remains unverified."
  },
  "tests": 987,
  "notImplemented": [
    "Full mood modifiers",
    "Exact original anarchy distribution/thresholds/timing and golden-age first/last-harvest edge cases",
    "Original PRNG",
    "BIQ geography import",
    "SAV runtime import",
    "Exact original bankruptcy selection and proceeds",
    "Exact original first/last worker-turn phase and multiplayer timing",
    "Armies, scientific leaders/golden ages, remaining combat abilities and full native military leader construction/naming/relocation",
    "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",
    "Remaining special naval bombardment, invisible/hidden-nationality ships, specialized air/missile cargo, foreign ports and freshwater exceptions, exact naval modifiers/phases and strategic fleet AI",
    "Full external airborne visibility/invisibility, low-level load/unload side effects, complete air transport strategy and exact Windows input/animation/sound sequence"
  ],
  "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",
    "naval": "naval-transport-v1",
    "bombardment": "native-bombardment-v1",
    "transportNetwork": "land-sea-air-trade-network-v2",
    "air": "native-air-missions-v4",
    "militaryLeaders": "military-leaders-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
    ],
    "currentManifest": {
      "graphicsRecords": 1664,
      "audioClips": 1012,
      "productionUnitIcons": 231,
      "airborneNativeAnimationRecords": 120,
      "recoveredOriginalFLCFrames": 143,
      "leaderNativeAnimationRecords": 16
    }
  },
  "supportedBuildingIds": [
    0,
    9,
    15,
    42,
    44,
    45,
    50,
    51,
    52,
    58,
    64,
    67,
    77,
    85,
    88,
    91,
    93,
    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",
    "navalProgress": "Ordinary surface ships and initial island colonization; full special naval systems deferred"
  },
  "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": [
      "Coordinated offensive groups",
      "Full original difficulty personalities and diplomacy",
      "Improved settlement site scoring and strategic resource priorities",
      "Coordinated naval escorts, assaults and strategic fleet composition"
    ],
    "stablePopulationCanTrainWithZeroFoodSurplus": true,
    "navalColonization": "Initial filtered-known-map ship production, loading founder, shared safe routes, landing and ordinary founding; prepared two-island regression24commands."
  },
  "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-28T17:47:37.447292+00:00",
    "scope": "Military leader birth before promotion, native denominators, persistent source marker, shared building/small-wonder rush, original leader media, safe basic AI and genuine schema40 metadata-only migration",
    "javascriptTests": 987,
    "javascriptModules": 82,
    "pythonChecks": 70,
    "dom": true,
    "localBrowserScenarios": 14,
    "publicBrowserStatus": "passed",
    "codeVersion": "6a223719abf90d22",
    "publicSemver": "0.24.0",
    "allWindowsOriginalCasesVerified": false,
    "publicBrowserScenarios": 14,
    "publishedAt": "2026-10-28T17:47:37+00:00"
  },
  "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": "Per-owner complete known land/sea capital routes through peaceful territory; either participant graph suffices internationally, own graph domestically; two active harbors, Sea/Ocean rights, combat-occupier blockade, canals; no RoP required",
    "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": 1294,
    "audioClips": 879,
    "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-28T12:46:35.766289+00:00",
    "scope": "Native air-trade links in shared land/sea resource network; separate airport flags, sale/import/production interaction, city status, filtered airport-production AI and schema38 migration",
    "javascriptTests": 924,
    "javascriptModules": 75,
    "pythonChecks": 25,
    "dom": true,
    "localBrowserScenarios": 30,
    "publicBrowserStatus": "passed",
    "codeVersion": "8ded1191b0afb620",
    "publicSemver": "0.21.0",
    "allWindowsOriginalCasesVerified": false,
    "publicBrowserScenarios": 30,
    "publishedAt": "2026-10-28T12:40:34+00:00",
    "publishedByteAudit": "published-0210-byte-audit.json"
  },
  "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,
      9
    ],
    "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,
    "singleDiamondPreview": true,
    "hoveredUnitNativePreview": true,
    "ownCargoIncluded": true,
    "hoverDoesNotMutateState": true,
    "selectedPassengerCanLandByDrag": 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"
  },
  "naval": {
    "model": "naval-transport-v1",
    "schema": 32,
    "supportedUnitIds": [
      235,
      236,
      237,
      238,
      239,
      240,
      241,
      242,
      243,
      244,
      245,
      246,
      247,
      248,
      249,
      250,
      251,
      252,
      253,
      254,
      255,
      256,
      257,
      258,
      259,
      260,
      261,
      264,
      265,
      266,
      267,
      268,
      269,
      270,
      271,
      272,
      273,
      274,
      275,
      276,
      277,
      278,
      279,
      280,
      281,
      282,
      335,
      346,
      380
    ],
    "nativeShipRecords": 53,
    "supportedShips": 49,
    "animationEntries": 223,
    "shipyardId": 93,
    "commands": [
      "LOAD",
      "MOVE",
      "GOTO",
      "EXPLORE"
    ],
    "transportInterface": "Transport button or L, cargo and legal landing destinations",
    "nativeStaticSignatures": 13,
    "nativeRuntimeVerified": false,
    "sharedCargoLoss": true,
    "ownPortsOnly": true,
    "aiColonizationFixtureCommands": 24,
    "sinkingPhase": "own turn end before healing; exact native phase unverified",
    "tests": 17,
    "stage51Complete": false,
    "evidence": "research/original-game/data/naval-native-evidence.json"
  },
  "bombardment": {
    "model": "native-bombardment-v1",
    "schema": 33,
    "command": "BOMBARD",
    "artilleryTypes": [
      207,
      208,
      209,
      210,
      211,
      212,
      213,
      214,
      215,
      216,
      219
    ],
    "nativeArithmeticCases": 1130,
    "nativeStaticSignatures": 21,
    "nativeWindowsRuntimeVerified": false,
    "targets": [
      "unit",
      "fortification",
      "city-population",
      "city-building",
      "infrastructure"
    ],
    "visibleOnly": true,
    "attackCost": "one native movement point; no relocation; ordinary attack limit shared; Blitz allowed",
    "nonlethalFloor": 1,
    "lethalLandAndSeaIndependent": true,
    "sharedVictoryRewards": true,
    "ai": "Filtered-map targeting, support production with retained order, bounded approach-position search",
    "tests": 23,
    "remaining": [
      "Exact defender/building/nationality selection",
      "Free/wonder fortifications and original immunity exceptions",
      "Original PRNG/phases and exact animation order",
      "Air, single-use missiles and special abilities"
    ],
    "evidence": "research/original-game/data/bombardment-native-evidence.json",
    "arithmetic": "research/original-game/data/bombardment-native-arithmetic.json"
  },
  "transportNetwork": {
    "model": "land-sea-air-trade-network-v2",
    "schema": 38,
    "nativeHarborBuildingIds": [
      52
    ],
    "nativeSeaTechnologyIds": [
      46
    ],
    "nativeOceanTechnologyIds": [
      86
    ],
    "nativeHarborShieldCost": 30,
    "nativeHarborUpkeep": 1,
    "originalMatrixPredicateCases": 105,
    "staticOriginalSignatures": 13,
    "kernelChecks": 22,
    "domesticGraph": "own owner",
    "internationalGraph": "either complete participant graph, without merging partial maps",
    "hiddenCombatBlockade": true,
    "publicBlockerCoordinatesExposed": false,
    "waterCanalsWithoutHarbor": true,
    "freeAndInactiveBuildingRulesShared": true,
    "routeCache": "exact comparison of topology/knowledge/war/rights, no PRNG; component copies for callers",
    "oldSchema33Migration": "only schema and model metadata; genuine published fixture",
    "cityStatusAndNativePortrait": true,
    "ai": "Initial harbor construction for own coastal cities disconnected on land; full fleet strategy deferred",
    "evidence": "research/original-game/data/transport-network-native-evidence.json",
    "performance": "research/original-game/data/transport-network-performance.json",
    "originalWindowsRuntimeVerified": false,
    "stage51Complete": false,
    "open": [
      "Original city-ID recycling and SAV identity mapping",
      "Original road/sea search, hidden nationality and special port/freshwater exceptions",
      "Full native update/turn/PRNG phases and Windows runtime"
    ],
    "airTrade": true,
    "airTradeBuildingIds": [
      9
    ],
    "airTradeFlag": "BLDG byte2:bit5 / 0x200000; separate from veteranAir0x40000",
    "airTradeNativeCases": 688,
    "airTradeStaticSignatures": 8,
    "airTradeEvidence": "research/original-game/data/air-trade-native-evidence.json",
    "airTradeDiscovery": "native ascending city-ID pair; second endpoint discovery only",
    "airTradePairPeace": true,
    "airTradeIgnoresSeaBlockadeAndAirliftUsage": true,
    "initialFilteredAirportProductionAI": true,
    "oldSchema37Migration": "only version/network-model metadata; genuine published used-airport and transferred-unit fixture"
  },
  "air": {
    "model": "native-air-missions-v3",
    "schema": 41,
    "nativeAirRecords": 27,
    "productionAirIds": [
      285,
      286,
      288,
      289,
      290,
      291,
      292,
      293,
      294,
      295,
      296,
      297,
      298,
      299,
      300,
      301,
      302,
      303,
      304,
      305,
      306,
      307,
      308,
      309,
      310,
      311,
      312
    ],
    "airCarrierIds": [
      279,
      280
    ],
    "commands": [
      "AIR_RECON",
      "REBASE",
      "AIR_BOMBARD",
      "AIR_PRECISION",
      "AIR_SUPERIORITY",
      "AIRLIFT",
      "AIR_DROP",
      "LOAD",
      "UNLOAD"
    ],
    "rebaseRangeMultiplier": 6,
    "zeroRebaseRangeFallback": 500,
    "rebaseMovementCost": "one native road-movement quantum",
    "reconMovementCost": "all remaining movement",
    "reconArea": "logical5x5",
    "reconExpiration": "real next owner turn, not diplomatic activation",
    "citiesAndOwnedCarriers": true,
    "airOnlyCargoAndCapacity": true,
    "nativeMobileFlight": true,
    "initialFilteredScoutAI": true,
    "originalMachineCodeCases": 505,
    "staticSignatures": 18,
    "arithmeticOnlyForFutureAAAndInterception": false,
    "combatAirMissionsImplemented": true,
    "stage52Complete": false,
    "oldSchema34Migration": "only schema/model metadata, genuine published fixture",
    "originalWindowsRuntimeVerified": false,
    "evidence": "research/original-game/data/air-native-evidence.json",
    "open": [
      "Complete original worker/calendar ordering and native city-slot ID reuse",
      "Full mixed-owner target selection and effective combat bonuses",
      "Original PRNG, Windows shadow blending and full animation/sound sequence",
      "Full external visibility/invisibility helpers, low-level load/unload helpers and exact Windows input/animation/sound sequence"
    ],
    "exactOriginalCommandGlyphBindingsVerified": true,
    "commandGlyphEvidence": "research/original-game/data/air-command-icons-evidence.json",
    "commandGlyphMachineCases": 67,
    "commandGlyphStaticSignatures": 11,
    "commandGlyphSlots": {
      "bombing": 37,
      "recon": 38,
      "intercept": 39,
      "rebase": 40,
      "precision": 41
    },
    "commandGlyphAtlas": "Conquests/Art/interface/normbuttons.pcx",
    "commandGlyphThreeStatesVerified": true,
    "oldSchema35Migration": "only schema and air-model metadata; genuine published carrier/recon save",
    "combatMachineCodeCases": 732,
    "combatStaticSignatures": 8,
    "combatEvidence": "research/original-game/data/air-combat-native-evidence.json",
    "cityAirDefenseBuildingIds": [
      44,
      88
    ],
    "mobileAirDefenseUnitIds": [
      217,
      218
    ],
    "patrolReadiness": "next actual owner turn; diplomatic activation excluded",
    "airCombatRounds": "clamped integer defense threshold,1024 outcomes",
    "aaKillPromotion": false,
    "interceptionAbortsMission": true,
    "airportAirlift": true,
    "airportSendingLimit": 1,
    "airportReceivingUnlimited": true,
    "airportAirliftNativeFlag": "veteranAir / 0x40000",
    "airportAirliftUsage": "optional city.airliftUsed boolean; reset at actual next city-owner turn",
    "oldSchema36Migration": "metadata only; genuine published fixture",
    "airliftEvidence": "research/original-game/data/airlift-native-evidence.json",
    "airliftMachineCases": 24,
    "airliftStaticSignatures": 8,
    "airliftGlyphSlot": 9,
    "initialFilteredAirliftAI": true,
    "introducedSchema": 39
  },
  "interfacePolish": {
    "productionIconCoverage": 213,
    "productionCatalogDrivesAssetPreparation": true,
    "originalRGBAPixelsVerified": true,
    "caseInsensitivePediaIcons": true,
    "workerHousingOriginalImages": true,
    "workerHousingExplicitPlaceholderBindingCorrection": 124,
    "productionMenuGapAboveCard": 24,
    "productionMenuRightAligned": true,
    "testedViewportWidths": [
      1365,
      946,
      473
    ],
    "centeredCityArrows": true,
    "rightClickTilePreview": true,
    "previewExcludesUnitsAndLabels": false,
    "previewUsesFilteredKnowledge": true,
    "rightClickUsesExistingSelectionFrame": true,
    "rightClickPreservesCameraAndGameState": true,
    "contextCoordinatesAndAbsentResourceHidden": true,
    "contextYieldIcons": true,
    "conditionalUnitSeparator": true,
    "healthVerticallyCentered": true,
    "monochromeHeaderIcons": true,
    "developmentDropdown": [
      "research",
      "upload",
      "notes"
    ],
    "nativeCursorAtlasSeparatorsExcluded": true,
    "inlandShipOrdersHidden": true,
    "coastalShipOrdersRetained": true,
    "schema": 36,
    "engineUnchanged": false,
    "evidence": "research/original-game/data/browser-ui-polish-verification.json",
    "documentation": "research/original-game/city-and-map-ui-polish.md",
    "turnHourglass": {
      "decorative": true,
      "cycleMs": 2600,
      "reducedMotionRespected": true
    },
    "previewUnitOnlyOnRowHoverOrFocus": true,
    "contextCargoSelection": true,
    "automaticRouteManualFocusExcluded": true,
    "spentRouteCancelledByClick": true
  },
  "previousValidation0172": {
    "checkedAt": "2026-10-28T09:55:30.171233+00:00",
    "scope": "UI corrections requested in screenshots;72 engine files unchanged from0.17.1",
    "javascriptTests": 865,
    "javascriptModules": 68,
    "javascriptSuiteCodeVersion": "b718878b7c2fda96",
    "finalUiOnlyChange": "Hide NAVAL_REQUIRES_COAST orders in inland city picker; final UI/DOM checked separately",
    "pythonChecks": 20,
    "dom": true,
    "localBrowserScenarios": 7,
    "finalUiBrowserScenarios": 4,
    "publicBrowserStatus": "passed",
    "codeVersion": "9bb86780a3d686d3",
    "publicSemver": "0.17.2",
    "allWindowsOriginalCasesVerified": false,
    "publicBrowserScenarios": 7
  },
  "previousValidation0173": {
    "checkedAt": "2026-10-28T10:16:42.759590+00:00",
    "scope": "Single-cell terrain preview and decorative animated AI turn hourglass",
    "codeVersion": "f661c54d035f8228",
    "publicSemver": "0.17.3",
    "publicBrowserStatus": "passed",
    "localBrowserScenarios": 2,
    "publicBrowserScenarios": 2,
    "pythonChecks": 4,
    "engineUnchangedFrom": "0.17.2",
    "priorKernelTests": 865,
    "kernelSuiteRerun": false,
    "allWindowsOriginalCasesVerified": false
  },
  "previousValidation0180": {
    "checkedAt": "2026-10-28T10:49:48.405655+00:00",
    "scope": "Stage5.2 conventional air combat, AA, native presentation; route focus/click interruption, cargo context selection and hover preview",
    "javascriptTests": 893,
    "javascriptModules": 70,
    "coreFullSuiteCodeVersion": "6e2541189879bd2e",
    "finalPresentationTests": 3,
    "pythonChecks": 22,
    "dom": true,
    "localBrowserScenarios": 25,
    "finalBrowserScenarios": 4,
    "publicBrowserStatus": "passed",
    "codeVersion": "a83e70e6e4962739",
    "publicSemver": "0.18.0",
    "allWindowsOriginalCasesVerified": false,
    "publicBrowserScenarios": 25
  },
  "previousValidation0181": {
    "checkedAt": "2026-10-28T10:58:43.905400+00:00",
    "scope": "Selected passenger can land by ordinary drag from its ship cell",
    "codeVersion": "9281c4f230d2c99f",
    "publicSemver": "0.18.1",
    "engineUnchangedFrom": "0.18.0",
    "inheritedJavaScriptChecks": 893,
    "inheritedPythonChecks": 22,
    "inheritedPublicBrowserScenarios": 25,
    "localBrowserScenarios": 4,
    "dom": true,
    "publicBrowserStatus": "passed",
    "allWindowsOriginalCasesVerified": false,
    "publicBrowserScenarios": 4
  },
  "developerLogs": {
    "allRowsSinceTabLoad": true,
    "compactJsonLines": true,
    "copyAllAndManualFallback": true,
    "liveUpdates": true,
    "recentHistoryApiLimit": 200,
    "modalAndNewTabIcons": true
  },
  "movementPresentation": {
    "actualIntermediateVisibility": true,
    "observerOption": "observerId",
    "transientResult": "movementSight",
    "doesNotChangeStateOrRng": true,
    "worldAndMinimapShareProjection": true
  },
  "interturnPlanning": {
    "commands": [
      "SET_PRODUCTION",
      "QUEUE_PRODUCTION",
      "REMOVE_QUEUED_PRODUCTION",
      "CLEAR_PRODUCTION_QUEUE",
      "SET_CITIZENS",
      "SET_GOVERNOR",
      "SET_RESEARCH",
      "PLAN_RESEARCH",
      "SET_BUDGET"
    ],
    "keepsActiveTurnPhaseAndRng": true,
    "doesNotAdvanceForeignRoutes": true,
    "preservesRunningPresentation": true,
    "explicitUserRequestedControlChange": true
  },
  "airfields": {
    "schema": 39,
    "workerJobId": 9,
    "requiredTechnologyId": 119,
    "sharedCommand": "START_WORK",
    "oneWorkerConsumedAtCompletion": true,
    "sharedCooperativeWork": true,
    "nativeRulesCases": 370,
    "nativeRendererCases": 8,
    "nativeStaticSignatures": 7,
    "nativeButtonSlot": 33,
    "unlimitedAircraftBasing": true,
    "mixedAirportFieldAirlift": true,
    "oneOutgoingUnitPerBase": true,
    "unlimitedReceiving": true,
    "usedCounterPreservedOnCapture": true,
    "counterResetOnlyAtOwnerTurn": true,
    "resourceAirTrade": false,
    "editorOwnershipAndUndo": true,
    "saveMigration": "genuine published schema38 changes only version",
    "kernelChecks": 13,
    "mediaRecords": 5,
    "ruleEvidence": "research/original-game/data/airfield-native-evidence.json",
    "rendererEvidence": "research/original-game/data/airfield-renderer-evidence.json",
    "documentation": "research/original-game/airfields-and-worker-bases.md",
    "originalWindowsRuntimeVerified": false,
    "open": [
      "Complete original worker/calendar ordering and original city-slot ID reuse after destruction remain open",
      "Full low-level aircraft relocation/deletion side effects and complete outer native territory traversal are not emulated",
      "Full Windows runtime and native PRNG equivalence are not verified"
    ],
    "culturalEvacuation": {
      "implemented": true,
      "nativeCases": 140,
      "nativeBlocks": 5,
      "nearestCity": "previous field owner; cultural metric; first city slot on tie",
      "airportAndRebaseRangeRequired": false,
      "movementRequired": false,
      "cost": "one ordinary movement point; clamped to zero remaining",
      "noCity": "remove aircraft",
      "occursBeforeNextOwnerTurn": true,
      "sendCounterPreservedUnlessActualCurrentOwnerTurnStarts": true,
      "nativeMixedOwnerFilter": true,
      "savedPatrolPreserved": true,
      "genuinePublishedSchema39": true,
      "kernelChecks": 6,
      "evidence": "research/original-game/data/airfield-evacuation-native-evidence.json",
      "browser": "research/original-game/data/browser-airfield-evacuation-verification.json"
    }
  },
  "siteDomain": {
    "checkedAt": "2026-10-28T15:27:26.218351+00:00",
    "canonicalOrigin": "https://civ3.ya-erm.ru",
    "release": {
      "version": "90c55c2fe714611e",
      "semver": "0.22.2",
      "publishedAt": "2026-10-28T15:23:46+00:00"
    },
    "legacyOrigin": "https://vm.ya-erm.ru/civilization/",
    "redirectStatus": 308,
    "keepQueryAndEscapedPaths": true,
    "browserStorageMigration": "copy only missing civilization-prefixed localStorage entries before game startup; retain originals",
    "legacyBridge": "https://vm.ya-erm.ru/civilization/site-transfer.html",
    "notesStorageUnchanged": true,
    "uploadsStorageUnchanged": true,
    "independentStaticServicesUntouched": true,
    "saveSchemaUnchanged": 39,
    "browserReport": "browser-site-domain-verification.json",
    "httpReport": "domain-http-verification.json",
    "limitations": [
      "Automatic transfer requires storage access in the same browser profile; manual old-site JSON download is retained",
      "Existing data on the new origin is never replaced; a later old-site save can be imported manually"
    ]
  },
  "previousValidation0220": {
    "checkedAt": "2026-10-28T15:12:52.370895+00:00",
    "scope": "Field airfields: shared worker progress and worker consumption, native graphics, rebase, mixed airlift bases and slots, capture/destruction, AI, map editor and schema39 migration",
    "javascriptTests": 937,
    "javascriptModules": 76,
    "pythonChecks": 29,
    "dom": true,
    "localBrowserScenarios": 31,
    "publicBrowserStatus": "passed",
    "codeVersion": "bd463fdeed227095",
    "publicSemver": "0.22.0",
    "allWindowsOriginalCasesVerified": false,
    "publicBrowserScenarios": 31,
    "publishedAt": "2026-10-28T15:06:19+00:00",
    "publishedByteAudit": "published-0220-byte-audit.json"
  },
  "airTransport": {
    "implemented": true,
    "aircraftTypeIds": [
      310,
      311
    ],
    "groundDropTypeIds": [
      118,
      119,
      120,
      121,
      122,
      123,
      124,
      125,
      126,
      127,
      128,
      129,
      130,
      131,
      342,
      343
    ],
    "aircraftCargoCapacities": {
      "310": 4,
      "311": 2
    },
    "cargoRequirements": "actual native OnlyAir/OnlyFoot flags; neither Atlants aircraft imposes foot-only",
    "loading": "same tile for aircraft, shared compatibility/capacity and owner checks",
    "rebase": "cargo follows; passenger movement preserved",
    "unload": "RMB select cargo and move normally, or unload here on safe land; no carrier movement required for individual passengers",
    "groundDrop": "zero movement spent; airport or field; raw operational range; visible water/foreign troops forbidden; blind target allowed with risk; all ground movement spent",
    "helicopterDrop": "all cargo; carrier stays at base and spends one ordinary movement quantum; air defense can interrupt",
    "foreignOccupiedDrop": "visible foreign troops reject the command; hidden occupation and foreign empty city lose dropped units",
    "saveSchema": 41,
    "airModel": "native-air-missions-v4",
    "originalCases": 974,
    "originalBlocks": 6,
    "originalWindowsRuntimeVerified": false,
    "evidence": "research/original-game/data/air-transport-native-evidence.json",
    "documentation": "research/original-game/air-transport-and-drops.md",
    "browser": "research/original-game/data/browser-air-transport-verification.json",
    "open": [
      "Army/upgraded-type cargo inheritance not covered by ordinary load matrix",
      "Full low-level transport helpers and exact mixed animation/sound sequence",
      "Complete strategic aircraft transport AI and full Windows/PRNG equivalence",
      "Full external unit visibility/invisibility helpers and complete Windows input sequence"
    ],
    "nativeGraphics": {
      "animationRecords": 120,
      "productionIcons": 18,
      "oneDirectionRowsCorrected": true,
      "recoveredFLC": [
        "DesertParatrooperDrop.flc",
        "AirTransDeath.flc"
      ],
      "recoveredPlaybackFrames": 143,
      "exactFramePixelComparison": true,
      "originalFilesUnmodified": true,
      "emptyBuildIds": [
        124,
        342
      ],
      "emptyBuildPolicy": "original Default pose; no invented drop frames"
    },
    "nativeCommandGlyphSlot": 12,
    "kernelChecks": 15,
    "originalSingleDirectionCanvasVerified": true,
    "genuinePublishedSchema39": true,
    "publicBrowserChecks": {
      "airplaneRebaseCarriesCargo": true,
      "sameCellUnloadAfterSpentCarrier": true,
      "airCargoSaveReloadAndExactExport": true,
      "originalDropGlyphThreeStates": true,
      "dropKeyboardAndCancel": true,
      "hiddenTargetRejected": true,
      "helicopterWholeCargoDropAndReturn": true,
      "dropReloadExact": true,
      "paratrooperMapOrderAndSpentReadiness": true,
      "originalSingleDirectionParachuteDrawsValidPixels": true,
      "cameraShowsLandingBeforeNextUnit": true,
      "genuinePublished39Migration": true
    },
    "cameraShowsLandingBeforeNextUnit": true,
    "nativeTargetRules": {
      "cases": 207,
      "blocks": 10,
      "visibleForeignTroops": "forbidden, including neutral",
      "ownTroops": "allowed",
      "visibleWater": "forbidden",
      "unseenTarget": "allowed without reading hidden terrain/units",
      "foreignEmptyCity": "allowed by cursor, loss on landing",
      "radiusZero": "zero, no fallback500",
      "radiusNegative": "unlimited in native cursor",
      "wrappedDistanceVerified": true,
      "interruptedMovementCostVerified": true,
      "evidence": "research/original-game/data/airdrop-target-native-evidence.json",
      "documentation": "research/original-game/airdrop-target-native-rules.md",
      "browser": "research/original-game/data/browser-airdrop-targets-verification.json",
      "externalVisibilityInvisibilityFullyVerified": false,
      "publicBrowserChecks": {
        "genuinePublished40MetadataOnlyMigration": true,
        "visibleForeignTargetRejectedWithoutMutation": true,
        "blindWaterLossAndReload": true,
        "hiddenOccupationLossAndReload": true,
        "successfulBlindJumpRevealsDestinationAndReloads": true
      },
      "genuinePublishedSchema40MetadataOnlyMigration": true
    },
    "introducedSchema": 40
  },
  "previousValidation0223": {
    "checkedAt": "2026-10-28T15:48:50.426194+00:00",
    "scope": "Cultural airfield ownership: forced nearest-city evacuation or loss, native search/ties/cost, resolve ownership before next-turn base-slot reset, saved patrol and genuine published schema39 continuation",
    "javascriptTests": 948,
    "javascriptModules": 79,
    "pythonChecks": 62,
    "dom": true,
    "localBrowserScenarios": 8,
    "publicBrowserStatus": "passed",
    "codeVersion": "b5a1497539f59ab2",
    "publicSemver": "0.22.3",
    "allWindowsOriginalCasesVerified": false,
    "publicBrowserScenarios": 8,
    "publishedAt": "2026-10-28T15:45:04+00:00",
    "publishedByteAudit": "published-0223-byte-audit.json"
  },
  "previousValidation0230": {
    "checkedAt": "2026-10-28T16:41:04.024867+00:00",
    "scope": "Aircraft/helicopter cargo, shared load/rebase/unload, ground and helicopter drops, native source/capacity/outcome matrices, filtered initial AI, original command and resources, recovered FLC playback and schema40 migration",
    "javascriptTests": 967,
    "javascriptModules": 80,
    "pythonChecks": 68,
    "dom": true,
    "localBrowserScenarios": 12,
    "publicBrowserStatus": "passed",
    "codeVersion": "84405412820faf6e",
    "publicSemver": "0.23.0",
    "allWindowsOriginalCasesVerified": false,
    "publicBrowserScenarios": 12,
    "publishedAt": "2026-10-28T16:41:24+00:00"
  },
  "previousValidation0231": {
    "checkedAt": "2026-10-28T17:15:13.941486+00:00",
    "scope": "Native airdrop target cursor/finder, visible foreign troops/water rejection, blind targets without hidden-world leaks, raw radius and wrapped distance, preserved interrupted movement and genuine published schema40 continuation",
    "javascriptTests": 976,
    "javascriptModules": 81,
    "pythonChecks": 69,
    "dom": true,
    "localBrowserScenarios": 13,
    "publicBrowserStatus": "passed",
    "codeVersion": "05ed4f67ac9d6d6e",
    "publicSemver": "0.23.1",
    "allWindowsOriginalCasesVerified": false,
    "publicBrowserScenarios": 13,
    "publishedAt": "2026-10-28T17:15:14+00:00"
  },
  "militaryLeaders": {
    "model": "military-leaders-v1",
    "schema": 41,
    "battleCreatedUnit": 323,
    "armiesImplemented": false,
    "scientificLeadersImplemented": false,
    "nativeCases": 1536,
    "nativeBlocks": 3,
    "nativeBirthCases": 1152,
    "nativeHurryCases": 384,
    "eliteBeforePromotion": true,
    "attackDenominators": [
      16,
      12
    ],
    "defenseDenominators": [
      32,
      24
    ],
    "oneLeaderPerSourceUntilUpgrade": true,
    "existingBattleCreatedTypeBlocks": true,
    "sharedCommand": "LEADER_HURRY",
    "targets": [
      "ordinary buildings",
      "small wonders"
    ],
    "noGoldOrPopulation": true,
    "finishesAtCityHarvest": true,
    "safeBasicAI": true,
    "genuinePublished40MetadataOnlyMigration": true,
    "originalAnimationRecords": 16,
    "open": [
      "Armies and scientific leaders/golden ages remain unimplemented; complete stage5.3/MVP remains active",
      "Native leader constructor, names, complex-stack relocation and wonder enumeration helpers are not fully executed",
      "Full Windows input/animation/sound and PRNG/order equivalence remain unverified",
      "Remaining naval/air special abilities, special weapons, additional victories and full BIQ/SAV state import remain open"
    ],
    "proof": "research/original-game/data/military-leaders-native-evidence.json",
    "modelDocument": "research/original-game/military-leaders-model.md",
    "browser": "research/original-game/data/browser-military-leaders-verification.json",
    "publicBrowserChecks": {
      "cancelPreservesLeaderAndState": true,
      "rushMatchesKernelAndReloads": true,
      "unitProductionRejected": true,
      "persistentEliteMarkerAndScopedAction": true,
      "originalLeaderGraphicsAllEras": true
    }
  }
}
