2151 lines
70 KiB
JSON
2151 lines
70 KiB
JSON
{
|
|
"schema": "sots-standalone-status/1",
|
|
"generated": "2026-09-08T22:06:02Z",
|
|
"binary": "/srv/re-lab/build/eng-ref/build-host/src/app/sots_turn",
|
|
"engineArgs": [],
|
|
"reference": {
|
|
"input": "turn2-state.sav",
|
|
"oracle": "turn3-state.sav",
|
|
"baselineDiverging": 108,
|
|
"divergingAfterTurn": 63,
|
|
"closed": 45,
|
|
"regressed": 0,
|
|
"byteMatch": false,
|
|
"subsystems": {
|
|
"/Sim/systems": 24,
|
|
"/Sim/players": 20,
|
|
"/Sim/turnstats": 8,
|
|
"/Sim/fleets": 3,
|
|
"/Sim/FleetIDs[]": 1,
|
|
"/Sim/ModCount": 1,
|
|
"/Sim/NMnx": 1,
|
|
"/Sim/NumFlts": 1,
|
|
"/Sim/RNG": 1,
|
|
"/Sim/ShipIDs[]": 1,
|
|
"/Sim/cmbtid": 1,
|
|
"/Summary/Checksum": 1
|
|
}
|
|
},
|
|
"phases": {
|
|
"total": 44,
|
|
"verified": 0,
|
|
"implemented": 4,
|
|
"partial": 8,
|
|
"blocked": 4,
|
|
"stub": 28,
|
|
"modelled": 16,
|
|
"committed": 12
|
|
},
|
|
"tailPhases": {
|
|
"total": 37,
|
|
"verified": 0,
|
|
"implemented": 1,
|
|
"partial": 4,
|
|
"blocked": 1,
|
|
"stub": 31,
|
|
"modelled": 6,
|
|
"committed": 5
|
|
},
|
|
"rng": {
|
|
"wordsModelled": 16,
|
|
"wordsPerTurnUnattributed": "18-20 (lane Z, in flight)"
|
|
},
|
|
"pairs": [
|
|
{
|
|
"input": "turn2-state.sav",
|
|
"oracle": "turn3-state.sav",
|
|
"note": "real End Turn (canonical reference)",
|
|
"engineArgs": [],
|
|
"exit": 0,
|
|
"stdout": [
|
|
"load: /srv/re-lab/build/sre5/verify/results/saves/turn2-state.sav",
|
|
" 603360 inflated bytes, 0 error(s), 0 warning(s)",
|
|
" turn 2, frame 2, modCount 12, 8 player(s), 28 system(s), 7 fleet(s)",
|
|
"roundtrip (untouched): byte-identical (603360 bytes)",
|
|
"data: no root given (--data DIR / $SOTS_DATA_DIR); the tail's ship census stays unmodelled",
|
|
"",
|
|
"phases",
|
|
" turn drivers (the milestone's denominator): 16 of 44 modelled, 12 committed",
|
|
" verified 0 implemented 4 partial 8 blocked 4 stub 28",
|
|
" post-combat tail (written to the autosave, tracked separately): 6 of 37 modelled",
|
|
" verified 0 implemented 1 partial 4 blocked 1 stub 31",
|
|
"",
|
|
"this run",
|
|
" leaves written 57",
|
|
" leaves NOT written by a blocked phase 72",
|
|
" generator words consumed 16 (state loaded, left untouched)",
|
|
" generator words NOT accounted (never netted off the above):",
|
|
" - encounter detection draws one unit value and one bounded integer per turn on every turn measured (2 words), with no derived rule behind the count -- its bound is the product of the contact and detector counts, so it is left unmodelled",
|
|
" - two draws are downstream of the budget's research allocation -- ProcessResearch's completion Chance and the tech-effect callback's own roll (0 or 1 word each). The allocation needs ComputeBudget's per-system money, which is ComputeOutput with the system's OWN rate sliders; the max-income form of that money is now modelled and self-checked (see T31), but it is NOT the one this path takes",
|
|
" - a successful raid roll may draw one further word to pick its target; no roll succeeded on any measured turn, so the cost of a success is 0 or 1 and undetermined",
|
|
" ! the generator advanced during this run but the save keeps its original state (--commit-rng to write it)",
|
|
" ! the modelled words are a LOWER BOUND on the turn's cost, so a committed generator is short by the unaccounted sites below and its drawn VALUES are not the game's",
|
|
"",
|
|
"wrote /tmp/tmpf0cd3n4p/post-turn2-state.sav (66882 bytes gzipped, 603360 inflated)",
|
|
"metric -> /tmp/tmpf0cd3n4p/metric-turn2-state.sav.json"
|
|
],
|
|
"coverage": {
|
|
"input": true,
|
|
"oracle": true,
|
|
"ours": true
|
|
},
|
|
"roots": {
|
|
"input": "4bed514f853332b9fa35b388c3aa5558",
|
|
"oracle": "e9c161e311f8ef8fad6f1aa1903dcf3f",
|
|
"ours": "abe565b26e6b52ac8ee006e34fc1a984"
|
|
},
|
|
"baselineDiverging": 108,
|
|
"divergingAfterTurn": 63,
|
|
"closed": 45,
|
|
"regressed": 0,
|
|
"closedPaths": [
|
|
"/Sim/Frame",
|
|
"/Sim/SvSctOb/EncObj[5]/Hives/.[1]/NextQ",
|
|
"/Sim/SvSctOb/EncObj[5]/Hives/.[2]/NextQ",
|
|
"/Sim/players/Player[16 \"re\"]/BnkEl",
|
|
"/Sim/players/Player[16 \"re\"]/PvSav",
|
|
"/Sim/players/Player[16 \"re\"]/Sav",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/BnkEl",
|
|
"/Sim/players/Player[496 \"Singularity\"]/dipstats/.[1]/lastally",
|
|
"/Sim/players/Player[512 \"Singularity\"]/dipstats/.[1]/lastally",
|
|
"/Sim/players/Player[528 \"Alien Menace\"]/dipstats/.[1]/lastnap",
|
|
"/Sim/players/Player[528 \"Alien Menace\"]/dipstats/.[2]/lastnap",
|
|
"/Sim/players/Player[528 \"Alien Menace\"]/dipstats/.[3]/lastnap",
|
|
"/Sim/players/Player[544 \"Peacekeeper Enforcer\"]/dipstats/.[1]/lastnap",
|
|
"/Sim/players/Player[544 \"Peacekeeper Enforcer\"]/dipstats/.[2]/lastnap",
|
|
"/Sim/players/Player[544 \"Peacekeeper Enforcer\"]/dipstats/.[3]/lastnap",
|
|
"/Sim/players/Player[560 \"Von Neumann\"]/dipstats/.[1]/lastnap",
|
|
"/Sim/players/Player[560 \"Von Neumann\"]/dipstats/.[2]/lastnap",
|
|
"/Sim/players/Player[560 \"Von Neumann\"]/dipstats/.[3]/lastnap",
|
|
"/Sim/players/Player[576 \"Independent Colony\"]/PvSav",
|
|
"/Sim/players/Player[576 \"Independent Colony\"]/Sav",
|
|
"/Sim/players/Player[576 \"Independent Colony\"]/dipstats/.[1]/lastnap",
|
|
"/Sim/players/Player[576 \"Independent Colony\"]/dipstats/.[2]/lastnap",
|
|
"/Sim/players/Player[576 \"Independent Colony\"]/dipstats/.[3]/lastnap",
|
|
"/Sim/systems/Sys[112 \"Gamma Cephei\"]/ETS",
|
|
"/Sim/systems/Sys[112 \"Gamma Cephei\"]/Pop2/PopG/PopC",
|
|
"/Sim/systems/Sys[112 \"Gamma Cephei\"]/ltis",
|
|
"/Sim/systems/Sys[112 \"Gamma Cephei\"]/ntdev",
|
|
"/Sim/systems/Sys[288 \"Ke'Dolarra\"]/ETS",
|
|
"/Sim/systems/Sys[288 \"Ke'Dolarra\"]/Pop2/PopG/PopC",
|
|
"/Sim/systems/Sys[288 \"Ke'Dolarra\"]/ltis",
|
|
"/Sim/systems/Sys[288 \"Ke'Dolarra\"]/ntdev",
|
|
"/Sim/systems/Sys[304 \"Koa\u2019Vo\"]/ETS",
|
|
"/Sim/systems/Sys[304 \"Koa\u2019Vo\"]/ltis",
|
|
"/Sim/systems/Sys[304 \"Koa\u2019Vo\"]/ntdev",
|
|
"/Sim/systems/Sys[336 \"Kaa\u2019Vaalu\"]/ETS",
|
|
"/Sim/systems/Sys[336 \"Kaa\u2019Vaalu\"]/ltis",
|
|
"/Sim/systems/Sys[400 \"Markab\"]/ETS",
|
|
"/Sim/systems/Sys[400 \"Markab\"]/ltis",
|
|
"/Sim/systems/Sys[448 \"Kea\u2019Pono\"]/ETS",
|
|
"/Sim/systems/Sys[448 \"Kea\u2019Pono\"]/ltis",
|
|
"/Sim/systems/Sys[480 \"Ko'Rorkor\"]/ETS",
|
|
"/Sim/systems/Sys[480 \"Ko'Rorkor\"]/ltis",
|
|
"/Sim/systems/Sys[64 \"Hyperion\"]/ETS",
|
|
"/Sim/systems/Sys[64 \"Hyperion\"]/ltis",
|
|
"/Summary/Turn"
|
|
],
|
|
"regressedPaths": [],
|
|
"remainingSample": [
|
|
"/Sim/FleetIDs[]: removed [1744], added [34, 1776] (7 -> 8 entries)",
|
|
"/Sim/ModCount: 14 -> 24",
|
|
"/Sim/NMnx: 109 -> 111",
|
|
"/Sim/NumFlts: 7 -> 8",
|
|
"/Sim/RNG/.: '<raw 2503 B ef4d678696ed4c53>' -> '<raw 2503 B a80459bfd63a006b>'",
|
|
"/Sim/ShipIDs[]: removed [], added [1760] (16 -> 17 entries)",
|
|
"/Sim/cmbtid: 2 -> 3",
|
|
"/Sim/fleets/Flt[1744 \"Alpha Fleet\"]: only-in-A",
|
|
"/Sim/fleets/Flt[1776 \"Gamma Fleet\"]: only-in-B",
|
|
"/Sim/fleets/Flt[34 \"Beta Fleet\"]: only-in-B",
|
|
"/Sim/players/Player[16 \"re\"]/BnkPr: -789323 -> -791290",
|
|
"/Sim/players/Player[16 \"re\"]/Events/EvNxID: 2 -> 3",
|
|
"/Sim/players/Player[16 \"re\"]/Events/Events/.[0]: 1 -> 2",
|
|
"/Sim/players/Player[16 \"re\"]/Events/Events/.[EvTurn=3]: only-in-B",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/BnkPr: -898837 -> -901002",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/Events/EvNxID: 2 -> 4",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/Events/Events/.[0]: 1 -> 2",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/Events/Events/.[EvTurn=3]: only-in-B",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/FNG/FNGNum: 1 -> 3",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/Maint: 500 -> 1000",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/PvSav: 92651 -> 80751",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/Sav: 142379 -> 135486",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/ShipRecs/srb[0]: 1 -> 2",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/ShipRecs/srb[3]: 1 -> 2",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/ShipRecs/sri[0]: 1 -> 2",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/ShipRecs/sri[3]: 1 -> 2",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/TechTree/TResDone[106]: 2879 -> 5768",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/TechTree/Tbd[106]: 1 -> 2",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/lboid: 1 -> 2",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/odes/.[1]/otnL: 2 -> 3",
|
|
"/Sim/systems/Sys[112 \"Gamma Cephei\"]/PvPop2/PopG/PopC: 500000000 -> 520000000",
|
|
"/Sim/systems/Sys[112 \"Gamma Cephei\"]/RepCur: 336360.0 -> 336840.0 [15360 ulp]",
|
|
"/Sim/systems/Sys[112 \"Gamma Cephei\"]/RepMax: 336360.0 -> 336840.0 [15360 ulp]",
|
|
"/Sim/systems/Sys[112 \"Gamma Cephei\"]/TShn: 2 -> 3",
|
|
"/Sim/systems/Sys[224 \"Spica\"]/TShn: 2 -> 3",
|
|
"/Sim/systems/Sys[288 \"Ke'Dolarra\"]/DefF: 1744 -> 1776",
|
|
"/Sim/systems/Sys[288 \"Ke'Dolarra\"]/Flt: 1744 -> 1776",
|
|
"/Sim/systems/Sys[288 \"Ke'Dolarra\"]/PvPop2/PopG/PopC: 500000000 -> 520000000",
|
|
"/Sim/systems/Sys[288 \"Ke'Dolarra\"]/RepCur: 370000.0 -> 370520.0 [16640 ulp]",
|
|
"/Sim/systems/Sys[288 \"Ke'Dolarra\"]/RepMax: 370000.0 -> 370520.0 [16640 ulp]"
|
|
],
|
|
"byteMatch": false,
|
|
"standalone": {
|
|
"schema": "sots-standalone-metric/1",
|
|
"input": "/srv/re-lab/build/sre5/verify/results/saves/turn2-state.sav",
|
|
"output": "/tmp/tmpf0cd3n4p/post-turn2-state.sav",
|
|
"spine": {
|
|
"total": 44,
|
|
"verified": 0,
|
|
"implemented": 4,
|
|
"partial": 8,
|
|
"blocked": 4,
|
|
"stub": 28,
|
|
"modelled": 16,
|
|
"committed": 12
|
|
},
|
|
"tail": {
|
|
"total": 37,
|
|
"verified": 0,
|
|
"implemented": 1,
|
|
"partial": 4,
|
|
"blocked": 1,
|
|
"stub": 31,
|
|
"modelled": 6,
|
|
"committed": 5
|
|
},
|
|
"run": {
|
|
"leafWrites": 57,
|
|
"blockedLeafWrites": 72,
|
|
"rngWords": 16,
|
|
"rngLoaded": true,
|
|
"rngCommitted": false,
|
|
"rngUnaccounted": [
|
|
"encounter detection draws one unit value and one bounded integer per turn on every turn measured (2 words), with no derived rule behind the count -- its bound is the product of the contact and detector counts, so it is left unmodelled",
|
|
"two draws are downstream of the budget's research allocation -- ProcessResearch's completion Chance and the tech-effect callback's own roll (0 or 1 word each). The allocation needs ComputeBudget's per-system money, which is ComputeOutput with the system's OWN rate sliders; the max-income form of that money is now modelled and self-checked (see T31), but it is NOT the one this path takes",
|
|
"a successful raid roll may draw one further word to pick its target; no roll succeeded on any measured turn, so the cost of a success is 0 or 1 and undetermined"
|
|
]
|
|
},
|
|
"phases": [
|
|
{
|
|
"driver": "host turn sequence (outside the two turn drivers)",
|
|
"id": "H00",
|
|
"name": "BeginProcessTurn",
|
|
"status": "implemented",
|
|
"ran": 1,
|
|
"writes": 1,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "host turn sequence (outside the two turn drivers)",
|
|
"id": "H03",
|
|
"name": "ScriptHookTurnBegin",
|
|
"status": "partial",
|
|
"ran": 2,
|
|
"writes": 7,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "host turn sequence (outside the two turn drivers)",
|
|
"id": "H02",
|
|
"name": "StampTreatyTurns",
|
|
"status": "implemented",
|
|
"ran": 14,
|
|
"writes": 14,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S00",
|
|
"name": "SnapshotPreviousTurn",
|
|
"status": "partial",
|
|
"ran": 9,
|
|
"writes": 4,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S01",
|
|
"name": "SystemPrePassMoraleAndAbandon",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S02",
|
|
"name": "TradeManagerTurn",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S03",
|
|
"name": "RegisterTradeSystems",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S04",
|
|
"name": "RebuildAllianceMasks",
|
|
"status": "implemented",
|
|
"ran": 8,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S05",
|
|
"name": "BuildShipActionTypeSets",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S06",
|
|
"name": "ShipActionsExceptType2",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S07",
|
|
"name": "NodeSpaceTravel",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S08",
|
|
"name": "FleetMovement",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S09",
|
|
"name": "ShipActionsType2",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S10",
|
|
"name": "ShipUpkeep",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S11",
|
|
"name": "SystemTurn",
|
|
"status": "partial",
|
|
"ran": 28,
|
|
"writes": 5,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S12",
|
|
"name": "TradeSliderFinalisation",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S13",
|
|
"name": "PlayerTurn",
|
|
"status": "partial",
|
|
"ran": 8,
|
|
"writes": 3,
|
|
"blockedWrites": 7,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "ServerPlayer::ProcessTurn",
|
|
"id": "P01",
|
|
"name": "ComputeBudget",
|
|
"status": "partial",
|
|
"ran": 8,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "ServerPlayer::ProcessTurn",
|
|
"id": "P02",
|
|
"name": "ApplyNetToSavings",
|
|
"status": "partial",
|
|
"ran": 0,
|
|
"writes": 3,
|
|
"blockedWrites": 3,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "ServerPlayer::ProcessTurn",
|
|
"id": "P03",
|
|
"name": "RecordBudgetDerivedFields",
|
|
"status": "blocked",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "ServerPlayer::ProcessTurn",
|
|
"id": "P04",
|
|
"name": "ProcessSpecialProjectsSpend",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "ServerPlayer::ProcessTurn",
|
|
"id": "P05",
|
|
"name": "ProcessResearch",
|
|
"status": "blocked",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "ServerPlayer::ProcessTurn",
|
|
"id": "P06",
|
|
"name": "ResearchRefund",
|
|
"status": "blocked",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "ServerPlayer::ProcessTurn",
|
|
"id": "P07",
|
|
"name": "ClearTimedResearchAccumulators",
|
|
"status": "partial",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "ServerPlayer::ProcessTurn",
|
|
"id": "P08",
|
|
"name": "DecayRebellionOutputModifier",
|
|
"status": "implemented",
|
|
"ran": 2,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "ServerPlayer::ProcessTurn",
|
|
"id": "P09",
|
|
"name": "AccumulateTimedResearchBonuses",
|
|
"status": "implemented",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "ServerPlayer::ProcessTurn",
|
|
"id": "P10",
|
|
"name": "ConsumeResearchRollPending",
|
|
"status": "partial",
|
|
"ran": 2,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "ServerPlayer::ProcessTurn",
|
|
"id": "P11",
|
|
"name": "PostNoResearchEvent",
|
|
"status": "blocked",
|
|
"ran": 1,
|
|
"writes": 0,
|
|
"blockedWrites": 4,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "ServerPlayer::ProcessTurn",
|
|
"id": "P12",
|
|
"name": "PruneRaidTargets",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S14",
|
|
"name": "ProcessMissions",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S15",
|
|
"name": "ProcessStations",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S16",
|
|
"name": "ProcessDefenceSats",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S17",
|
|
"name": "ShipStatCacheRefresh",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S18",
|
|
"name": "ShipActionsForceValidate",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S19",
|
|
"name": "ProcessAid",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S20",
|
|
"name": "ProcessSpecialProjectsServer",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S21",
|
|
"name": "ProcessSurrenders",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S22",
|
|
"name": "AdvanceAIRebellion",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S23",
|
|
"name": "ScriptHookTurnStart",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S24",
|
|
"name": "SensorUpdate",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S25",
|
|
"name": "ScriptHookPostSensor",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S26",
|
|
"name": "RefreshPlayerViews",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S27",
|
|
"name": "RecomputePlayerReports",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S28",
|
|
"name": "GrantMetSpeciesTechs",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S29",
|
|
"name": "SystemObservedStamp",
|
|
"status": "implemented",
|
|
"ran": 28,
|
|
"writes": 8,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S30",
|
|
"name": "BuildTeamPartition",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S31",
|
|
"name": "EncounterDetectionAndStatusRestore",
|
|
"status": "partial",
|
|
"ran": 8,
|
|
"writes": 0,
|
|
"blockedWrites": 2,
|
|
"rng": 16
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T00",
|
|
"name": "IncrementModCount",
|
|
"status": "implemented",
|
|
"ran": 1,
|
|
"writes": 1,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T01",
|
|
"name": "ValidateEncounterResultArity",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T02",
|
|
"name": "ResolveFirstContact",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T03",
|
|
"name": "AnnounceEncounterSightings",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T04",
|
|
"name": "TallyBattlesFought",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T05",
|
|
"name": "UpdateDiplomacyStatsFromCombat",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T06",
|
|
"name": "ApplyEncounterResults",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T07",
|
|
"name": "ClearEncounters",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T08",
|
|
"name": "ScriptHookCombatDone",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T09",
|
|
"name": "AdvanceAIRebellionPostCombat",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T10",
|
|
"name": "NodeSpaceTravelSecondPass",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T11",
|
|
"name": "DecayNodeLines",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T12",
|
|
"name": "DrainColonyLossQueue",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T13",
|
|
"name": "UpdateTreasuryMorale",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T14",
|
|
"name": "UpdateForeignFleetMorale",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T15",
|
|
"name": "ProcessBankruptcy",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T16",
|
|
"name": "ResolveArrivedColonizers",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T17",
|
|
"name": "RebuildPlayerViewTree",
|
|
"status": "partial",
|
|
"ran": 28,
|
|
"writes": 8,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T18",
|
|
"name": "PostFleetWarnings",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T19",
|
|
"name": "DrainInfraTerraformQueue",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T20",
|
|
"name": "ScriptHooksTurnEnd",
|
|
"status": "partial",
|
|
"ran": 1,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T21",
|
|
"name": "UpdateSurveyAndSystemStats",
|
|
"status": "partial",
|
|
"ran": 28,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T22",
|
|
"name": "TradeSliderFinalisationSecondPass",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T23",
|
|
"name": "TradeManagerEndOfTurnHooks",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T24",
|
|
"name": "RecomputeMaintenanceAndResearchBonus",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T25",
|
|
"name": "SensorUpdateSecondPass",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T26",
|
|
"name": "ScriptHookPostSensorTail",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T27",
|
|
"name": "RefreshPlayerViewsSecondPass",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T28",
|
|
"name": "UpdateNodeLineSightingMasks",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T29",
|
|
"name": "AbortInvisibleInterceptOrders",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T30",
|
|
"name": "RebuildCommunicationMasks",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T31",
|
|
"name": "UpdateBankruptcyLimits",
|
|
"status": "partial",
|
|
"ran": 8,
|
|
"writes": 2,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T32",
|
|
"name": "PostIncomingFleetWarnings",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T33",
|
|
"name": "ShipManagerEndOfTurnHooks",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T34",
|
|
"name": "RecordObservedDesigns",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T35",
|
|
"name": "RebuildPlayerReports",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T36",
|
|
"name": "FinalizeTurnRecords",
|
|
"status": "blocked",
|
|
"ran": 8,
|
|
"writes": 0,
|
|
"blockedWrites": 56,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "host turn sequence (outside the two turn drivers)",
|
|
"id": "H01",
|
|
"name": "SaveWriterInvariants",
|
|
"status": "implemented",
|
|
"ran": 1,
|
|
"writes": 1,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"input": "turn1-state.sav",
|
|
"oracle": "turn2-state.sav",
|
|
"note": "real End Turn (secondary; 4 leaves non-deterministic in the original)",
|
|
"engineArgs": [],
|
|
"exit": 0,
|
|
"stdout": [
|
|
"load: /srv/re-lab/build/sre5/verify/results/saves/turn1-state.sav",
|
|
" 591376 inflated bytes, 0 error(s), 0 warning(s)",
|
|
" turn 1, frame 1, modCount 0, 8 player(s), 28 system(s), 6 fleet(s)",
|
|
"roundtrip (untouched): byte-identical (591376 bytes)",
|
|
"data: no root given (--data DIR / $SOTS_DATA_DIR); the tail's ship census stays unmodelled",
|
|
"",
|
|
"phases",
|
|
" turn drivers (the milestone's denominator): 16 of 44 modelled, 12 committed",
|
|
" verified 0 implemented 4 partial 8 blocked 4 stub 28",
|
|
" post-combat tail (written to the autosave, tracked separately): 6 of 37 modelled",
|
|
" verified 0 implemented 1 partial 4 blocked 1 stub 31",
|
|
"",
|
|
"this run",
|
|
" leaves written 93",
|
|
" leaves NOT written by a blocked phase 96",
|
|
" generator words consumed 16 (state loaded, left untouched)",
|
|
" generator words NOT accounted (never netted off the above):",
|
|
" - encounter detection draws one unit value and one bounded integer per turn on every turn measured (2 words), with no derived rule behind the count -- its bound is the product of the contact and detector counts, so it is left unmodelled",
|
|
" - two draws are downstream of the budget's research allocation -- ProcessResearch's completion Chance and the tech-effect callback's own roll (0 or 1 word each). The allocation needs ComputeBudget's per-system money, which is ComputeOutput with the system's OWN rate sliders; the max-income form of that money is now modelled and self-checked (see T31), but it is NOT the one this path takes",
|
|
" - a successful raid roll may draw one further word to pick its target; no roll succeeded on any measured turn, so the cost of a success is 0 or 1 and undetermined",
|
|
" ! the generator advanced during this run but the save keeps its original state (--commit-rng to write it)",
|
|
" ! the modelled words are a LOWER BOUND on the turn's cost, so a committed generator is short by the unaccounted sites below and its drawn VALUES are not the game's",
|
|
"",
|
|
"wrote /tmp/tmpf0cd3n4p/post-turn1-state.sav (65980 bytes gzipped, 595192 inflated)",
|
|
"metric -> /tmp/tmpf0cd3n4p/metric-turn1-state.sav.json"
|
|
],
|
|
"coverage": {
|
|
"input": true,
|
|
"oracle": true,
|
|
"ours": true
|
|
},
|
|
"roots": {
|
|
"input": "64b836b966299d9b72fc02244ed31e31",
|
|
"oracle": "4bed514f853332b9fa35b388c3aa5558",
|
|
"ours": "9f767c16c83cfa6c653b51a3bd027659"
|
|
},
|
|
"baselineDiverging": 209,
|
|
"divergingAfterTurn": 124,
|
|
"closed": 85,
|
|
"regressed": 0,
|
|
"closedPaths": [
|
|
"/Sim/Frame",
|
|
"/Sim/SvSctOb/EncObj[3]/CDiff",
|
|
"/Sim/SvSctOb/EncObj[6]/ini",
|
|
"/Sim/players/Player[16 \"re\"]/BnkEl",
|
|
"/Sim/players/Player[16 \"re\"]/Sav",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/BnkEl",
|
|
"/Sim/players/Player[496 \"Singularity\"]/dipstats/.",
|
|
"/Sim/players/Player[496 \"Singularity\"]/dipstats/.[0]",
|
|
"/Sim/players/Player[496 \"Singularity\"]/dipstats/.[1]",
|
|
"/Sim/players/Player[512 \"Singularity\"]/dipstats/.",
|
|
"/Sim/players/Player[512 \"Singularity\"]/dipstats/.[0]",
|
|
"/Sim/players/Player[512 \"Singularity\"]/dipstats/.[1]",
|
|
"/Sim/players/Player[528 \"Alien Menace\"]/dipstats/.",
|
|
"/Sim/players/Player[528 \"Alien Menace\"]/dipstats/.[0]",
|
|
"/Sim/players/Player[528 \"Alien Menace\"]/dipstats/.[1]",
|
|
"/Sim/players/Player[528 \"Alien Menace\"]/dipstats/.[2]",
|
|
"/Sim/players/Player[528 \"Alien Menace\"]/dipstats/.[3]",
|
|
"/Sim/players/Player[544 \"Peacekeeper Enforcer\"]/dipstats/.",
|
|
"/Sim/players/Player[544 \"Peacekeeper Enforcer\"]/dipstats/.[0]",
|
|
"/Sim/players/Player[544 \"Peacekeeper Enforcer\"]/dipstats/.[1]",
|
|
"/Sim/players/Player[544 \"Peacekeeper Enforcer\"]/dipstats/.[2]",
|
|
"/Sim/players/Player[544 \"Peacekeeper Enforcer\"]/dipstats/.[3]",
|
|
"/Sim/players/Player[560 \"Von Neumann\"]/dipstats/.",
|
|
"/Sim/players/Player[560 \"Von Neumann\"]/dipstats/.[0]",
|
|
"/Sim/players/Player[560 \"Von Neumann\"]/dipstats/.[1]",
|
|
"/Sim/players/Player[560 \"Von Neumann\"]/dipstats/.[2]",
|
|
"/Sim/players/Player[560 \"Von Neumann\"]/dipstats/.[3]",
|
|
"/Sim/players/Player[576 \"Independent Colony\"]/Sav",
|
|
"/Sim/players/Player[576 \"Independent Colony\"]/dipstats/.",
|
|
"/Sim/players/Player[576 \"Independent Colony\"]/dipstats/.[0]",
|
|
"/Sim/players/Player[576 \"Independent Colony\"]/dipstats/.[1]",
|
|
"/Sim/players/Player[576 \"Independent Colony\"]/dipstats/.[2]",
|
|
"/Sim/players/Player[576 \"Independent Colony\"]/dipstats/.[3]",
|
|
"/Sim/systems/Sys[112 \"Gamma Cephei\"]/EPid",
|
|
"/Sim/systems/Sys[112 \"Gamma Cephei\"]/ETS",
|
|
"/Sim/systems/Sys[112 \"Gamma Cephei\"]/Eid",
|
|
"/Sim/systems/Sys[112 \"Gamma Cephei\"]/NVE",
|
|
"/Sim/systems/Sys[112 \"Gamma Cephei\"]/Pop2/PopG/PopC",
|
|
"/Sim/systems/Sys[112 \"Gamma Cephei\"]/ltis",
|
|
"/Sim/systems/Sys[112 \"Gamma Cephei\"]/ntdev",
|
|
"/Sim/systems/Sys[288 \"Ke'Dolarra\"]/EPid",
|
|
"/Sim/systems/Sys[288 \"Ke'Dolarra\"]/ETS",
|
|
"/Sim/systems/Sys[288 \"Ke'Dolarra\"]/Eid",
|
|
"/Sim/systems/Sys[288 \"Ke'Dolarra\"]/NVE",
|
|
"/Sim/systems/Sys[288 \"Ke'Dolarra\"]/Pop2/PopG/PopC",
|
|
"/Sim/systems/Sys[288 \"Ke'Dolarra\"]/ltis",
|
|
"/Sim/systems/Sys[288 \"Ke'Dolarra\"]/ntdev",
|
|
"/Sim/systems/Sys[304 \"Koa\u2019Vo\"]/EFlags",
|
|
"/Sim/systems/Sys[304 \"Koa\u2019Vo\"]/EPid",
|
|
"/Sim/systems/Sys[304 \"Koa\u2019Vo\"]/ETS",
|
|
"/Sim/systems/Sys[304 \"Koa\u2019Vo\"]/Eid",
|
|
"/Sim/systems/Sys[304 \"Koa\u2019Vo\"]/NVE",
|
|
"/Sim/systems/Sys[304 \"Koa\u2019Vo\"]/ltis",
|
|
"/Sim/systems/Sys[304 \"Koa\u2019Vo\"]/ntdev",
|
|
"/Sim/systems/Sys[336 \"Kaa\u2019Vaalu\"]/EFlags",
|
|
"/Sim/systems/Sys[336 \"Kaa\u2019Vaalu\"]/EPid",
|
|
"/Sim/systems/Sys[336 \"Kaa\u2019Vaalu\"]/ETS",
|
|
"/Sim/systems/Sys[336 \"Kaa\u2019Vaalu\"]/Eid",
|
|
"/Sim/systems/Sys[336 \"Kaa\u2019Vaalu\"]/NVE",
|
|
"/Sim/systems/Sys[336 \"Kaa\u2019Vaalu\"]/ltis",
|
|
"/Sim/systems/Sys[400 \"Markab\"]/EFlags",
|
|
"/Sim/systems/Sys[400 \"Markab\"]/EPid",
|
|
"/Sim/systems/Sys[400 \"Markab\"]/ETS",
|
|
"/Sim/systems/Sys[400 \"Markab\"]/Eid",
|
|
"/Sim/systems/Sys[400 \"Markab\"]/NVE",
|
|
"/Sim/systems/Sys[400 \"Markab\"]/ltis",
|
|
"/Sim/systems/Sys[448 \"Kea\u2019Pono\"]/EFlags",
|
|
"/Sim/systems/Sys[448 \"Kea\u2019Pono\"]/EPid",
|
|
"/Sim/systems/Sys[448 \"Kea\u2019Pono\"]/ETS",
|
|
"/Sim/systems/Sys[448 \"Kea\u2019Pono\"]/Eid",
|
|
"/Sim/systems/Sys[448 \"Kea\u2019Pono\"]/NVE",
|
|
"/Sim/systems/Sys[448 \"Kea\u2019Pono\"]/ltis",
|
|
"/Sim/systems/Sys[480 \"Ko'Rorkor\"]/EFlags",
|
|
"/Sim/systems/Sys[480 \"Ko'Rorkor\"]/EPid",
|
|
"/Sim/systems/Sys[480 \"Ko'Rorkor\"]/ETS",
|
|
"/Sim/systems/Sys[480 \"Ko'Rorkor\"]/Eid",
|
|
"/Sim/systems/Sys[480 \"Ko'Rorkor\"]/NVE",
|
|
"/Sim/systems/Sys[480 \"Ko'Rorkor\"]/ltis",
|
|
"/Sim/systems/Sys[64 \"Hyperion\"]/EFlags",
|
|
"/Sim/systems/Sys[64 \"Hyperion\"]/EPid",
|
|
"/Sim/systems/Sys[64 \"Hyperion\"]/ETS",
|
|
"/Sim/systems/Sys[64 \"Hyperion\"]/Eid",
|
|
"/Sim/systems/Sys[64 \"Hyperion\"]/NVE",
|
|
"/Sim/systems/Sys[64 \"Hyperion\"]/ltis",
|
|
"/Summary/Turn"
|
|
],
|
|
"regressedPaths": [],
|
|
"remainingSample": [
|
|
"/Sim/DesignIDs[]: removed [], added [18, 1712] (41 -> 43 entries)",
|
|
"/Sim/FleetIDs[]: removed [], added [1744] (6 -> 7 entries)",
|
|
"/Sim/ModCount: 2 -> 12",
|
|
"/Sim/NMnx: 106 -> 109",
|
|
"/Sim/NumFlts: 6 -> 7",
|
|
"/Sim/RNG/.: '<raw 2503 B 9e6887688129a8f6>' -> '<raw 2503 B ef4d678696ed4c53>'",
|
|
"/Sim/ShipIDs[]: removed [], added [1728] (15 -> 16 entries)",
|
|
"/Sim/SvSctOb/EncObj[5]/Hives/.: only-in-A",
|
|
"/Sim/SvSctOb/EncObj[5]/Hives/.[0]: only-in-B",
|
|
"/Sim/SvSctOb/EncObj[5]/Hives/.[1]: only-in-B",
|
|
"/Sim/SvSctOb/EncObj[5]/Hives/.[2]: only-in-B",
|
|
"/Sim/SvSctOb/EncObj[6]/did: only-in-B",
|
|
"/Sim/SvSctOb/EncObj[6]/didc: 0 -> 1",
|
|
"/Sim/cmbtid: 1 -> 2",
|
|
"/Sim/fleets/Flt[1744 \"Alpha Fleet\"]: only-in-B",
|
|
"/Sim/players/Player[16 \"re\"]/BnkPr: -787353 -> -789323",
|
|
"/Sim/players/Player[16 \"re\"]/Events/EvNxID: 0 -> 2",
|
|
"/Sim/players/Player[16 \"re\"]/Events/Events/.: only-in-A",
|
|
"/Sim/players/Player[16 \"re\"]/Events/Events/.[0]: only-in-B",
|
|
"/Sim/players/Player[16 \"re\"]/Events/Events/.[EvTurn=2]: only-in-B",
|
|
"/Sim/players/Player[16 \"re\"]/Status: 0 -> 4",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/BnkPr: -896580 -> -898837",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/Events/EvNxID: 0 -> 2",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/Events/Events/.: only-in-A",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/Events/Events/.[0]: only-in-B",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/Events/Events/.[EvTurn=2]: only-in-B",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/FNG/FNGNum: 0 -> 1",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/Maint: 0 -> 500",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/NumDes: 5 -> 6",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/PvSav: 50000 -> 38100",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/ResRate: 0.25 -> 0.800000011920929 [1.34218e+07 ulp]",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/ResTNm: '' -> 'IND_Waldo'",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/Sav: 298113 -> 92651",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/ShipRecs/srb[0]: 0 -> 1",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/ShipRecs/srb[3]: only-in-B",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/ShipRecs/srbd: 0 -> 1",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/ShipRecs/src: only-in-B",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/ShipRecs/srd: only-in-B",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/ShipRecs/sri[0]: 0 -> 1",
|
|
"/Sim/players/Player[32 \"Fane Lao\"]/ShipRecs/sri[3]: only-in-B"
|
|
],
|
|
"byteMatch": false,
|
|
"standalone": {
|
|
"schema": "sots-standalone-metric/1",
|
|
"input": "/srv/re-lab/build/sre5/verify/results/saves/turn1-state.sav",
|
|
"output": "/tmp/tmpf0cd3n4p/post-turn1-state.sav",
|
|
"spine": {
|
|
"total": 44,
|
|
"verified": 0,
|
|
"implemented": 4,
|
|
"partial": 8,
|
|
"blocked": 4,
|
|
"stub": 28,
|
|
"modelled": 16,
|
|
"committed": 12
|
|
},
|
|
"tail": {
|
|
"total": 37,
|
|
"verified": 0,
|
|
"implemented": 1,
|
|
"partial": 4,
|
|
"blocked": 1,
|
|
"stub": 31,
|
|
"modelled": 6,
|
|
"committed": 5
|
|
},
|
|
"run": {
|
|
"leafWrites": 93,
|
|
"blockedLeafWrites": 96,
|
|
"rngWords": 16,
|
|
"rngLoaded": true,
|
|
"rngCommitted": false,
|
|
"rngUnaccounted": [
|
|
"encounter detection draws one unit value and one bounded integer per turn on every turn measured (2 words), with no derived rule behind the count -- its bound is the product of the contact and detector counts, so it is left unmodelled",
|
|
"two draws are downstream of the budget's research allocation -- ProcessResearch's completion Chance and the tech-effect callback's own roll (0 or 1 word each). The allocation needs ComputeBudget's per-system money, which is ComputeOutput with the system's OWN rate sliders; the max-income form of that money is now modelled and self-checked (see T31), but it is NOT the one this path takes",
|
|
"a successful raid roll may draw one further word to pick its target; no roll succeeded on any measured turn, so the cost of a success is 0 or 1 and undetermined"
|
|
]
|
|
},
|
|
"phases": [
|
|
{
|
|
"driver": "host turn sequence (outside the two turn drivers)",
|
|
"id": "H00",
|
|
"name": "BeginProcessTurn",
|
|
"status": "implemented",
|
|
"ran": 1,
|
|
"writes": 1,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "host turn sequence (outside the two turn drivers)",
|
|
"id": "H03",
|
|
"name": "ScriptHookTurnBegin",
|
|
"status": "partial",
|
|
"ran": 2,
|
|
"writes": 1,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "host turn sequence (outside the two turn drivers)",
|
|
"id": "H02",
|
|
"name": "StampTreatyTurns",
|
|
"status": "implemented",
|
|
"ran": 14,
|
|
"writes": 28,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S00",
|
|
"name": "SnapshotPreviousTurn",
|
|
"status": "partial",
|
|
"ran": 9,
|
|
"writes": 1,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S01",
|
|
"name": "SystemPrePassMoraleAndAbandon",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S02",
|
|
"name": "TradeManagerTurn",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S03",
|
|
"name": "RegisterTradeSystems",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S04",
|
|
"name": "RebuildAllianceMasks",
|
|
"status": "implemented",
|
|
"ran": 8,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S05",
|
|
"name": "BuildShipActionTypeSets",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S06",
|
|
"name": "ShipActionsExceptType2",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S07",
|
|
"name": "NodeSpaceTravel",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S08",
|
|
"name": "FleetMovement",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S09",
|
|
"name": "ShipActionsType2",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S10",
|
|
"name": "ShipUpkeep",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S11",
|
|
"name": "SystemTurn",
|
|
"status": "partial",
|
|
"ran": 28,
|
|
"writes": 5,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S12",
|
|
"name": "TradeSliderFinalisation",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S13",
|
|
"name": "PlayerTurn",
|
|
"status": "partial",
|
|
"ran": 8,
|
|
"writes": 3,
|
|
"blockedWrites": 19,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "ServerPlayer::ProcessTurn",
|
|
"id": "P01",
|
|
"name": "ComputeBudget",
|
|
"status": "partial",
|
|
"ran": 8,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "ServerPlayer::ProcessTurn",
|
|
"id": "P02",
|
|
"name": "ApplyNetToSavings",
|
|
"status": "partial",
|
|
"ran": 0,
|
|
"writes": 3,
|
|
"blockedWrites": 3,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "ServerPlayer::ProcessTurn",
|
|
"id": "P03",
|
|
"name": "RecordBudgetDerivedFields",
|
|
"status": "blocked",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "ServerPlayer::ProcessTurn",
|
|
"id": "P04",
|
|
"name": "ProcessSpecialProjectsSpend",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "ServerPlayer::ProcessTurn",
|
|
"id": "P05",
|
|
"name": "ProcessResearch",
|
|
"status": "blocked",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "ServerPlayer::ProcessTurn",
|
|
"id": "P06",
|
|
"name": "ResearchRefund",
|
|
"status": "blocked",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "ServerPlayer::ProcessTurn",
|
|
"id": "P07",
|
|
"name": "ClearTimedResearchAccumulators",
|
|
"status": "partial",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "ServerPlayer::ProcessTurn",
|
|
"id": "P08",
|
|
"name": "DecayRebellionOutputModifier",
|
|
"status": "implemented",
|
|
"ran": 2,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "ServerPlayer::ProcessTurn",
|
|
"id": "P09",
|
|
"name": "AccumulateTimedResearchBonuses",
|
|
"status": "implemented",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "ServerPlayer::ProcessTurn",
|
|
"id": "P10",
|
|
"name": "ConsumeResearchRollPending",
|
|
"status": "partial",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "ServerPlayer::ProcessTurn",
|
|
"id": "P11",
|
|
"name": "PostNoResearchEvent",
|
|
"status": "blocked",
|
|
"ran": 4,
|
|
"writes": 0,
|
|
"blockedWrites": 16,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "ServerPlayer::ProcessTurn",
|
|
"id": "P12",
|
|
"name": "PruneRaidTargets",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S14",
|
|
"name": "ProcessMissions",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S15",
|
|
"name": "ProcessStations",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S16",
|
|
"name": "ProcessDefenceSats",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S17",
|
|
"name": "ShipStatCacheRefresh",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S18",
|
|
"name": "ShipActionsForceValidate",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S19",
|
|
"name": "ProcessAid",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S20",
|
|
"name": "ProcessSpecialProjectsServer",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S21",
|
|
"name": "ProcessSurrenders",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S22",
|
|
"name": "AdvanceAIRebellion",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S23",
|
|
"name": "ScriptHookTurnStart",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S24",
|
|
"name": "SensorUpdate",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S25",
|
|
"name": "ScriptHookPostSensor",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S26",
|
|
"name": "RefreshPlayerViews",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S27",
|
|
"name": "RecomputePlayerReports",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S28",
|
|
"name": "GrantMetSpeciesTechs",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S29",
|
|
"name": "SystemObservedStamp",
|
|
"status": "implemented",
|
|
"ran": 28,
|
|
"writes": 8,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S30",
|
|
"name": "BuildTeamPartition",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::ProcessTurn",
|
|
"id": "S31",
|
|
"name": "EncounterDetectionAndStatusRestore",
|
|
"status": "partial",
|
|
"ran": 8,
|
|
"writes": 0,
|
|
"blockedWrites": 2,
|
|
"rng": 16
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T00",
|
|
"name": "IncrementModCount",
|
|
"status": "implemented",
|
|
"ran": 1,
|
|
"writes": 1,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T01",
|
|
"name": "ValidateEncounterResultArity",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T02",
|
|
"name": "ResolveFirstContact",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T03",
|
|
"name": "AnnounceEncounterSightings",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T04",
|
|
"name": "TallyBattlesFought",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T05",
|
|
"name": "UpdateDiplomacyStatsFromCombat",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T06",
|
|
"name": "ApplyEncounterResults",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T07",
|
|
"name": "ClearEncounters",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T08",
|
|
"name": "ScriptHookCombatDone",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T09",
|
|
"name": "AdvanceAIRebellionPostCombat",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T10",
|
|
"name": "NodeSpaceTravelSecondPass",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T11",
|
|
"name": "DecayNodeLines",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T12",
|
|
"name": "DrainColonyLossQueue",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T13",
|
|
"name": "UpdateTreasuryMorale",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T14",
|
|
"name": "UpdateForeignFleetMorale",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T15",
|
|
"name": "ProcessBankruptcy",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T16",
|
|
"name": "ResolveArrivedColonizers",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T17",
|
|
"name": "RebuildPlayerViewTree",
|
|
"status": "partial",
|
|
"ran": 28,
|
|
"writes": 32,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T18",
|
|
"name": "PostFleetWarnings",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T19",
|
|
"name": "DrainInfraTerraformQueue",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T20",
|
|
"name": "ScriptHooksTurnEnd",
|
|
"status": "partial",
|
|
"ran": 1,
|
|
"writes": 1,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T21",
|
|
"name": "UpdateSurveyAndSystemStats",
|
|
"status": "partial",
|
|
"ran": 28,
|
|
"writes": 6,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T22",
|
|
"name": "TradeSliderFinalisationSecondPass",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T23",
|
|
"name": "TradeManagerEndOfTurnHooks",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T24",
|
|
"name": "RecomputeMaintenanceAndResearchBonus",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T25",
|
|
"name": "SensorUpdateSecondPass",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T26",
|
|
"name": "ScriptHookPostSensorTail",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T27",
|
|
"name": "RefreshPlayerViewsSecondPass",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T28",
|
|
"name": "UpdateNodeLineSightingMasks",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T29",
|
|
"name": "AbortInvisibleInterceptOrders",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T30",
|
|
"name": "RebuildCommunicationMasks",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T31",
|
|
"name": "UpdateBankruptcyLimits",
|
|
"status": "partial",
|
|
"ran": 8,
|
|
"writes": 2,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T32",
|
|
"name": "PostIncomingFleetWarnings",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T33",
|
|
"name": "ShipManagerEndOfTurnHooks",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T34",
|
|
"name": "RecordObservedDesigns",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T35",
|
|
"name": "RebuildPlayerReports",
|
|
"status": "stub",
|
|
"ran": 0,
|
|
"writes": 0,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "StrategyServer::OnAllCombatDone_Tail",
|
|
"id": "T36",
|
|
"name": "FinalizeTurnRecords",
|
|
"status": "blocked",
|
|
"ran": 8,
|
|
"writes": 0,
|
|
"blockedWrites": 56,
|
|
"rng": 0
|
|
},
|
|
{
|
|
"driver": "host turn sequence (outside the two turn drivers)",
|
|
"id": "H01",
|
|
"name": "SaveWriterInvariants",
|
|
"status": "implemented",
|
|
"ran": 1,
|
|
"writes": 1,
|
|
"blockedWrites": 0,
|
|
"rng": 0
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|