dashboard refresh after visibility

This commit is contained in:
alex 2026-09-08 13:43:31 -04:00
parent 069d7e649b
commit 6e10def1b5
3 changed files with 113 additions and 237 deletions

View file

@ -1,37 +1,37 @@
# SotS RE campaign — coverage dashboard
Generated 2026-09-08 17:28 UTC · `sots-re` @ f6a914b,2026-09-08 · `sots-engine` @ 54b0353,2026-09-08 (147 commits) · regenerate with `tools/dashboard.py`
Generated 2026-09-08 17:43 UTC · `sots-re` @ 069d7e6,2026-09-08 · `sots-engine` @ 06fe758,2026-09-08 (150 commits) · regenerate with `tools/dashboard.py`
> **North star:** A functional reimplementation of the engine — behavior-equivalent, NOT byte-for-byte
## 1. Map coverage (campaign/board.md)
230 targets · mapped-or-better **209/230** `[█████████░] 91%` · verified **172/230** `[███████░░░] 75%`
240 targets · mapped-or-better **217/240** `[█████████░] 90%` · verified **179/240** `[███████░░░] 75%`
| Status | Count | % |
|---|---:|---:|
| verified | 172 | 75% |
| mapped | 37 | 16% |
| in-progress | 1 | 0% |
| backlog | 18 | 8% |
| verified | 179 | 75% |
| mapped | 38 | 16% |
| in-progress | 2 | 1% |
| backlog | 19 | 8% |
| blocked | 2 | 1% |
| Type | verified | mapped | in-progress | backlog | blocked | total |
|---|---:|---:|---:|---:|---:|---:|
| objects | 29 | 6 | 0 | 2 | 1 | 38 |
| control-flow | 15 | 2 | 0 | 0 | 0 | 17 |
| objects | 30 | 6 | 0 | 2 | 1 | 39 |
| control-flow | 17 | 2 | 0 | 0 | 0 | 19 |
| subsystems | 4 | 8 | 0 | 2 | 1 | 15 |
| engine | 21 | 0 | 0 | 0 | 0 | 21 |
| verify | 45 | 11 | 1 | 13 | 0 | 70 |
| engine | 22 | 0 | 0 | 0 | 0 | 22 |
| verify | 46 | 12 | 2 | 14 | 0 | 74 |
| phase2 | 13 | 3 | 0 | 0 | 0 | 16 |
| meta | 37 | 6 | 0 | 1 | 0 | 44 |
| other | 8 | 1 | 0 | 0 | 0 | 9 |
| meta | 38 | 6 | 0 | 1 | 0 | 45 |
| other | 9 | 1 | 0 | 0 | 0 | 10 |
## 2. Binary understanding
- RTTI type descriptors: **1,924** (`Game::` 1,404, `Mars::` 194; serializable types 179)
- Classes with recovered member layouts: **384** / 1,598 named classes `[██░░░░░░░░] 24%` — `objects/layouts.json` (serializer recovery) plus classes recovered by hand in `struct-recovery.md` + `schema-gaps-resolved.md`. Note 179 types are *serializable*; the recovery also reaches non-serializable ones, so this is not a subset of that
- Functions: **41,411** (parsed from `01-fingerprint.md`); named/annotated in the **address contract** (`ghidra/addresses.json`, not Ghidra's full rename count): **986**, verified **940** `[██████████] 95%`
- Functions: **41,411** (parsed from `01-fingerprint.md`); named/annotated in the **address contract** (`ghidra/addresses.json`, not Ghidra's full rename count): **1019**, verified **957** `[█████████░] 94%`
## 3. Data layer
@ -45,7 +45,7 @@ Generated 2026-09-08 17:28 UTC · `sots-re` @ f6a914b,2026-09-08 · `sots-engine
| Module | LOC | Test files | Checks | Wired | Doc |
|---|---:|---:|---:|---|---|
| `app` | 2,078 | 6 | 82 | yes | N-output-term.md |
| `app` | 2,340 | 6 | 82 | yes | N-output-term.md |
| `game/combat` | 582 | 2 | 34 | yes | mars-parse.md |
| `game/config` | 558 | 4 | 131 | yes | M1.md |
| `game/data` | 2,077 | 12 | 462 | yes | game-data.md |
@ -53,7 +53,7 @@ Generated 2026-09-08 17:28 UTC · `sots-re` @ f6a914b,2026-09-08 · `sots-engine
| `game/effects` | 973 | 3 | 231 | yes | game-effects.md |
| `game/events` | 558 | 3 | 152 | yes | E-events.md |
| `game/nav` | 581 | 2 | 113 | yes | — |
| `game/sim` | 3,382 | 10 | 730 | yes | game-sim.md |
| `game/sim` | 3,606 | 11 | 792 | yes | game-sim.md |
| `mars/parse` | 875 | 12 | 277 | yes | mars-parse.md |
| `mars/rng` | 244 | 0 | 0 | yes | mars-rng.md |
| `mars/stream` | 5,407 | 7 | 310 | yes | mars-stream.md |
@ -62,9 +62,9 @@ Generated 2026-09-08 17:28 UTC · `sots-re` @ f6a914b,2026-09-08 · `sots-engine
| `shim` | 12,102 | 0 | 0 | direct (WIN32) | M0.md |
| `shim/hooks` | 9,075 | 0 | 0 | direct (WIN32) | M0.md |
| `shim/trace` | 2,258 | 9 | 273 | direct (WIN32) | shim-trace.md |
| **total** | **43,637** | **106** | **3483** | | |
| **total** | **44,123** | **107** | **3545** | | |
Board `engine:` rows: verified **21**, mapped 0, in flight 0 (of 21) — verified & merged `[██████████] 100%`
Board `engine:` rows: verified **22**, mapped 0, in flight 0 (of 22) — verified & merged `[██████████] 100%`
## 5. Phase 2 milestones
@ -78,11 +78,11 @@ Board `engine:` rows: verified **21**, mapped 0, in flight 0 (of 21) — verifie
## 6. Standalone (`src/app`) — distance to the byte-match
Turn-driver phases: **15/44** modelled (9 committed) `[███░░░░░░░] 34%`
Turn-driver phases: **14/44** modelled (8 committed) `[███░░░░░░░] 32%`
| | verified | implemented | partial | blocked | stub |
|---|---:|---:|---:|---:|---:|
| turn drivers (44) | 0 | 3 | 6 | 6 | 29 |
| turn drivers (44) | 0 | 2 | 6 | 6 | 30 |
| post-combat tail (37) | 0 | 1 | 0 | 2 | 34 |
Reference pair `turn1-state.sav` → `turn2-state.sav`, leaves localised by `state_checksum.py` (coverage proved by re-serialisation):
@ -131,11 +131,11 @@ Most recent open:
## 9. Delta since previous dashboard
- verified targets: 171 → 172 (+1) · mapped-or-better: 207 → 209 (+2)
- engine LOC: 43,313 → 43,637 (+324) · test files: 106 → 106 (+0) · checks: 3,480 → 3,483 (+3)
- addresses verified: 940 → 940 (+0) · recovered layouts: 384 → 384 (+0) · open questions: 26 → 26 (+0)
- verified targets: 172 → 179 (+7) · mapped-or-better: 209 → 217 (+8)
- engine LOC: 43,637 → 44,123 (+486) · test files: 106 → 107 (+1) · checks: 3,483 → 3,545 (+62)
- addresses verified: 940 → 957 (+17) · recovered layouts: 384 → 384 (+0) · open questions: 26 → 26 (+0)
- standalone leaves closed: 5 → 5 (+0) · leaves still diverging: 204 → 204 (+0)
---
warnings: board.md: unknown types subsystems; mars-rng.md: no oracle total row parsed; mars-stream.md: no oracle total row parsed; mars-vfs.md: no oracle total row parsed
<!-- dashboard-metrics {"verified": 172, "mapped_plus": 209, "targets": 230, "loc": 43637, "tests": 106, "checks": 3483, "addr_verified": 940, "addr_total": 986, "layouts": 384, "open_q": 26, "sa_closed": 5, "sa_left": 204} -->
<!-- dashboard-metrics {"verified": 179, "mapped_plus": 217, "targets": 240, "loc": 44123, "tests": 107, "checks": 3545, "addr_verified": 957, "addr_total": 1019, "layouts": 384, "open_q": 26, "sa_closed": 5, "sa_left": 204} -->

View file

@ -1,99 +1,37 @@
# standalone vs the oracle
generated 2026-09-08T17:37:38Z binary /home/alex/sots-engine-e3/build-host/src/app/sots_turn
generated 2026-09-08T17:43:31Z binary /home/alex/sots-engine/build-host/src/app/sots_turn
phases: 16/44 of the two turn drivers modelled, 10 committed (implemented 4, partial 6, blocked 6, stub 28)
5/37 of the post-combat tail modelled
phases: 14/44 of the two turn drivers modelled, 8 committed (implemented 2, partial 6, blocked 6, stub 30)
3/37 of the post-combat tail modelled
## turn1-state.sav -> turn2-state.sav (real End Turn)
baseline (do nothing) 209 leaves diverge
after one standalone turn 158 leaves diverge
closed 51, regressed 0, byte match: no
after one standalone turn 204 leaves diverge
closed 5, regressed 0, byte match: no
coverage proved on all three saves: {'input': True, 'oracle': True, 'ours': True}
closed:
+ /Sim/Frame
+ /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"]/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"]/ltis
+ /Sim/systems/Sys[288 "Ke'Dolarra"]/ntdev
+ /Sim/systems/Sys[304 "Koa’Vo"]/EFlags
+ /Sim/systems/Sys[304 "Koa’Vo"]/EPid
+ /Sim/systems/Sys[304 "Koa’Vo"]/ETS
+ /Sim/systems/Sys[304 "Koa’Vo"]/Eid
+ /Sim/systems/Sys[304 "Koa’Vo"]/NVE
+ /Sim/systems/Sys[304 "Koa’Vo"]/ltis
+ /Sim/systems/Sys[304 "Koa’Vo"]/ntdev
+ /Sim/systems/Sys[336 "Kaa’Vaalu"]/EFlags
+ /Sim/systems/Sys[336 "Kaa’Vaalu"]/EPid
+ /Sim/systems/Sys[336 "Kaa’Vaalu"]/ETS
+ /Sim/systems/Sys[336 "Kaa’Vaalu"]/Eid
+ /Sim/systems/Sys[336 "Kaa’Vaalu"]/NVE
+ /Sim/systems/Sys[336 "Kaa’Vaalu"]/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’Pono"]/EFlags
+ /Sim/systems/Sys[448 "Kea’Pono"]/EPid
+ /Sim/systems/Sys[448 "Kea’Pono"]/ETS
+ /Sim/systems/Sys[448 "Kea’Pono"]/Eid
+ /Sim/systems/Sys[448 "Kea’Pono"]/NVE
+ /Sim/systems/Sys[448 "Kea’Pono"]/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
## turn2-state.sav -> turn3-state.sav (real End Turn)
baseline (do nothing) 108 leaves diverge
after one standalone turn 87 leaves diverge
closed 21, regressed 0, byte match: no
after one standalone turn 103 leaves diverge
closed 5, regressed 0, byte match: no
coverage proved on all three saves: {'input': True, 'oracle': True, 'ours': True}
closed:
+ /Sim/Frame
+ /Sim/systems/Sys[112 "Gamma Cephei"]/ETS
+ /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"]/ltis
+ /Sim/systems/Sys[288 "Ke'Dolarra"]/ntdev
+ /Sim/systems/Sys[304 "Koa’Vo"]/ETS
+ /Sim/systems/Sys[304 "Koa’Vo"]/ltis
+ /Sim/systems/Sys[304 "Koa’Vo"]/ntdev
+ /Sim/systems/Sys[336 "Kaa’Vaalu"]/ETS
+ /Sim/systems/Sys[336 "Kaa’Vaalu"]/ltis
+ /Sim/systems/Sys[400 "Markab"]/ETS
+ /Sim/systems/Sys[400 "Markab"]/ltis
+ /Sim/systems/Sys[448 "Kea’Pono"]/ETS
+ /Sim/systems/Sys[448 "Kea’Pono"]/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
## what still differs on the reference pair, by subsystem
82 /Sim/players
34 /Sim/systems
80 /Sim/systems
24 /Sim/turnstats
8 /Sim/SvSctOb
1 /Sim/DesignIDs[]

View file

@ -1,18 +1,18 @@
{
"schema": "sots-standalone-status/1",
"generated": "2026-09-08T17:37:38Z",
"binary": "/home/alex/sots-engine-e3/build-host/src/app/sots_turn",
"generated": "2026-09-08T17:43:31Z",
"binary": "/home/alex/sots-engine/build-host/src/app/sots_turn",
"reference": {
"input": "turn1-state.sav",
"oracle": "turn2-state.sav",
"baselineDiverging": 209,
"divergingAfterTurn": 158,
"closed": 51,
"divergingAfterTurn": 204,
"closed": 5,
"regressed": 0,
"byteMatch": false,
"subsystems": {
"/Sim/players": 82,
"/Sim/systems": 34,
"/Sim/systems": 80,
"/Sim/turnstats": 24,
"/Sim/SvSctOb": 8,
"/Sim/DesignIDs[]": 1,
@ -30,22 +30,22 @@
"phases": {
"total": 44,
"verified": 0,
"implemented": 4,
"implemented": 2,
"partial": 6,
"blocked": 6,
"stub": 28,
"modelled": 16,
"committed": 10
"stub": 30,
"modelled": 14,
"committed": 8
},
"tailPhases": {
"total": 37,
"verified": 0,
"implemented": 1,
"partial": 2,
"partial": 0,
"blocked": 2,
"stub": 32,
"modelled": 5,
"committed": 3
"stub": 34,
"modelled": 3,
"committed": 1
},
"rng": {
"wordsModelled": 16,
@ -64,14 +64,14 @@
"roundtrip (untouched): byte-identical (591376 bytes)",
"",
"phases",
" turn drivers (the milestone's denominator): 16 of 44 modelled, 10 committed",
" verified 0 implemented 4 partial 6 blocked 6 stub 28",
" post-combat tail (written to the autosave, tracked separately): 5 of 37 modelled",
" verified 0 implemented 1 partial 2 blocked 2 stub 32",
" turn drivers (the milestone's denominator): 14 of 44 modelled, 8 committed",
" verified 0 implemented 2 partial 6 blocked 6 stub 30",
" post-combat tail (written to the autosave, tracked separately): 3 of 37 modelled",
" verified 0 implemented 1 partial 0 blocked 2 stub 34",
"",
"this run",
" leaves written 53",
" leaves NOT written by a blocked phase 72",
" leaves written 7",
" leaves NOT written by a blocked phase 64",
" 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",
@ -80,8 +80,8 @@
" ! 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/tmpex18kut6/post-turn1-state.sav (65208 bytes gzipped, 591664 inflated)",
"metric -> /tmp/tmpex18kut6/metric-turn1-state.sav.json"
"wrote /tmp/tmpvupbr_eq/post-turn1-state.sav (65145 bytes gzipped, 591376 inflated)",
"metric -> /tmp/tmpvupbr_eq/metric-turn1-state.sav.json"
],
"coverage": {
"input": true,
@ -91,63 +91,17 @@
"roots": {
"input": "64b836b966299d9b72fc02244ed31e31",
"oracle": "4bed514f853332b9fa35b388c3aa5558",
"ours": "d77168aa0a5bd1b8890d8c0f994aed3f"
"ours": "1acc372b1d410b966ab544dffbe43cb5"
},
"baselineDiverging": 209,
"divergingAfterTurn": 158,
"closed": 51,
"divergingAfterTurn": 204,
"closed": 5,
"regressed": 0,
"closedPaths": [
"/Sim/Frame",
"/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\"]/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\"]/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": [],
@ -197,30 +151,30 @@
"standalone": {
"schema": "sots-standalone-metric/1",
"input": "/home/alex/sots-re/verify/results/saves/turn1-state.sav",
"output": "/tmp/tmpex18kut6/post-turn1-state.sav",
"output": "/tmp/tmpvupbr_eq/post-turn1-state.sav",
"spine": {
"total": 44,
"verified": 0,
"implemented": 4,
"implemented": 2,
"partial": 6,
"blocked": 6,
"stub": 28,
"modelled": 16,
"committed": 10
"stub": 30,
"modelled": 14,
"committed": 8
},
"tail": {
"total": 37,
"verified": 0,
"implemented": 1,
"partial": 2,
"partial": 0,
"blocked": 2,
"stub": 32,
"modelled": 5,
"committed": 3
"stub": 34,
"modelled": 3,
"committed": 1
},
"run": {
"leafWrites": 53,
"blockedLeafWrites": 72,
"leafWrites": 7,
"blockedLeafWrites": 64,
"rngWords": 16,
"rngLoaded": true,
"rngCommitted": false,
@ -285,8 +239,8 @@
"driver": "StrategyServer::ProcessTurn",
"id": "S04",
"name": "RebuildAllianceMasks",
"status": "implemented",
"ran": 8,
"status": "stub",
"ran": 0,
"writes": 0,
"blockedWrites": 0,
"rng": 0
@ -654,10 +608,10 @@
{
"driver": "StrategyServer::ProcessTurn",
"id": "S29",
"name": "SystemObservedStamp",
"status": "implemented",
"ran": 28,
"writes": 8,
"name": "SystemTailFixup",
"status": "stub",
"ran": 0,
"writes": 0,
"blockedWrites": 0,
"rng": 0
},
@ -855,9 +809,9 @@
"driver": "StrategyServer::OnAllCombatDone_Tail",
"id": "T17",
"name": "RebuildPlayerViewTree",
"status": "partial",
"ran": 28,
"writes": 32,
"status": "stub",
"ran": 0,
"writes": 0,
"blockedWrites": 0,
"rng": 0
},
@ -895,9 +849,9 @@
"driver": "StrategyServer::OnAllCombatDone_Tail",
"id": "T21",
"name": "UpdateSurveyAndSystemStats",
"status": "partial",
"ran": 28,
"writes": 6,
"status": "stub",
"ran": 0,
"writes": 0,
"blockedWrites": 0,
"rng": 0
},
@ -1048,7 +1002,7 @@
"status": "blocked",
"ran": 8,
"writes": 0,
"blockedWrites": 56,
"blockedWrites": 48,
"rng": 0
},
{
@ -1076,14 +1030,14 @@
"roundtrip (untouched): byte-identical (603360 bytes)",
"",
"phases",
" turn drivers (the milestone's denominator): 16 of 44 modelled, 10 committed",
" verified 0 implemented 4 partial 6 blocked 6 stub 28",
" post-combat tail (written to the autosave, tracked separately): 5 of 37 modelled",
" verified 0 implemented 1 partial 2 blocked 2 stub 32",
" turn drivers (the milestone's denominator): 14 of 44 modelled, 8 committed",
" verified 0 implemented 2 partial 6 blocked 6 stub 30",
" post-combat tail (written to the autosave, tracked separately): 3 of 37 modelled",
" verified 0 implemented 1 partial 0 blocked 2 stub 34",
"",
"this run",
" leaves written 23",
" leaves NOT written by a blocked phase 66",
" leaves written 7",
" leaves NOT written by a blocked phase 58",
" 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",
@ -1092,8 +1046,8 @@
" ! 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/tmpex18kut6/post-turn2-state.sav (66882 bytes gzipped, 603360 inflated)",
"metric -> /tmp/tmpex18kut6/metric-turn2-state.sav.json"
"wrote /tmp/tmpvupbr_eq/post-turn2-state.sav (66883 bytes gzipped, 603360 inflated)",
"metric -> /tmp/tmpvupbr_eq/metric-turn2-state.sav.json"
],
"coverage": {
"input": true,
@ -1103,33 +1057,17 @@
"roots": {
"input": "4bed514f853332b9fa35b388c3aa5558",
"oracle": "e9c161e311f8ef8fad6f1aa1903dcf3f",
"ours": "987447a85f9fcded1afd868fca112ef6"
"ours": "22071ae1303f308a93b805e940b626b5"
},
"baselineDiverging": 108,
"divergingAfterTurn": 87,
"closed": 21,
"divergingAfterTurn": 103,
"closed": 5,
"regressed": 0,
"closedPaths": [
"/Sim/Frame",
"/Sim/systems/Sys[112 \"Gamma Cephei\"]/ETS",
"/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\"]/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": [],
@ -1179,30 +1117,30 @@
"standalone": {
"schema": "sots-standalone-metric/1",
"input": "/home/alex/sots-re/verify/results/saves/turn2-state.sav",
"output": "/tmp/tmpex18kut6/post-turn2-state.sav",
"output": "/tmp/tmpvupbr_eq/post-turn2-state.sav",
"spine": {
"total": 44,
"verified": 0,
"implemented": 4,
"implemented": 2,
"partial": 6,
"blocked": 6,
"stub": 28,
"modelled": 16,
"committed": 10
"stub": 30,
"modelled": 14,
"committed": 8
},
"tail": {
"total": 37,
"verified": 0,
"implemented": 1,
"partial": 2,
"partial": 0,
"blocked": 2,
"stub": 32,
"modelled": 5,
"committed": 3
"stub": 34,
"modelled": 3,
"committed": 1
},
"run": {
"leafWrites": 23,
"blockedLeafWrites": 66,
"leafWrites": 7,
"blockedLeafWrites": 58,
"rngWords": 16,
"rngLoaded": true,
"rngCommitted": false,
@ -1267,8 +1205,8 @@
"driver": "StrategyServer::ProcessTurn",
"id": "S04",
"name": "RebuildAllianceMasks",
"status": "implemented",
"ran": 8,
"status": "stub",
"ran": 0,
"writes": 0,
"blockedWrites": 0,
"rng": 0
@ -1636,10 +1574,10 @@
{
"driver": "StrategyServer::ProcessTurn",
"id": "S29",
"name": "SystemObservedStamp",
"status": "implemented",
"ran": 28,
"writes": 8,
"name": "SystemTailFixup",
"status": "stub",
"ran": 0,
"writes": 0,
"blockedWrites": 0,
"rng": 0
},
@ -1837,9 +1775,9 @@
"driver": "StrategyServer::OnAllCombatDone_Tail",
"id": "T17",
"name": "RebuildPlayerViewTree",
"status": "partial",
"ran": 28,
"writes": 8,
"status": "stub",
"ran": 0,
"writes": 0,
"blockedWrites": 0,
"rng": 0
},
@ -1877,8 +1815,8 @@
"driver": "StrategyServer::OnAllCombatDone_Tail",
"id": "T21",
"name": "UpdateSurveyAndSystemStats",
"status": "partial",
"ran": 28,
"status": "stub",
"ran": 0,
"writes": 0,
"blockedWrites": 0,
"rng": 0
@ -2030,7 +1968,7 @@
"status": "blocked",
"ran": 8,
"writes": 0,
"blockedWrites": 56,
"blockedWrites": 48,
"rng": 0
},
{