{
  "checkedAt": "2026-10-27T13:28:15.931636+00:00",
  "release": "892efecea2d3f6a2",
  "schemaVersion": 20,
  "policyModel": "known-world-expansion-v1",
  "generatorModel": "atlants-native-world-v2",
  "automaticChecks": {
    "kernel": 416,
    "javascriptMedia": 17,
    "python": 27,
    "total": 460
  },
  "domScenariosPassed": true,
  "publicChromiumCount": 19,
  "publicChromiumScenarios": [
    {
      "scenario": "browser-ai-expansion",
      "file": "browser-ai-expansion-verification.json",
      "report": {
        "checkedAt": "2026-10-27T13:23:13.835Z",
        "url": "https://vm.ya-erm.ru/civilization/",
        "browser": "156.0.8078.4",
        "codeVersion": "./app.mjs?v=892efecea2d3f6a2",
        "schemaVersion": 20,
        "source": "Prepared productive cities and completed shield stock; AI selects production, trains, routes and founds through ordinary commands. Not a natural new-game growth test.",
        "rounds": 4,
        "checks": {
          "aiSelectsSettler": true,
          "nativePopulationCost": true,
          "trainedSettler": true,
          "sharedGoTo": true,
          "secondCity": true,
          "originalCityName": true,
          "everyRoundMatchesKernel": true,
          "everyRoundExportReload": true,
          "hiddenWorldFieldsDoNotBlockReference": true
        },
        "commands": [
          {
            "playerId": "p2",
            "type": "SET_GOVERNOR",
            "params": {
              "cityId": "c8",
              "settings": {
                "manageCitizens": true,
                "manageProduction": false
              }
            }
          },
          {
            "playerId": "p2",
            "type": "SET_BUDGET",
            "params": {
              "budget": {
                "science": 3,
                "luxury": 0,
                "tax": 7
              }
            }
          },
          {
            "playerId": "p2",
            "type": "SET_PRODUCTION",
            "params": {
              "cityId": "c8",
              "typeId": 0,
              "kind": "PRTO"
            }
          },
          {
            "playerId": "p2",
            "type": "SET_BUDGET",
            "params": {
              "budget": {
                "science": 1,
                "luxury": 0,
                "tax": 9
              }
            }
          },
          {
            "playerId": "p2",
            "type": "SET_PRODUCTION",
            "params": {
              "cityId": "c8",
              "typeId": 24
            }
          },
          {
            "playerId": "p2",
            "type": "MOVE",
            "params": {
              "unitId": "u5",
              "x": 8,
              "y": 4
            }
          },
          {
            "playerId": "p2",
            "type": "HOLD",
            "params": {
              "unitId": "u6"
            }
          },
          {
            "playerId": "p2",
            "type": "FORTIFY",
            "params": {
              "unitId": "u9"
            }
          },
          {
            "playerId": "p2",
            "type": "GOTO",
            "params": {
              "unitId": "u10",
              "x": 6,
              "y": 2
            }
          },
          {
            "playerId": "p2",
            "type": "END_TURN",
            "params": {}
          },
          {
            "playerId": "p2",
            "type": "START_WORK",
            "params": {
              "unitId": "u5",
              "jobId": 3
            }
          },
          {
            "playerId": "p2",
            "type": "HOLD",
            "params": {
              "unitId": "u6"
            }
          },
          {
            "playerId": "p2",
            "type": "END_TURN",
            "params": {}
          },
          {
            "playerId": "p2",
            "type": "HOLD",
            "params": {
              "unitId": "u6"
            }
          },
          {
            "playerId": "p2",
            "type": "END_TURN",
            "params": {}
          },
          {
            "playerId": "p2",
            "type": "FOUND_CITY",
            "params": {
              "unitId": "u10",
              "name": "Венеция"
            }
          },
          {
            "playerId": "p2",
            "type": "SET_GOVERNOR",
            "params": {
              "cityId": "c11",
              "settings": {
                "manageCitizens": true,
                "manageProduction": false
              }
            }
          },
          {
            "playerId": "p2",
            "type": "SET_BUDGET",
            "params": {
              "budget": {
                "science": 8,
                "luxury": 0,
                "tax": 2
              }
            }
          },
          {
            "playerId": "p2",
            "type": "SET_PRODUCTION",
            "params": {
              "cityId": "c11",
              "typeId": 24
            }
          },
          {
            "playerId": "p2",
            "type": "MOVE",
            "params": {
              "unitId": "u5",
              "x": 7,
              "y": 3
            }
          },
          {
            "playerId": "p2",
            "type": "MOVE",
            "params": {
              "unitId": "u6",
              "x": 9,
              "y": 5
            }
          },
          {
            "playerId": "p2",
            "type": "END_TURN",
            "params": {}
          }
        ],
        "initialPreparedStateSha256": "859ebf336e13826aec45c955c2e07882b042dee3529f23ff09278af881c434f6",
        "finalStateSha256": "439894eb49a67c1c8fbbd4e46e6c66d5bbbbb8c31528165f957d2641c3330f22",
        "pageErrors": [],
        "failedRequests": [],
        "originalWindowsAIStrategyVerified": false
      },
      "elapsedSeconds": 11.83,
      "stdoutSha256": "03f0aaacafe857037301d09202a83e12bee7e982768c4bf11b5f2e1133f89872"
    },
    {
      "scenario": "browser-city-management",
      "file": "browser-city-management-verification.json",
      "report": {
        "checkedAt": "2026-10-27T13:23:26.464Z",
        "url": "https://vm.ya-erm.ru/civilization/",
        "browser": "156.0.8078.4",
        "codeVersion": "./app.mjs?v=892efecea2d3f6a2",
        "schemaVersion": 20,
        "kind": "city-management-browser-ui",
        "ordinarySaleFixture": {
          "source": "Unmodified new game with ordinary peaceful research/building commands; no stocks, rules or decisions edited",
          "replayCommands": 90
        },
        "governorApplyExact": true,
        "governorCancelExact": true,
        "saleCancelExact": true,
        "saleExact": true,
        "reloadExact": true,
        "hurryFixtures": {
          "source": "Isolated fixtures: government, gold, population, budget and shield stock set explicitly; supplementary to the separate ordinary-UI government transition check",
          "checks": [
            {
              "governmentId": 3,
              "mode": "gold",
              "goldCost": 54,
              "populationCost": 0,
              "angerTurnsAfterHarvest": 0,
              "reloadExact": true,
              "harvestAndAIMatchKernel": true
            },
            {
              "governmentId": 1,
              "mode": "population",
              "goldCost": 0,
              "populationCost": 1,
              "angerTurnsAfterHarvest": 19,
              "reloadExact": true,
              "harvestAndAIMatchKernel": true
            }
          ]
        },
        "pageErrors": [],
        "failedRequests": [],
        "originalBehaviorVerified": false
      },
      "elapsedSeconds": 12.63,
      "stdoutSha256": "f1656c9e86ad0c03cc875dcf113dc2a3dc13681207c161eb8e6afefb16d73f9e"
    },
    {
      "scenario": "browser-classic-controls",
      "file": "browser-classic-controls-verification.json",
      "report": {
        "checkedAt": "2026-10-27T13:23:35.073Z",
        "url": "https://vm.ya-erm.ru/civilization/",
        "browser": "156.0.8078.4",
        "codeVersion": "./app.mjs?v=892efecea2d3f6a2",
        "schemaVersion": 20,
        "checks": {
          "ordinaryClickDoesNotMove": true,
          "waitThenHoldReturnsSameTurn": true,
          "automaticNextUnit": true,
          "holdConsumesMovement": true,
          "savedHold": true,
          "stackContextMenu": true,
          "activateFortifiedUnit": true,
          "keypadEightDirections": true,
          "dragPreviewBeforeRelease": true,
          "dragReleaseOneMove": true,
          "heldDestinationGoTo": true,
          "escapeCancelsHeldGesture": true,
          "busyWorkerDragAndKeypadBlocked": true,
          "centerZoomMinimapArrowsOnlyCamera": true
        },
        "pageErrors": [],
        "failedRequests": [],
        "originalWindowsTimingVerified": false
      },
      "elapsedSeconds": 8.62,
      "stdoutSha256": "198e693e5209bcb2bab773c11db8e8223d795a46ac756195cef550a75a8e488f"
    },
    {
      "scenario": "browser-command-pan",
      "file": "browser-command-pan-verification.json",
      "report": {
        "checkedAt": "2026-10-27T13:23:38.555Z",
        "url": "https://vm.ya-erm.ru/civilization/",
        "browser": "156.0.8078.4",
        "codeVersion": "./app.mjs?v=892efecea2d3f6a2",
        "schemaVersion": 20,
        "buttons": {
          "native32pxSprites": true,
          "noExtraRim": true,
          "normalHoverPressed": true,
          "mouseTooltip": true,
          "keyboardTooltip": true,
          "disabledReasonVisible": true,
          "commandsUnchanged": true
        },
        "pan": {
          "leftDrag": true,
          "middleDrag": true,
          "touchDrag": true,
          "movementModeRetained": true,
          "dragDoesNotIssueCommands": true,
          "gameStateUnchanged": true,
          "minimumGestureThreshold": 6
        },
        "shortClickPreserved": true,
        "contextualCityShortcut": true,
        "pageErrors": [],
        "failedRequests": [],
        "originalBehaviorVerified": false
      },
      "elapsedSeconds": 3.43,
      "stdoutSha256": "1c3f38e5b5c7f3c292d94e6280422091ad60f3c69caf2503da27df1477346c07"
    },
    {
      "scenario": "browser-conversion",
      "file": "browser-conversion-verification.json",
      "report": {
        "checkedAt": "2026-10-27T13:23:47.413Z",
        "url": "https://vm.ya-erm.ru/civilization/",
        "browser": "156.0.8078.4",
        "codeVersion": "./app.mjs?v=892efecea2d3f6a2",
        "schemaVersion": 20,
        "newGameSetting": {
          "source": "New-game checkbox and normal founding through UI",
          "disabledPartyExact": true,
          "cityStatusShown": true,
          "reloadExact": true
        },
        "incomingCity": {
          "source": "Prepared secondary Roman city, native population/resistance, fixed capitals, zero-movement Roman worker and seed 1; end turn and AI cause the offer",
          "proposalExact": true,
          "escapeCannotSkip": true,
          "scienceCannotBypass": true,
          "automaticPendingSaveAndReloadExact": true,
          "refusalPreservesCityAndUnits": true,
          "acceptancePreservesPopulationBuildingsAndNationalities": true,
          "formerWorkerLost": true,
          "nativeDefenderCreated": true,
          "acceptedExportAndReloadExact": true
        },
        "outgoingCity": {
          "source": "Prepared Russian secondary city and corresponding native mixed population; ordinary end turn, full AI and receiving command",
          "aiAcceptanceExact": true,
          "oldWorkerLost": true,
          "noHumanReceivingDialog": true,
          "reloadExact": true
        },
        "pageErrors": [],
        "failedRequests": [],
        "originalBehaviorVerified": false
      },
      "elapsedSeconds": 8.9,
      "stdoutSha256": "459f2c7f08dd502b056f71f9beba2cc79800f93d0c3a59e016d761e9cecc9742"
    },
    {
      "scenario": "browser-culture",
      "file": "browser-culture-verification.json",
      "report": {
        "checkedAt": "2026-10-27T13:23:55.755Z",
        "url": "https://vm.ya-erm.ru/civilization/",
        "browser": "156.0.8078.4",
        "codeVersion": "./app.mjs?v=892efecea2d3f6a2",
        "schemaVersion": 20,
        "ordinaryGame": {
          "source": "Fresh game, normal founding/production and ten turns through UI; no state mutation",
          "harvests": 10,
          "culture": 10,
          "level": 2,
          "nextThreshold": 100,
          "aiAndEveryTurnExact": true,
          "reloadExact": true
        },
        "boundaryCase": {
          "source": "Prepared equal-culture cities, native Monument, horse road and unfinished worker job; ordinary end-turn commands and AI cause the ownership change",
          "ownershipExact": true,
          "laborReleased": true,
          "resourceAndProductionUpdated": true,
          "foreignWorkInterrupted": true,
          "exportAndReloadExact": true
        },
        "pageErrors": [],
        "failedRequests": [],
        "originalBehaviorVerified": false
      },
      "elapsedSeconds": 8.35,
      "stdoutSha256": "90eb16d352a95b21789f3373843ec54381c6721f2fe384e3bd3deb6d244b878c"
    },
    {
      "scenario": "browser-drafting",
      "file": "browser-drafting-verification.json",
      "report": {
        "checkedAt": "2026-10-27T13:24:07.043Z",
        "url": "https://vm.ya-erm.ru/civilization/",
        "browser": "156.0.8078.4",
        "codeVersion": "./app.mjs?v=892efecea2d3f6a2",
        "schemaVersion": 20,
        "ordinary": {
          "source": "Prepared unlocked native city with two Roman nationals; ordinary confirmation/cancel, export/import, reload and next-turn buttons",
          "nativeType88": true,
          "nativeRecruitHitPoints": 5,
          "populationEightToSeven": true,
          "foreignGroupsPreserved": true,
          "cancelUnchanged": true,
          "serialAngerSaved": true,
          "exportReloadAndNextTurnExact": true
        },
        "limits": {
          "source": "Prepared native Fascism city; ordinary two draft confirmations with page reload after each",
          "limitSurvivesReload": true,
          "twoDraftsPerCity": true,
          "angerFortyTurns": true
        },
        "ai": {
          "source": "Prepared unlocked Roman city and visible Russian attacker; ordinary human End Turn and complete AI commands",
          "sameDraftCommand": true,
          "fullAIContinuationExact": true,
          "exportReloadExact": true
        },
        "media": {
          "nativeDraftTypes": 8,
          "actions": 4,
          "directions": 8,
          "palettes": [
            1,
            9
          ]
        },
        "pageErrors": [],
        "failedRequests": [],
        "originalBehaviorVerified": false
      },
      "elapsedSeconds": 11.24,
      "stdoutSha256": "a37c1ef1b50dbb318bbb703ef8cc04ebf165983183089776292f6f140ef55ad8"
    },
    {
      "scenario": "browser-game",
      "file": "browser-verification.json",
      "report": {
        "checkedAt": "2026-10-27T13:24:14.042Z",
        "browser": "156.0.8078.4",
        "url": "https://vm.ya-erm.ru/civilization/",
        "codeVersion": "./app.mjs?v=892efecea2d3f6a2",
        "profileId": "atlants2-827be8b3f7aab140",
        "schemaVersion": 20,
        "turn": 10,
        "scientificDiscovery": 15,
        "newProduction": 135,
        "ownReloadExact": true,
        "exportImportExact": true,
        "pageErrors": [],
        "failedRequests": [],
        "jsHeapBytes": 21727276,
        "browserProcessRSSBytes": 307814400,
        "memoryCaveat": "RSS includes the browser, libraries, renderer and canvas; JS heap excludes decoded image/GPU storage.",
        "originalBehaviorVerified": false
      },
      "elapsedSeconds": 7.01,
      "stdoutSha256": "fb071b4475b15a202044fa432ef2f2667cf3667324826b3a2d9d2b1a0d419925"
    },
    {
      "scenario": "browser-golden-age",
      "file": "browser-golden-age-verification.json",
      "report": {
        "checkedAt": "2026-10-27T13:24:24.542Z",
        "url": "https://vm.ya-erm.ru/civilization/",
        "browser": "156.0.8078.4",
        "codeVersion": "./app.mjs?v=892efecea2d3f6a2",
        "schemaVersion": 20,
        "cossackCheck": {
          "source": "Explicit known technology, connected horse, 139 shields and one-hit enemy fixture; training, battle, golden age and harvest executed through UI",
          "trainingExact": true,
          "battleExact": true,
          "duration": 30,
          "followingHarvestExact": true,
          "exportAndReloadExact": true,
          "reloadDoesNotReplayAudio": true,
          "audio": {
            "images": {
              "budgetBytes": 67108864,
              "unitBytes": 25625280,
              "otherImageBytes": 44980960,
              "peakUnitBytes": 25625280,
              "residentImages": 50,
              "reconstructedImages": 0,
              "pendingImages": 0,
              "failedImages": 0,
              "loads": 50,
              "evictions": 0,
              "totalLoadMs": 8922
            },
            "audio": {
              "enabled": true,
              "contextSampleRate": 44100,
              "budgetBytes": 16777216,
              "bufferBytes": 1731264,
              "peakBytes": 1731264,
              "buffers": 12,
              "pending": 0,
              "failed": 0,
              "activeSources": 1,
              "scheduled": 12,
              "evictions": 0
            }
          }
        },
        "expirationCheck": {
          "source": "Explicit final-turn counter fixture derived from the actual combat golden age; full 30-harvest sequence separately tested in kernel",
          "bannerHides": true,
          "endedHistory": true,
          "harvestAndReloadExact": true
        },
        "legionaryCheck": {
          "source": "Separate Rome fixture with known technologies 9/33, connected native iron and 29 shields",
          "trainingExact": true,
          "movementExact": true,
          "roadProgress": 0.5,
          "harvestAndReloadExact": true
        },
        "pageErrors": [],
        "failedRequests": [],
        "originalBehaviorVerified": false
      },
      "elapsedSeconds": 10.5,
      "stdoutSha256": "ebefe29cca2a05a6948e63b8ade5c3ce192660eca2c4fab7a50480c7ed44ea6d"
    },
    {
      "scenario": "browser-government",
      "file": "browser-government-verification.json",
      "report": {
        "checkedAt": "2026-10-27T13:24:36.854Z",
        "url": "https://vm.ya-erm.ru/civilization/",
        "browser": "156.0.8078.4",
        "codeVersion": "./app.mjs?v=892efecea2d3f6a2",
        "schemaVersion": 20,
        "ordinaryGame": {
          "source": "Fresh game through ordinary UI commands, unmodified technology and government",
          "anarchyTurns": 5,
          "cancelExact": true,
          "eachHarvestAndAIExact": true,
          "reloadDuringAnarchyExact": true,
          "mandatoryChoiceReloadExact": true,
          "escapeCannotSkip": true,
          "returnToChiefdomExact": true
        },
        "monarchyCheck": {
          "source": "Explicit fixture with Monarchy technology 30, four residents, stored food and five shields; revolution, harvests and adoption performed through UI",
          "anarchyTurns": 5,
          "adoptionExact": true,
          "scienceCap": 6,
          "capRedistributionExact": true,
          "hurryingBecomesAvailable": true,
          "reloadExact": true
        },
        "finishedAnarchyChoice": {
          "source": "Isolated elimination fixture from the ordinary completed-anarchy state",
          "canceledByVictory": true,
          "importAndReloadExact": true
        },
        "pageErrors": [],
        "failedRequests": [],
        "originalBehaviorVerified": false
      },
      "elapsedSeconds": 12.32,
      "stdoutSha256": "f9242a4734d5be829682e7a769feb995b28ccd301b7843ae84fe754df35557a4"
    },
    {
      "scenario": "browser-infrastructure",
      "file": "browser-infrastructure-verification.json",
      "report": {
        "checkedAt": "2026-10-27T13:24:47.850Z",
        "url": "https://vm.ya-erm.ru/civilization/",
        "browser": "156.0.8078.4",
        "codeVersion": "./app.mjs?v=892efecea2d3f6a2",
        "schemaVersion": 20,
        "rail": {
          "source": "Prepared native connected iron/coal network, Fascism worker and mined plains; Shift-R, six natural turns and partial-job export/reload",
          "localRequirements": true,
          "quoteSixTurns": true,
          "sharedProductionEffect": true,
          "fullAIContinuationExact": true,
          "midJobReloadExact": true
        },
        "fort": {
          "source": "Prepared ordinary own plains; Ctrl-F builds fort, then Ctrl-F upgrades it; four natural turns and export/reload",
          "nativeFortDefense": 75,
          "nativeExtraBarricadeDefense": 75,
          "exactCommandsAndTurns": true,
          "originalEraSprites": true
        },
        "freeMove": {
          "source": "Prepared same-side railroad segment, ordinary G move",
          "movementUnchanged": true,
          "commandStateExact": true
        },
        "stop": {
          "source": "Prepared neutral barricade and cavalry with full native movement; ordinary G move",
          "movementExhausted": true,
          "stateExact": true
        },
        "control": {
          "source": "Prepared wartime cavalry and native zone-control machine gun; ordinary G move",
          "nativeFormula": true,
          "oneHealthLost": true,
          "notificationVisible": true,
          "exactPRNGAndState": true,
          "exportReloadExact": true
        },
        "localResourceRefusalVisible": true,
        "pageErrors": [],
        "failedRequests": [],
        "originalBehaviorVerified": false
      },
      "elapsedSeconds": 10.99,
      "stdoutSha256": "1a09ed7211f31464aaf540667e7855398f7f6babb0dcb323f0b5cdc03200c787"
    },
    {
      "scenario": "browser-media",
      "file": "browser-media-verification.json",
      "report": {
        "checkedAt": "2026-10-27T13:24:58.856Z",
        "url": "https://vm.ya-erm.ru/civilization/",
        "codeVersion": "./app.mjs?v=892efecea2d3f6a2",
        "browser": "156.0.8078.4",
        "kind": "native-media-and-sound-browser-check",
        "originalRenderingVerified": false,
        "originalAudioVerified": false,
        "gallery": {
          "samples": [
            {
              "id": "land",
              "unitId": 20,
              "eraId": null,
              "directions": 8,
              "palettes": [
                1,
                9
              ]
            },
            {
              "id": "mounted-and-empty-sentinel",
              "unitId": 159,
              "eraId": null,
              "directions": 8,
              "palettes": [
                1,
                9
              ]
            },
            {
              "id": "offset-canvas",
              "unitId": 172,
              "eraId": null,
              "directions": 8,
              "palettes": [
                1,
                9
              ]
            },
            {
              "id": "ship",
              "unitId": 239,
              "eraId": null,
              "directions": 8,
              "palettes": [
                1,
                9
              ]
            },
            {
              "id": "aircraft",
              "unitId": 297,
              "eraId": null,
              "directions": 8,
              "palettes": [
                1,
                9
              ]
            },
            {
              "id": "folder-alias",
              "unitId": 270,
              "eraId": null,
              "directions": 8,
              "palettes": [
                1,
                9
              ]
            },
            {
              "id": "army-ancient",
              "unitId": 319,
              "eraId": 0,
              "directions": 8,
              "palettes": [
                1,
                9
              ]
            },
            {
              "id": "army-medieval",
              "unitId": 319,
              "eraId": 1,
              "directions": 8,
              "palettes": [
                1,
                9
              ]
            },
            {
              "id": "army-industrial",
              "unitId": 319,
              "eraId": 2,
              "directions": 8,
              "palettes": [
                1,
                9
              ]
            },
            {
              "id": "army-modern",
              "unitId": 319,
              "eraId": 3,
              "directions": 8,
              "palettes": [
                1,
                9
              ]
            }
          ],
          "stats": {
            "images": {
              "budgetBytes": 67108864,
              "unitBytes": 40310464,
              "otherImageBytes": 0,
              "peakUnitBytes": 40310464,
              "residentImages": 21,
              "reconstructedImages": 0,
              "pendingImages": 0,
              "failedImages": 0,
              "loads": 21,
              "evictions": 0,
              "totalLoadMs": 215
            },
            "audio": {
              "enabled": true,
              "contextSampleRate": 44100,
              "budgetBytes": 16777216,
              "bufferBytes": 667096,
              "peakBytes": 667096,
              "buffers": 5,
              "pending": 0,
              "failed": 0,
              "activeSources": 5,
              "scheduled": 5,
              "evictions": 0
            }
          },
          "memory": {
            "jsHeapBytes": 6921892,
            "browserRSSBytes": 281915392
          }
        },
        "game": {
          "stats": {
            "images": {
              "budgetBytes": 67108864,
              "unitBytes": 26827200,
              "otherImageBytes": 44980960,
              "peakUnitBytes": 26827200,
              "residentImages": 49,
              "reconstructedImages": 0,
              "pendingImages": 0,
              "failedImages": 0,
              "loads": 49,
              "evictions": 0,
              "totalLoadMs": 10824
            },
            "audio": {
              "enabled": true,
              "contextSampleRate": 44100,
              "budgetBytes": 16777216,
              "bufferBytes": 902608,
              "peakBytes": 902608,
              "buffers": 6,
              "pending": 0,
              "failed": 0,
              "activeSources": 1,
              "scheduled": 11,
              "evictions": 0
            }
          },
          "memory": {
            "jsHeapBytes": 14220612,
            "browserRSSBytes": 313167872
          },
          "outcomeMatchesKernel": true
        },
        "reloadDoesNotRepeatCombatOrAudio": true,
        "pageErrors": [],
        "failedRequests": [],
        "memoryCaveat": "Observed process RSS and JS heap in one controlled browser after catalogue playback and combat; these are not a peak or a target-device benchmark."
      },
      "elapsedSeconds": 11.03,
      "stdoutSha256": "b6a3f0c703b44b316b4cef29a5fcd4624d997ccd99bfcb9eeb94f89b640064e5"
    },
    {
      "scenario": "browser-movement",
      "file": "browser-movement-verification.json",
      "report": {
        "checkedAt": "2026-10-27T13:25:09.803Z",
        "url": "https://vm.ya-erm.ru/civilization/",
        "browser": "156.0.8078.4",
        "codeVersion": "./app.mjs?v=892efecea2d3f6a2",
        "schemaVersion": 20,
        "nativeSpiral": {
          "size": [
            47,
            28
          ],
          "cornerButton": true,
          "neutral": true,
          "orangeHover": true,
          "orangeBlueBlink": true,
          "readyAfterOrders": true,
          "clickEndsRealTurn": true,
          "mandatoryDecisionBlocks": true,
          "reducedMotion": true,
          "originalTimingVerified": false
        },
        "worker": {
          "buttonsBlocked": true,
          "keyboardBlocked": true,
          "mapBlocked": true,
          "saveLoadExact": true,
          "workContinues": true
        },
        "routes": {
          "explicitModeRequired": true,
          "ordinaryClickDoesNotMove": true,
          "gTogglesMode": true,
          "rightClickCancels": true,
          "modeClearedAfterOrder": true,
          "preClickReadOnly": true,
          "selectVersusMoveClear": true,
          "turnCount": true,
          "multiTurnContinuation": true,
          "saveLoadExact": true,
          "eachTurnMatchesKernelAndAI": true,
          "waterReason": true
        },
        "pageErrors": [],
        "failedRequests": [],
        "originalBehaviorVerified": false
      },
      "elapsedSeconds": 10.97,
      "stdoutSha256": "351319e3929b2862a2f5bfeef36593cc675e879ff48c48b79d7a58d2d800338c"
    },
    {
      "scenario": "browser-party",
      "file": "browser-party-verification.json",
      "report": {
        "checkedAt": "2026-10-27T13:25:54.319Z",
        "url": "https://vm.ya-erm.ru/civilization/",
        "browser": "156.0.8078.4",
        "codeVersion": "./app.mjs?v=892efecea2d3f6a2",
        "profileId": "atlants2-827be8b3f7aab140",
        "schemaVersion": 20,
        "kind": "full-new-game-browser-ui",
        "humanChoices": "automated shared policy through buttons, keyboard and canvas; no manual human playtest",
        "originalBehaviorVerified": false,
        "humanCommands": 52,
        "turns": 18,
        "winnerId": "p2",
        "result": {
          "kind": "conquest",
          "winnerId": "p2",
          "turn": 18
        },
        "reloads": [
          {
            "turn": 1,
            "kind": "mixed-production-queue"
          },
          {
            "turn": 3,
            "kind": "road"
          },
          {
            "turn": 11,
            "kind": "combat"
          },
          {
            "turn": 18,
            "kind": "mandatory-production-choice",
            "source": "Unmodified new-game replay with explicit peaceful research/building commands; no stocks, rules or decisions edited",
            "replayCommands": 89
          }
        ],
        "queueChecked": true,
        "productionDecisionReloaded": true,
        "everyHumanCommandMatchesKernel": true,
        "completedExportImportExact": true,
        "completedReloadExact": true,
        "commandSHA256": "b88bfc1afb86983e4a190452f5d4954e98dda75920edc1f99e5d119d0974c399",
        "finalStateSHA256": "b23a8803597f23a5c025c584f9cb63b577322050e390ae4640ff41199dc64cf0",
        "pageErrors": [],
        "failedRequests": [],
        "captureDecisionCheck": {
          "source": "Replay of normal new-game commands; only human perspective switched to the natural captor",
          "reloadExact": true,
          "escapeCannotSkip": true,
          "keepAndVictoryMatchKernel": true
        },
        "memory": {
          "phase": "finished party, before reload, combat image cache retained",
          "jsHeapBytes": 12305692,
          "browserProcessRSSBytes": 396242944,
          "combatImageRequests": [
            "https://vm.ya-erm.ru/civilization/assets/original/unit-24-attack1-c1-c53c5e84269d.png?v=c53c5e84269d",
            "https://vm.ya-erm.ru/civilization/assets/original/unit-24-death-c1-6598b4ca5135.png?v=6598b4ca5135",
            "https://vm.ya-erm.ru/civilization/assets/original/unit-52-attack1-c9-8d35a44d6b4e.png?v=8d35a44d6b4e",
            "https://vm.ya-erm.ru/civilization/assets/original/unit-52-death-c9-0b37f6017266.png?v=0b37f6017266",
            "https://vm.ya-erm.ru/civilization/assets/original/unit-20-attack1-c9-3f9613146f37.png?v=3f9613146f37",
            "https://vm.ya-erm.ru/civilization/assets/original/unit-20-death-c9-ee2cc0e62963.png?v=ee2cc0e62963"
          ],
          "caveat": "RSS includes browser processes, libraries, canvas and decoded media; JS heap excludes image/GPU allocations. This is one observed run, not a peak or target-device benchmark."
        }
      },
      "elapsedSeconds": 44.5,
      "stdoutSha256": "c3320a58f111b9111c196270e67ef8e03f07fbd7c5fda98ea4aebb6fb1c10eb6"
    },
    {
      "scenario": "browser-population",
      "file": "browser-population-verification.json",
      "report": {
        "checkedAt": "2026-10-27T13:26:05.693Z",
        "url": "https://vm.ya-erm.ru/civilization/",
        "browser": "156.0.8078.4",
        "codeVersion": "./app.mjs?v=892efecea2d3f6a2",
        "schemaVersion": 20,
        "ordinaryGame": {
          "source": "Fresh game; founding and native worker joining through ordinary UI; no state mutation",
          "population": 2,
          "commandExact": true,
          "nativeCompositionShown": true,
          "reloadExact": true
        },
        "assimilation": {
          "source": "Explicit foreign population, Theocracy, food and seed-1 fixture; native rate stays 10%; harvests through UI",
          "rate": 10,
          "firstHarvestExact": true,
          "nationalityOnly": true,
          "culturePausedBeforeAssimilation": true,
          "cultureResumesFollowingHarvest": true,
          "reloadExact": true
        },
        "capture": {
          "source": "Explicit two-capital tactical fixture, extra Roman settler prevents immediate terminal conquest; seed 2 tests quelling on the first protected own harvest with conversions enabled; actual attack and keep command through UI",
          "battleAndCaptureExact": true,
          "romanResidentsAfterCapture": 4,
          "resistanceShown": true,
          "garrisonCapacityShown": true,
          "quellingAndAIExact": true,
          "exportAndReloadExact": true
        },
        "pageErrors": [],
        "failedRequests": [],
        "originalBehaviorVerified": false
      },
      "elapsedSeconds": 11.37,
      "stdoutSha256": "7a95d51b280a92092b5b8097f6ea12cf175b8f0ada584e3c8d9f3b068dc23918"
    },
    {
      "scenario": "browser-specialists",
      "file": "browser-specialists-verification.json",
      "report": {
        "checkedAt": "2026-10-27T13:26:16.548Z",
        "url": "https://vm.ya-erm.ru/civilization/",
        "browser": "156.0.8078.4",
        "codeVersion": "./app.mjs?v=892efecea2d3f6a2",
        "schemaVersion": 20,
        "ordinaryGame": {
          "mathLearnedTurn": 12,
          "source": "New game played through ordinary UI, actual research and worker road",
          "taxAssignmentExact": true,
          "reloadExact": true,
          "roadReloaded": true
        },
        "technologyCatalog": {
          "ordinary": 200,
          "special": 36,
          "futureEraDisabled": true,
          "missingIcon197HasNoFailedRequest": true
        },
        "lateProfessionCheck": {
          "source": "Isolated fixture with all normal technology and near-term food stock; not a natural full-tree playthrough",
          "engineerShields": 3,
          "assignmentExact": true,
          "harvestAndAIExact": true,
          "reloadExact": true,
          "unitSwitchRemovesCredit": true
        },
        "freeChoiceCheck": {
          "source": "Isolated prerequisite and research-progress fixture; discovery executed by ordinary end turns",
          "escapeCannotSkip": true,
          "pauseDisabled": true,
          "reloadExact": true,
          "choiceExact": true,
          "remainingResearchDecision": true
        },
        "pageErrors": [],
        "failedRequests": [],
        "originalBehaviorVerified": false
      },
      "elapsedSeconds": 10.83,
      "stdoutSha256": "f875096027976ace557cae6cbbb0763fc56d92db8e58f7d106db10418eeeb328"
    },
    {
      "scenario": "browser-terrain-work",
      "file": "browser-terrain-work-verification.json",
      "report": {
        "checkedAt": "2026-10-27T13:26:27.349Z",
        "url": "https://vm.ya-erm.ru/civilization/",
        "browser": "156.0.8078.4",
        "codeVersion": "./app.mjs?v=892efecea2d3f6a2",
        "schemaVersion": 20,
        "mining": {
          "source": "Prepared native Fascism city and plains worker; ordinary work menu, two End Turns and mid-job export/reload",
          "sharedQuote": true,
          "nativeRateFour": true,
          "completionAndAIExact": true,
          "midJobContinuationExact": true,
          "nativeMapImprovement": true
        },
        "irrigation": {
          "source": "Same ordinary city; I shortcut and next turns replace mine with irrigation",
          "exclusiveImprovement": true,
          "fullTurnStateExact": true,
          "exportReloadExact": true
        },
        "forest": {
          "source": "Prepared native forest/plains tile; ordinary clear and plant commands, ten complete human/AI turns and export/reload",
          "baseTerrainPreserved": true,
          "firstHarvestCredited": true,
          "harvestHistoryRetainedAfterPlanting": true,
          "completeTurnsExact": true
        },
        "wetlands": {
          "source": "Prepared valid partly completed wetland work; import, ordinary final End Turn and export",
          "nativeWorkAmount": 72,
          "preparedProgress": 68,
          "noForestReward": true,
          "completeTurnExact": true
        },
        "eligibilityReasonsVisible": true,
        "pageErrors": [],
        "failedRequests": [],
        "originalBehaviorVerified": false
      },
      "elapsedSeconds": 10.79,
      "stdoutSha256": "1523a04bd44ea795c48710212d9fb250cdfccfff5eedd89e8be38f65e3e75c74"
    },
    {
      "scenario": "browser-war-peace",
      "file": "browser-war-peace-verification.json",
      "report": {
        "checkedAt": "2026-10-27T13:26:35.575Z",
        "url": "https://vm.ya-erm.ru/civilization/",
        "browser": "156.0.8078.4",
        "codeVersion": "./app.mjs?v=892efecea2d3f6a2",
        "schemaVersion": 20,
        "outgoingPeace": {
          "source": "Prepared one Roman national in Moscow; ordinary peace proposal, AI response and treaty-break buttons",
          "peaceWithoutTurnOrMoves": true,
          "randomStateUnchanged": true,
          "homelandAngerRemoved": true,
          "nationalityPreserved": true,
          "twentyTurnTreaty": true,
          "breachVisible": true,
          "exportReloadExact": true
        },
        "incomingPeace": {
          "source": "Prepared normal AI turn with a peace offer to the already-played human side",
          "pendingSaveReloadExact": true,
          "escapeCannotSkip": true,
          "scienceCannotBypass": true,
          "refusalResumesAIExact": true,
          "acceptanceResumesAIExact": true,
          "naturalNextTurnExact": true,
          "exportReloadExact": true
        },
        "forcedRevolution": {
          "source": "Prepared native strong-weariness government, 90 saved points, an invading unit and exhausted AI units; natural next turn through UI",
          "territoryIncrementExact": true,
          "strongModeRevolutionExact": true,
          "anarchyVisible": true,
          "reloadExact": true
        },
        "pageErrors": [],
        "failedRequests": [],
        "originalBehaviorVerified": false
      },
      "elapsedSeconds": 8.21,
      "stdoutSha256": "aa7afc571ca58e6baa81d5ab1d2ad42fd8cebc7669413729ac06a2ac2d990db3"
    },
    {
      "scenario": "browser-world-generator",
      "file": "browser-world-generator-verification.json",
      "report": {
        "checkedAt": "2026-10-27T13:26:52.176Z",
        "url": "https://vm.ya-erm.ru/civilization/",
        "browser": "156.0.8078.4",
        "codeVersion": "./app.mjs?v=892efecea2d3f6a2",
        "schemaVersion": 20,
        "checks": {
          "nativeGeneratorMatchesKernel": true,
          "shortClickDoesNotMove": true,
          "nativeKeypadMovement": true,
          "explicitMouseMovement": true,
          "fourPlayerRoundMatchesKernel": true,
          "exportAndReload": true,
          "additionalNativePalettes": true,
          "hugeMap12800Cells": true,
          "sixteenCivilizations": true,
          "viewportCanvas": {
            "width": 1365,
            "height": 843
          },
          "cancelKeepsExistingParty": true,
          "genuineSchema19WaitAndRoad": true,
          "genuineSchema20WorldV1": true
        },
        "pageErrors": [],
        "failedRequests": [],
        "originalWindowsGeneratorVerified": false
      },
      "elapsedSeconds": 16.61,
      "stdoutSha256": "96a8b55019d0568f609f7174a8ad6c5c68576c490f9b90d105a38cbfdb0a1c42"
    }
  ],
  "naturalExpansion": {
    "checkedAt": "2026-10-27T13:25:07.514Z",
    "source": "Unedited native generated-v2 new game, seed42027, two civilizations, normal costs and growth; both sides driven by shared AI commands.",
    "options": {
      "seed": 42027,
      "world": {
        "landform": "pangaea",
        "playerCount": 2
      }
    },
    "commandCount": 574,
    "turn": 71,
    "cityCounts": {
      "p1": 3,
      "p2": 2
    },
    "founded": {
      "p1": 3,
      "p2": 2
    },
    "bothSidesFoundedAtLeastTwo": true,
    "currentGeneratorReproducesInitialState": true,
    "loadAfterEveryCommand": true,
    "finalStateIdentical": true,
    "initialStateSha256": "e169f7ef21d36136d448124e462411c2711276c69925c5efa9af5d4664b70731",
    "finalStateSha256": "f08e95e69bf1b229b694e975d814920847edc8a42324a8267b104469f71b7e7d",
    "policyModel": "known-world-expansion-v1",
    "generatorModel": "atlants-native-world-v2",
    "originalWindowsAIStrategyVerified": false
  },
  "earlierNaturalVictory": {
    "checkedAt": "2026-10-27T13:18:42.344Z",
    "source": "Natural generated-v1 map, expansion policy before the worker/growth follow-up fixes; all commands ordinary, no edited world/stock.",
    "commandCount": 1152,
    "turn": 91,
    "winnerId": "p2",
    "loadAfterEveryCommand": true,
    "finalStateIdentical": true,
    "initialStateSha256": "291ee6b8ee89cd6d060ca11d0be3f8d4d2c254331b3bd5e3e957f5a5902b6ece",
    "finalStateSha256": "2feb045b58cab280b8508ac51bd3c80c15e254825b81d9b295f086b64ad6c1b8",
    "originalWindowsBehaviorVerified": false
  },
  "baseline": {
    "checkedAt": "2026-10-27T13:07:59.000Z",
    "commands": 4000,
    "turn": 206,
    "winnerId": null,
    "cityCount": 2,
    "replayMatches": true,
    "saveEvery": 100,
    "sourceRelease": "2bc7950fb3f7e0d9",
    "scope": "Previous published AI, generated-v1 pangaea, seed42027, two civilizations. No winner after 4000 ordinary commands; replay with checkpoint loads matches.",
    "traceSha256": "e4805ea61eef54944bf560b1d1b4fdfc06c9b22d13a9ae4f170c99efbc3ae5e9"
  },
  "worldMatrixCases": 30,
  "worldMatrixSha256": "62f22c6f88ca1c4884da0048ea2f0417f4564d55f2c405264879021910e8b6db",
  "regressionLogSha256": "64fa3636878db1b2354e8c505268f20e612873b050ecc1997968d95d9d2e17ac",
  "originalNativeTablesUnchanged": 15,
  "publishedFiles": 1110,
  "identicalCodeDataHtmlCssFiles": 45,
  "legacyAssetUrlsAndHashesPreserved": 32,
  "originalAIStrategyVerified": false,
  "originalWorldGeneratorVerified": false,
  "scope": "M4.9 settlement/worker/pathfinding slice and M4.6 start-growth correction. Remaining M4/M5 and full MVP are not complete.",
  "remaining": [
    "Coordinated offense and escorts",
    "Naval settlement and trade",
    "Full diplomacy, editors and remaining plan systems",
    "Exact Windows behavior, personalities, and generation algorithm"
  ]
}
