{
  "checkedAt": "2026-10-28T15:12:52.370895+00:00",
  "release": {
    "version": "bd463fdeed227095",
    "semver": "0.22.0",
    "publishedAt": "2026-10-28T15:06:19+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,
  "pythonTests": 29,
  "dom": "passed",
  "localBrowserScenarios": 31,
  "localResults": [
    {
      "name": "airfields",
      "exitCode": 0,
      "seconds": 9.89,
      "log": "/tmp/civ3-0220-full-local-browser-airfields.log"
    },
    {
      "name": "air-trade",
      "exitCode": 0,
      "seconds": 8.7,
      "log": "/tmp/civ3-0220-full-local-browser-air-trade.log"
    },
    {
      "name": "airlift",
      "exitCode": 0,
      "seconds": 11.19,
      "log": "/tmp/civ3-0220-full-local-browser-airlift.log"
    },
    {
      "name": "developer-logs",
      "exitCode": 0,
      "seconds": 2.99,
      "log": "/tmp/civ3-0220-full-local-browser-developer-logs.log"
    },
    {
      "name": "movement-sight",
      "exitCode": 0,
      "seconds": 5.84,
      "log": "/tmp/civ3-0220-full-local-browser-movement-sight.log"
    },
    {
      "name": "interturn-planning",
      "exitCode": 0,
      "seconds": 4.86,
      "log": "/tmp/civ3-0220-full-local-browser-interturn-planning.log"
    },
    {
      "name": "context-cargo",
      "exitCode": 0,
      "seconds": 6.14,
      "log": "/tmp/civ3-0220-full-local-browser-context-cargo.log"
    },
    {
      "name": "air-combat",
      "exitCode": 0,
      "seconds": 18.68,
      "log": "/tmp/civ3-0220-full-local-browser-air-combat.log"
    },
    {
      "name": "air-missions",
      "exitCode": 0,
      "seconds": 14.35,
      "log": "/tmp/civ3-0220-full-local-browser-air-missions.log"
    },
    {
      "name": "transport-network",
      "exitCode": 0,
      "seconds": 8.11,
      "log": "/tmp/civ3-0220-full-local-browser-transport-network.log"
    },
    {
      "name": "bombardment",
      "exitCode": 0,
      "seconds": 7.77,
      "log": "/tmp/civ3-0220-full-local-browser-bombardment.log"
    },
    {
      "name": "naval",
      "exitCode": 0,
      "seconds": 11.36,
      "log": "/tmp/civ3-0220-full-local-browser-naval.log"
    },
    {
      "name": "worker-rate",
      "exitCode": 0,
      "seconds": 7.82,
      "log": "/tmp/civ3-0220-full-local-browser-worker-rate.log"
    },
    {
      "name": "civilopedia",
      "exitCode": 0,
      "seconds": 3.55,
      "log": "/tmp/civ3-0220-full-local-browser-civilopedia.log"
    },
    {
      "name": "city-refinements",
      "exitCode": 0,
      "seconds": 4.93,
      "log": "/tmp/civ3-0220-full-local-browser-city-refinements.log"
    },
    {
      "name": "worker-orders",
      "exitCode": 0,
      "seconds": 6.86,
      "log": "/tmp/civ3-0220-full-local-browser-worker-orders.log"
    },
    {
      "name": "preferences",
      "exitCode": 0,
      "seconds": 5.03,
      "log": "/tmp/civ3-0220-full-local-browser-preferences.log"
    },
    {
      "name": "hud-economy",
      "exitCode": 0,
      "seconds": 3.32,
      "log": "/tmp/civ3-0220-full-local-browser-hud-economy.log"
    },
    {
      "name": "modal-backdrop",
      "exitCode": 0,
      "seconds": 5.0,
      "log": "/tmp/civ3-0220-full-local-browser-modal-backdrop.log"
    },
    {
      "name": "technology-tree",
      "exitCode": 0,
      "seconds": 12.39,
      "log": "/tmp/civ3-0220-full-local-browser-technology-tree.log"
    },
    {
      "name": "native-orders",
      "exitCode": 0,
      "seconds": 5.88,
      "log": "/tmp/civ3-0220-full-local-browser-native-orders.log"
    },
    {
      "name": "native-music",
      "exitCode": 0,
      "seconds": 6.65,
      "log": "/tmp/civ3-0220-full-local-browser-native-music.log"
    },
    {
      "name": "readiness",
      "exitCode": 0,
      "seconds": 6.92,
      "log": "/tmp/civ3-0220-full-local-browser-readiness.log"
    },
    {
      "name": "pollution",
      "exitCode": 0,
      "seconds": 9.28,
      "log": "/tmp/civ3-0220-full-local-browser-pollution.log"
    },
    {
      "name": "native-city",
      "exitCode": 0,
      "seconds": 7.21,
      "log": "/tmp/civ3-0220-full-local-browser-native-city.log"
    },
    {
      "name": "terrain-work",
      "exitCode": 0,
      "seconds": 16.25,
      "log": "/tmp/civ3-0220-full-local-browser-terrain-work.log"
    },
    {
      "name": "automation",
      "exitCode": 0,
      "seconds": 12.32,
      "log": "/tmp/civ3-0220-full-local-browser-automation.log"
    },
    {
      "name": "classic-controls",
      "exitCode": 0,
      "seconds": 9.22,
      "log": "/tmp/civ3-0220-full-local-browser-classic-controls.log"
    },
    {
      "name": "party",
      "exitCode": 0,
      "seconds": 56.78,
      "log": "/tmp/civ3-0220-full-local-browser-party.log"
    },
    {
      "name": "interturn-performance",
      "exitCode": 0,
      "seconds": 11.47,
      "log": "/tmp/civ3-0220-full-local-browser-interturn-performance.log"
    },
    {
      "name": "ui-polish",
      "exitCode": 0,
      "seconds": 5.91,
      "log": "/tmp/civ3-0220-full-local-browser-ui-polish.log"
    }
  ],
  "targetedResults": {
    "checkedAt": "2026-10-28T14:58:58.717Z",
    "url": "http://127.0.0.1:46437/civilization/",
    "codeVersion": "./app.mjs?v=bd463fdeed227095",
    "checks": {
      "nativeWorkerGlyph": true,
      "confirmationAndCancel": true,
      "keyboardShortcut": true,
      "ordinaryTurnBuildsAndConsumesWorker": true,
      "contextAndOriginalTerrainSprite": true,
      "aircraftRebase": true,
      "airportToField": true,
      "fieldToAirport": true,
      "independentSendCounter": true,
      "usagePersistsReload": true,
      "exactKernelComparisons": true,
      "exactExport": true
    },
    "pageErrors": [],
    "failedRequests": []
  },
  "publicStatus": "passed",
  "saveSchema": 39,
  "nativeAirfieldRuleCases": 370,
  "nativeRendererCases": 8,
  "nativeStaticSignatures": 7,
  "nativeWindowsRuntimeVerified": false,
  "fullParty": {
    "checkedAt": "2026-10-28T15:05:39.285Z",
    "url": "http://127.0.0.1:33811/civilization/",
    "browser": "156.0.8078.4",
    "codeVersion": "./app.mjs?v=bd463fdeed227095",
    "profileId": "atlants2-827be8b3f7aab140",
    "schemaVersion": 39,
    "kind": "full-new-game-browser-ui",
    "humanChoices": "automated shared policy through buttons, keyboard and canvas; no manual human playtest",
    "originalBehaviorVerified": false,
    "humanCommands": 53,
    "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": 19,
        "kind": "mandatory-production-choice",
        "source": "Unmodified new-game replay with explicit peaceful research/building commands; no stocks, rules or decisions edited",
        "replayCommands": 108
      }
    ],
    "queueChecked": true,
    "productionDecisionReloaded": true,
    "everyHumanCommandMatchesKernel": true,
    "completedExportImportExact": true,
    "completedReloadExact": true,
    "commandSHA256": "368db32cddd9f438ebd75aa2927f671704457019ba060f083afeef02adddf3c7",
    "finalStateSHA256": "07692f6596b0a3eeb878f84b94352844ae69bd4a2474749f548f2cfaf4cb85ce",
    "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": 21130980,
      "browserProcessRSSBytes": 571076608,
      "combatImageRequests": [],
      "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."
    }
  },
  "limitations": [
    "Full MVP and stages5.1/5.2 remain in progress",
    "Aircraft evacuation when cultural ownership of an airfield changes is not implemented",
    "Original first-work/calendar/cooperative completion ordering still needs a complete Windows control",
    "Exact Windows PCX shadow blending is not verified",
    "Aircraft/helicopter transports, parachute drops and remaining military/victory systems are separate work",
    "Native proofs control external helpers; no full Windows turn or matching native PRNG claim"
  ],
  "publicBrowserScenarios": 31,
  "publicResults": [
    {
      "name": "airfields",
      "exitCode": 0,
      "seconds": 10.04,
      "log": "/tmp/civ3-0220-full-public-browser-airfields.log"
    },
    {
      "name": "air-trade",
      "exitCode": 0,
      "seconds": 7.83,
      "log": "/tmp/civ3-0220-full-public-browser-air-trade.log"
    },
    {
      "name": "airlift",
      "exitCode": 0,
      "seconds": 11.63,
      "log": "/tmp/civ3-0220-full-public-browser-airlift.log"
    },
    {
      "name": "developer-logs",
      "exitCode": 0,
      "seconds": 3.08,
      "log": "/tmp/civ3-0220-full-public-browser-developer-logs.log"
    },
    {
      "name": "movement-sight",
      "exitCode": 0,
      "seconds": 5.53,
      "log": "/tmp/civ3-0220-full-public-browser-movement-sight.log"
    },
    {
      "name": "interturn-planning",
      "exitCode": 0,
      "seconds": 4.94,
      "log": "/tmp/civ3-0220-full-public-browser-interturn-planning.log"
    },
    {
      "name": "context-cargo",
      "exitCode": 0,
      "seconds": 6.71,
      "log": "/tmp/civ3-0220-full-public-browser-context-cargo.log"
    },
    {
      "name": "air-combat",
      "exitCode": 0,
      "seconds": 16.76,
      "log": "/tmp/civ3-0220-full-public-browser-air-combat.log"
    },
    {
      "name": "air-missions",
      "exitCode": 0,
      "seconds": 12.86,
      "log": "/tmp/civ3-0220-full-public-browser-air-missions.log"
    },
    {
      "name": "transport-network",
      "exitCode": 0,
      "seconds": 7.79,
      "log": "/tmp/civ3-0220-full-public-browser-transport-network.log"
    },
    {
      "name": "bombardment",
      "exitCode": 0,
      "seconds": 7.55,
      "log": "/tmp/civ3-0220-full-public-browser-bombardment.log"
    },
    {
      "name": "naval",
      "exitCode": 0,
      "seconds": 10.4,
      "log": "/tmp/civ3-0220-full-public-browser-naval.log"
    },
    {
      "name": "worker-rate",
      "exitCode": 0,
      "seconds": 7.33,
      "log": "/tmp/civ3-0220-full-public-browser-worker-rate.log"
    },
    {
      "name": "civilopedia",
      "exitCode": 0,
      "seconds": 3.6,
      "log": "/tmp/civ3-0220-full-public-browser-civilopedia.log"
    },
    {
      "name": "city-refinements",
      "exitCode": 0,
      "seconds": 5.31,
      "log": "/tmp/civ3-0220-full-public-browser-city-refinements.log"
    },
    {
      "name": "worker-orders",
      "exitCode": 0,
      "seconds": 5.38,
      "log": "/tmp/civ3-0220-full-public-browser-worker-orders.log"
    },
    {
      "name": "preferences",
      "exitCode": 0,
      "seconds": 5.06,
      "log": "/tmp/civ3-0220-full-public-browser-preferences.log"
    },
    {
      "name": "hud-economy",
      "exitCode": 0,
      "seconds": 3.72,
      "log": "/tmp/civ3-0220-full-public-browser-hud-economy.log"
    },
    {
      "name": "modal-backdrop",
      "exitCode": 0,
      "seconds": 6.0,
      "log": "/tmp/civ3-0220-full-public-browser-modal-backdrop.log"
    },
    {
      "name": "technology-tree",
      "exitCode": 0,
      "seconds": 10.98,
      "log": "/tmp/civ3-0220-full-public-browser-technology-tree.log"
    },
    {
      "name": "native-orders",
      "exitCode": 0,
      "seconds": 5.5,
      "log": "/tmp/civ3-0220-full-public-browser-native-orders.log"
    },
    {
      "name": "native-music",
      "exitCode": 0,
      "seconds": 6.13,
      "log": "/tmp/civ3-0220-full-public-browser-native-music.log"
    },
    {
      "name": "readiness",
      "exitCode": 0,
      "seconds": 7.69,
      "log": "/tmp/civ3-0220-full-public-browser-readiness.log"
    },
    {
      "name": "pollution",
      "exitCode": 0,
      "seconds": 8.5,
      "log": "/tmp/civ3-0220-full-public-browser-pollution.log"
    },
    {
      "name": "native-city",
      "exitCode": 0,
      "seconds": 6.44,
      "log": "/tmp/civ3-0220-full-public-browser-native-city.log"
    },
    {
      "name": "terrain-work",
      "exitCode": 0,
      "seconds": 14.12,
      "log": "/tmp/civ3-0220-full-public-browser-terrain-work.log"
    },
    {
      "name": "automation",
      "exitCode": 0,
      "seconds": 12.13,
      "log": "/tmp/civ3-0220-full-public-browser-automation.log"
    },
    {
      "name": "classic-controls",
      "exitCode": 0,
      "seconds": 9.3,
      "log": "/tmp/civ3-0220-full-public-browser-classic-controls.log"
    },
    {
      "name": "party",
      "exitCode": 0,
      "seconds": 53.63,
      "log": "/tmp/civ3-0220-full-public-browser-party.log"
    },
    {
      "name": "interturn-performance",
      "exitCode": 0,
      "seconds": 10.36,
      "log": "/tmp/civ3-0220-full-public-browser-interturn-performance.log"
    },
    {
      "name": "ui-polish",
      "exitCode": 0,
      "seconds": 6.19,
      "log": "/tmp/civ3-0220-full-public-browser-ui-polish.log"
    }
  ],
  "publicTargetedResults": {
    "checkedAt": "2026-10-28T15:07:48.535Z",
    "url": "https://vm.ya-erm.ru/civilization/",
    "codeVersion": "./app.mjs?v=bd463fdeed227095",
    "checks": {
      "nativeWorkerGlyph": true,
      "confirmationAndCancel": true,
      "keyboardShortcut": true,
      "ordinaryTurnBuildsAndConsumesWorker": true,
      "contextAndOriginalTerrainSprite": true,
      "aircraftRebase": true,
      "airportToField": true,
      "fieldToAirport": true,
      "independentSendCounter": true,
      "usagePersistsReload": true,
      "exactKernelComparisons": true,
      "exactExport": true
    },
    "pageErrors": [],
    "failedRequests": []
  },
  "publishedByteAudit": "published-0220-byte-audit.json"
}
