diff --git a/campaign/DASHBOARD.md b/campaign/DASHBOARD.md index e8b2c60..9ba7a1e 100644 --- a/campaign/DASHBOARD.md +++ b/campaign/DASHBOARD.md @@ -1,6 +1,6 @@ # SotS RE campaign — coverage dashboard -Generated 2026-09-07 21:57 UTC · `sots-re` @ 436a51f,2026-09-07 · `sots-engine` @ 750ad59,2026-09-07 (26 commits) · regenerate with `tools/dashboard.py` +Generated 2026-09-07 22:06 UTC · `sots-re` @ 5d877d3,2026-09-07 · `sots-engine` @ 750ad59,2026-09-07 (26 commits) · regenerate with `tools/dashboard.py` > **North star:** A functional reimplementation of the engine — behavior-equivalent, NOT byte-for-byte @@ -30,7 +30,7 @@ Generated 2026-09-07 21:57 UTC · `sots-re` @ 436a51f,2026-09-07 · `sots-engine - RTTI type descriptors: **1,924** (`Game::` 1,404, `Mars::` 194; serializable types 179) - Classes with recovered member layouts: **21** / 179 serializable types `[█░░░░░░░░░] 12%` — heuristic: distinct `Game::X`/`Mars::X` in `##`–`####` headings of `struct-recovery.md` + `schema-gaps-resolved.md` -- Functions: **41,411** (parsed from `01-fingerprint.md`); named/annotated in the **address contract** (`ghidra/addresses.json`, not Ghidra's full rename count): **102**, verified **90** `[█████████░] 88%` +- Functions: **41,411** (parsed from `01-fingerprint.md`); named/annotated in the **address contract** (`ghidra/addresses.json`, not Ghidra's full rename count): **103**, verified **91** `[█████████░] 88%` ## 3. Data layer @@ -78,22 +78,22 @@ Board `engine:` rows: verified **6**, mapped 1, in flight 1 (of 8) — verified ## 7. Open questions -Open **23** · resolved/parked 8 · backlog items: Now 4, Next 3, Later 2, Breadth queue 7, Parked 1 +Open **24** · resolved/parked 8 · backlog items: Now 4, Next 3, Later 2, Breadth queue 7, Parked 1, From the RE how-to 3 Most recent open: +- Notes disagree on MSVC-2010 `std::string` layout — `struct-recovery.md` §0 vs `turn-spine.md` §1.1… - SAVE_FORMAT tag corrections (fix Python reader + spec) — real on-disk tags: `otnF` (not `ontF`) in… - Not traced end-to-end — `Species/_NPC/weapons/*.weapon` loading and the `.effect` dictionary entry… - PARITY BUG (fix in mars/text + Python flat_kv): duplicate config keys are FIRST-occurrence-wins in t… - Formula gaps surfaced by the game/sim port (feed back to Ghidra) — which bankruptcy limit carries … -- `Mars::Application::Initialize` signature (P2-M0 finding) — a C++ `__thiscall` detour that called … ## 8. Delta since previous dashboard -- verified targets: 18 → 19 (+1) · mapped-or-better: 34 → 35 (+1) +- verified targets: 19 → 19 (+0) · mapped-or-better: 35 → 35 (+0) - engine LOC: 13,535 → 13,535 (+0) · test files: 64 → 64 (+0) · checks: 1,794 → 1,794 (+0) -- addresses verified: 90 → 90 (+0) · recovered layouts: 21 → 21 (+0) · open questions: 23 → 23 (+0) +- addresses verified: 90 → 91 (+1) · recovered layouts: 21 → 21 (+0) · open questions: 23 → 24 (+1) --- warnings: mars-rng.md: no oracle total row parsed; mars-stream.md: no oracle total row parsed; mars-vfs.md: no oracle total row parsed - +