{
  "checkedAt": "2026-10-28T11:41:03.587632+00:00",
  "release": {
    "version": "f56d441b9cbb3ac5",
    "semver": "0.19.0",
    "publishedAt": "2026-10-28T11:35:17+00:00"
  },
  "scope": "Developer menu and full-tab copyable logs; actual intermediate fog for each movement segment; economic planning during the opponent turn",
  "javascriptTests": 902,
  "javascriptModules": 73,
  "javascriptSuiteCodeVersion": "6b47d056243da9b7",
  "finalCssOnlyChange": "Native styling for the logs close button; developer-logs and DOM repeated on final code",
  "pythonTests": 22,
  "dom": "passed on final code",
  "localBrowserScenarios": 28,
  "localBaselineResults": [
    {
      "name": "context-cargo",
      "exitCode": 0,
      "seconds": 6.52,
      "log": "/tmp/civ3-0190-baseline-local-browser-context-cargo.log"
    },
    {
      "name": "air-combat",
      "exitCode": 0,
      "seconds": 17.67,
      "log": "/tmp/civ3-0190-baseline-local-browser-air-combat.log"
    },
    {
      "name": "air-missions",
      "exitCode": 0,
      "seconds": 13.85,
      "log": "/tmp/civ3-0190-baseline-local-browser-air-missions.log"
    },
    {
      "name": "transport-network",
      "exitCode": 0,
      "seconds": 8.22,
      "log": "/tmp/civ3-0190-baseline-local-browser-transport-network.log"
    },
    {
      "name": "bombardment",
      "exitCode": 0,
      "seconds": 7.31,
      "log": "/tmp/civ3-0190-baseline-local-browser-bombardment.log"
    },
    {
      "name": "naval",
      "exitCode": 0,
      "seconds": 12.03,
      "log": "/tmp/civ3-0190-baseline-local-browser-naval.log"
    },
    {
      "name": "worker-rate",
      "exitCode": 0,
      "seconds": 7.49,
      "log": "/tmp/civ3-0190-baseline-local-browser-worker-rate.log"
    },
    {
      "name": "civilopedia",
      "exitCode": 0,
      "seconds": 2.83,
      "log": "/tmp/civ3-0190-baseline-local-browser-civilopedia.log"
    },
    {
      "name": "city-refinements",
      "exitCode": 0,
      "seconds": 5.46,
      "log": "/tmp/civ3-0190-baseline-local-browser-city-refinements.log"
    },
    {
      "name": "worker-orders",
      "exitCode": 0,
      "seconds": 5.97,
      "log": "/tmp/civ3-0190-baseline-local-browser-worker-orders.log"
    },
    {
      "name": "preferences",
      "exitCode": 0,
      "seconds": 4.93,
      "log": "/tmp/civ3-0190-baseline-local-browser-preferences.log"
    },
    {
      "name": "hud-economy",
      "exitCode": 0,
      "seconds": 3.45,
      "log": "/tmp/civ3-0190-baseline-local-browser-hud-economy.log"
    },
    {
      "name": "modal-backdrop",
      "exitCode": 0,
      "seconds": 5.21,
      "log": "/tmp/civ3-0190-baseline-local-browser-modal-backdrop.log"
    },
    {
      "name": "technology-tree",
      "exitCode": 0,
      "seconds": 13.22,
      "log": "/tmp/civ3-0190-baseline-local-browser-technology-tree.log"
    },
    {
      "name": "native-orders",
      "exitCode": 0,
      "seconds": 5.89,
      "log": "/tmp/civ3-0190-baseline-local-browser-native-orders.log"
    },
    {
      "name": "native-music",
      "exitCode": 0,
      "seconds": 6.6,
      "log": "/tmp/civ3-0190-baseline-local-browser-native-music.log"
    },
    {
      "name": "readiness",
      "exitCode": 0,
      "seconds": 6.46,
      "log": "/tmp/civ3-0190-baseline-local-browser-readiness.log"
    },
    {
      "name": "pollution",
      "exitCode": 0,
      "seconds": 9.07,
      "log": "/tmp/civ3-0190-baseline-local-browser-pollution.log"
    },
    {
      "name": "native-city",
      "exitCode": 0,
      "seconds": 7.31,
      "log": "/tmp/civ3-0190-baseline-local-browser-native-city.log"
    },
    {
      "name": "terrain-work",
      "exitCode": 0,
      "seconds": 16.46,
      "log": "/tmp/civ3-0190-baseline-local-browser-terrain-work.log"
    },
    {
      "name": "automation",
      "exitCode": 0,
      "seconds": 12.14,
      "log": "/tmp/civ3-0190-baseline-local-browser-automation.log"
    },
    {
      "name": "classic-controls",
      "exitCode": 0,
      "seconds": 9.28,
      "log": "/tmp/civ3-0190-baseline-local-browser-classic-controls.log"
    },
    {
      "name": "party",
      "exitCode": 0,
      "seconds": 55.49,
      "log": "/tmp/civ3-0190-baseline-local-browser-party.log"
    },
    {
      "name": "interturn-performance",
      "exitCode": 0,
      "seconds": 11.34,
      "log": "/tmp/civ3-0190-baseline-local-browser-interturn-performance.log"
    },
    {
      "name": "ui-polish",
      "exitCode": 0,
      "seconds": 5.93,
      "log": "/tmp/civ3-0190-baseline-local-browser-ui-polish.log"
    }
  ],
  "targetedResults": {
    "developer-logs": {
      "checkedAt": "2026-10-28T11:33:39.677Z",
      "url": "http://127.0.0.1:36093/civilization/",
      "codeVersion": "./app.mjs?v=f56d441b9cbb3ac5",
      "checks": {
        "threeNewTabIcons": true,
        "logsInDevelopmentMenu": true,
        "allRecordsBeyond200": true,
        "compactJSONLines": true,
        "liveUpdates": true,
        "clipboardExact": true,
        "manualCopyFallback": true,
        "mobileLayout": true,
        "escapeCloses": true,
        "readingDoesNotChangeGame": true
      },
      "records": 243,
      "pageErrors": [],
      "failedRequests": []
    },
    "movement-sight": {
      "checkedAt": "2026-10-28T11:23:50.829Z",
      "url": "http://127.0.0.1:38581/civilization/",
      "codeVersion": "./app.mjs?v=6b47d056243da9b7",
      "checks": {
        "realThreeCellRoute": true,
        "firstAndSecondSegmentsKeepFutureTerrainHidden": true,
        "revealedAtArrival": true,
        "exactStateAndExport": true
      },
      "firstFrames": 22,
      "secondFrames": 23,
      "finalPixel": [
        156,
        239,
        191,
        255
      ],
      "pageErrors": [],
      "failedRequests": []
    },
    "interturn-planning": {
      "checkedAt": "2026-10-28T11:25:46.857Z",
      "url": "http://127.0.0.1:42463/civilization/",
      "codeVersion": "./app.mjs?v=6b47d056243da9b7",
      "checks": {
        "actualAITurnPausedAtOrdinaryYield": true,
        "cityAccessibleDuringAI": true,
        "productionChangesDuringAI": true,
        "governorChangesDuringAI": true,
        "citizensChangeDuringAI": true,
        "budgetChangesDuringAI": true,
        "researchPlanChangesDuringAI": true,
        "eachHumanCommandMatchesKernel": true,
        "sameAIContinuesWithoutLostEdits": true,
        "exactExport": true
      },
      "pageErrors": [],
      "failedRequests": []
    }
  },
  "publicStatus": "passed",
  "saveSchema": 36,
  "newTests": {
    "debugLogs": 2,
    "movementSight": 2,
    "interturnPlanning": 5
  },
  "fullParty": {
    "humanCommands": 53,
    "turns": 18,
    "winnerId": "p2",
    "completedExportImportExact": true,
    "completedReloadExact": true
  },
  "nativeOriginalFullRuntimeVerified": false,
  "notes": [
    "Out-of-turn economic management is an explicit user-requested control change.",
    "Planning does not run the opponent automatic routes, harvest, spend movement/gold/population, or restart an animation.",
    "The movementSight result is transient and excluded from state, events and saves.",
    "Logs are kept for the current loaded tab; history() retains the existing recent200 object API while text() includes every logged row.",
    "Independent service tests are excluded from the game kernel; no service sources or published service files are changed."
  ],
  "limitations": [
    "Full MVP and stages5.1/5.2 remain incomplete; see development plan."
  ],
  "publicBrowserScenarios": 28,
  "publicResults": [
    {
      "name": "developer-logs",
      "exitCode": 0,
      "seconds": 3.88,
      "log": "/tmp/civ3-0190-public-full-public-browser-developer-logs.log"
    },
    {
      "name": "movement-sight",
      "exitCode": 0,
      "seconds": 6.19,
      "log": "/tmp/civ3-0190-public-full-public-browser-movement-sight.log"
    },
    {
      "name": "interturn-planning",
      "exitCode": 0,
      "seconds": 5.02,
      "log": "/tmp/civ3-0190-public-full-public-browser-interturn-planning.log"
    },
    {
      "name": "context-cargo",
      "exitCode": 0,
      "seconds": 5.86,
      "log": "/tmp/civ3-0190-public-full-public-browser-context-cargo.log"
    },
    {
      "name": "air-combat",
      "exitCode": 0,
      "seconds": 17.01,
      "log": "/tmp/civ3-0190-public-full-public-browser-air-combat.log"
    },
    {
      "name": "air-missions",
      "exitCode": 0,
      "seconds": 12.82,
      "log": "/tmp/civ3-0190-public-full-public-browser-air-missions.log"
    },
    {
      "name": "transport-network",
      "exitCode": 0,
      "seconds": 7.96,
      "log": "/tmp/civ3-0190-public-full-public-browser-transport-network.log"
    },
    {
      "name": "bombardment",
      "exitCode": 0,
      "seconds": 7.47,
      "log": "/tmp/civ3-0190-public-full-public-browser-bombardment.log"
    },
    {
      "name": "naval",
      "exitCode": 0,
      "seconds": 11.16,
      "log": "/tmp/civ3-0190-public-full-public-browser-naval.log"
    },
    {
      "name": "worker-rate",
      "exitCode": 0,
      "seconds": 7.25,
      "log": "/tmp/civ3-0190-public-full-public-browser-worker-rate.log"
    },
    {
      "name": "civilopedia",
      "exitCode": 0,
      "seconds": 4.11,
      "log": "/tmp/civ3-0190-public-full-public-browser-civilopedia.log"
    },
    {
      "name": "city-refinements",
      "exitCode": 0,
      "seconds": 5.48,
      "log": "/tmp/civ3-0190-public-full-public-browser-city-refinements.log"
    },
    {
      "name": "worker-orders",
      "exitCode": 0,
      "seconds": 6.21,
      "log": "/tmp/civ3-0190-public-full-public-browser-worker-orders.log"
    },
    {
      "name": "preferences",
      "exitCode": 0,
      "seconds": 4.55,
      "log": "/tmp/civ3-0190-public-full-public-browser-preferences.log"
    },
    {
      "name": "hud-economy",
      "exitCode": 0,
      "seconds": 3.77,
      "log": "/tmp/civ3-0190-public-full-public-browser-hud-economy.log"
    },
    {
      "name": "modal-backdrop",
      "exitCode": 0,
      "seconds": 5.85,
      "log": "/tmp/civ3-0190-public-full-public-browser-modal-backdrop.log"
    },
    {
      "name": "technology-tree",
      "exitCode": 0,
      "seconds": 10.63,
      "log": "/tmp/civ3-0190-public-full-public-browser-technology-tree.log"
    },
    {
      "name": "native-orders",
      "exitCode": 0,
      "seconds": 5.92,
      "log": "/tmp/civ3-0190-public-full-public-browser-native-orders.log"
    },
    {
      "name": "native-music",
      "exitCode": 0,
      "seconds": 5.92,
      "log": "/tmp/civ3-0190-public-full-public-browser-native-music.log"
    },
    {
      "name": "readiness",
      "exitCode": 0,
      "seconds": 8.16,
      "log": "/tmp/civ3-0190-public-full-public-browser-readiness.log"
    },
    {
      "name": "pollution",
      "exitCode": 0,
      "seconds": 9.05,
      "log": "/tmp/civ3-0190-public-full-public-browser-pollution.log"
    },
    {
      "name": "native-city",
      "exitCode": 0,
      "seconds": 6.58,
      "log": "/tmp/civ3-0190-public-full-public-browser-native-city.log"
    },
    {
      "name": "terrain-work",
      "exitCode": 0,
      "seconds": 15.99,
      "log": "/tmp/civ3-0190-public-full-public-browser-terrain-work.log"
    },
    {
      "name": "automation",
      "exitCode": 0,
      "seconds": 11.59,
      "log": "/tmp/civ3-0190-public-full-public-browser-automation.log"
    },
    {
      "name": "classic-controls",
      "exitCode": 0,
      "seconds": 9.64,
      "log": "/tmp/civ3-0190-public-full-public-browser-classic-controls.log"
    },
    {
      "name": "party",
      "exitCode": 0,
      "seconds": 52.91,
      "log": "/tmp/civ3-0190-public-full-public-browser-party.log"
    },
    {
      "name": "interturn-performance",
      "exitCode": 0,
      "seconds": 11.48,
      "log": "/tmp/civ3-0190-public-full-public-browser-interturn-performance.log"
    },
    {
      "name": "ui-polish",
      "exitCode": 0,
      "seconds": 5.92,
      "log": "/tmp/civ3-0190-public-full-public-browser-ui-polish.log"
    }
  ],
  "publishedByteAudit": "published-0190-byte-audit.json",
  "publicTargetedResults": {
    "developer-logs": {
      "checkedAt": "2026-10-28T11:36:12.555Z",
      "url": "https://vm.ya-erm.ru/civilization/",
      "codeVersion": "./app.mjs?v=f56d441b9cbb3ac5",
      "checks": {
        "threeNewTabIcons": true,
        "logsInDevelopmentMenu": true,
        "allRecordsBeyond200": true,
        "compactJSONLines": true,
        "liveUpdates": true,
        "clipboardExact": true,
        "manualCopyFallback": true,
        "mobileLayout": true,
        "escapeCloses": true,
        "readingDoesNotChangeGame": true
      },
      "records": 243,
      "pageErrors": [],
      "failedRequests": []
    },
    "movement-sight": {
      "checkedAt": "2026-10-28T11:36:18.740Z",
      "url": "https://vm.ya-erm.ru/civilization/",
      "codeVersion": "./app.mjs?v=f56d441b9cbb3ac5",
      "checks": {
        "realThreeCellRoute": true,
        "firstAndSecondSegmentsKeepFutureTerrainHidden": true,
        "revealedAtArrival": true,
        "exactStateAndExport": true
      },
      "firstFrames": 22,
      "secondFrames": 24,
      "finalPixel": [
        156,
        239,
        191,
        255
      ],
      "pageErrors": [],
      "failedRequests": []
    },
    "interturn-planning": {
      "checkedAt": "2026-10-28T11:36:23.751Z",
      "url": "https://vm.ya-erm.ru/civilization/",
      "codeVersion": "./app.mjs?v=f56d441b9cbb3ac5",
      "checks": {
        "actualAITurnPausedAtOrdinaryYield": true,
        "cityAccessibleDuringAI": true,
        "productionChangesDuringAI": true,
        "governorChangesDuringAI": true,
        "citizensChangeDuringAI": true,
        "budgetChangesDuringAI": true,
        "researchPlanChangesDuringAI": true,
        "eachHumanCommandMatchesKernel": true,
        "sameAIContinuesWithoutLostEdits": true,
        "exactExport": true
      },
      "pageErrors": [],
      "failedRequests": []
    }
  }
}
