diff --git a/campaign/DASHBOARD.md b/campaign/DASHBOARD.md index 8c5b879..dfc4cb6 100644 --- a/campaign/DASHBOARD.md +++ b/campaign/DASHBOARD.md @@ -1,17 +1,17 @@ # SotS RE campaign — coverage dashboard -Generated 2026-09-08 14:39 UTC · `sots-re` @ f8f5581,2026-09-08 · `sots-engine` @ ce12a5a,2026-09-08 (117 commits) · regenerate with `tools/dashboard.py` +Generated 2026-09-08 15:00 UTC · `sots-re` @ a77b1c3,2026-09-08 · `sots-engine` @ b48d860,2026-09-08 (126 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) -178 targets · mapped-or-better **150/178** `[████████░░] 84%` · verified **122/178** `[███████░░░] 69%` +183 targets · mapped-or-better **155/183** `[████████░░] 85%` · verified **127/183** `[███████░░░] 69%` | Status | Count | % | |---|---:|---:| -| verified | 122 | 69% | -| mapped | 28 | 16% | +| verified | 127 | 69% | +| mapped | 28 | 15% | | in-progress | 2 | 1% | | backlog | 24 | 13% | | blocked | 2 | 1% | @@ -22,16 +22,16 @@ Generated 2026-09-08 14:39 UTC · `sots-re` @ f8f5581,2026-09-08 · `sots-engine | control-flow | 7 | 2 | 0 | 1 | 0 | 10 | | subsystems | 3 | 7 | 1 | 3 | 1 | 15 | | engine | 19 | 0 | 0 | 0 | 0 | 19 | -| verify | 31 | 5 | 0 | 14 | 0 | 50 | +| verify | 32 | 5 | 0 | 14 | 0 | 51 | | phase2 | 10 | 3 | 1 | 2 | 0 | 16 | -| meta | 25 | 5 | 0 | 1 | 0 | 31 | -| other | 2 | 0 | 0 | 1 | 0 | 3 | +| meta | 28 | 5 | 0 | 1 | 0 | 34 | +| other | 3 | 0 | 0 | 1 | 0 | 4 | ## 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): **801**, verified **777** `[██████████] 97%` +- Functions: **41,411** (parsed from `01-fingerprint.md`); named/annotated in the **address contract** (`ghidra/addresses.json`, not Ghidra's full rename count): **805**, verified **781** `[██████████] 97%` ## 3. Data layer @@ -57,10 +57,10 @@ Generated 2026-09-08 14:39 UTC · `sots-re` @ f8f5581,2026-09-08 · `sots-engine | `mars/stream` | 5,392 | 7 | 310 | yes | mars-stream.md | | `mars/text` | 899 | 8 | 245 | yes | mars-text.md | | `mars/vfs` | 788 | 9 | 140 | yes | mars-vfs.md | -| `shim` | 9,903 | 0 | 0 | direct (WIN32) | M0.md | -| `shim/hooks` | 6,957 | 0 | 0 | direct (WIN32) | M0.md | +| `shim` | 11,564 | 0 | 0 | direct (WIN32) | M0.md | +| `shim/hooks` | 8,548 | 0 | 0 | direct (WIN32) | M0.md | | `shim/trace` | 2,258 | 9 | 273 | direct (WIN32) | shim-trace.md | -| **total** | **36,774** | **97** | **3204** | | | +| **total** | **40,026** | **97** | **3204** | | | Board `engine:` rows: verified **19**, mapped 0, in flight 0 (of 19) — verified & merged `[██████████] 100%` @@ -129,11 +129,11 @@ Most recent open: ## 9. Delta since previous dashboard -- verified targets: 119 → 122 (+3) · mapped-or-better: 145 → 150 (+5) -- engine LOC: 35,582 → 36,774 (+1,192) · test files: 94 → 97 (+3) · checks: 3,170 → 3,204 (+34) -- addresses verified: 777 → 777 (+0) · recovered layouts: 384 → 384 (+0) · open questions: 26 → 26 (+0) +- verified targets: 122 → 127 (+5) · mapped-or-better: 150 → 155 (+5) +- engine LOC: 36,774 → 40,026 (+3,252) · test files: 97 → 97 (+0) · checks: 3,204 → 3,204 (+0) +- addresses verified: 777 → 781 (+4) · 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 - +