dashboard refresh
This commit is contained in:
parent
ef458bb3c8
commit
7645399f97
1 changed files with 21 additions and 20 deletions
|
|
@ -1,37 +1,37 @@
|
|||
# SotS RE campaign — coverage dashboard
|
||||
|
||||
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`
|
||||
Generated 2026-09-08 16:04 UTC · `sots-re` @ ef458bb,2026-09-08 · `sots-engine` @ 6f777c2,2026-09-08 (134 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)
|
||||
|
||||
183 targets · mapped-or-better **155/183** `[████████░░] 85%` · verified **127/183** `[███████░░░] 69%`
|
||||
195 targets · mapped-or-better **166/195** `[█████████░] 85%` · verified **136/195** `[███████░░░] 70%`
|
||||
|
||||
| Status | Count | % |
|
||||
|---|---:|---:|
|
||||
| verified | 127 | 69% |
|
||||
| mapped | 28 | 15% |
|
||||
| verified | 136 | 70% |
|
||||
| mapped | 30 | 15% |
|
||||
| in-progress | 2 | 1% |
|
||||
| backlog | 24 | 13% |
|
||||
| backlog | 25 | 13% |
|
||||
| blocked | 2 | 1% |
|
||||
|
||||
| Type | verified | mapped | in-progress | backlog | blocked | total |
|
||||
|---|---:|---:|---:|---:|---:|---:|
|
||||
| objects | 25 | 6 | 0 | 2 | 1 | 34 |
|
||||
| control-flow | 7 | 2 | 0 | 1 | 0 | 10 |
|
||||
| objects | 26 | 6 | 0 | 2 | 1 | 35 |
|
||||
| control-flow | 10 | 2 | 0 | 1 | 0 | 13 |
|
||||
| subsystems | 3 | 7 | 1 | 3 | 1 | 15 |
|
||||
| engine | 19 | 0 | 0 | 0 | 0 | 19 |
|
||||
| verify | 32 | 5 | 0 | 14 | 0 | 51 |
|
||||
| verify | 35 | 6 | 0 | 15 | 0 | 56 |
|
||||
| phase2 | 10 | 3 | 1 | 2 | 0 | 16 |
|
||||
| meta | 28 | 5 | 0 | 1 | 0 | 34 |
|
||||
| meta | 30 | 6 | 0 | 1 | 0 | 37 |
|
||||
| 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): **805**, verified **781** `[██████████] 97%`
|
||||
- Functions: **41,411** (parsed from `01-fingerprint.md`); named/annotated in the **address contract** (`ghidra/addresses.json`, not Ghidra's full rename count): **875**, verified **838** `[██████████] 96%`
|
||||
|
||||
## 3. Data layer
|
||||
|
||||
|
|
@ -45,7 +45,8 @@ Generated 2026-09-08 15:00 UTC · `sots-re` @ a77b1c3,2026-09-08 · `sots-engine
|
|||
|
||||
| Module | LOC | Test files | Checks | Wired | Doc |
|
||||
|---|---:|---:|---:|---|---|
|
||||
| `app` | 1,192 | 3 | 34 | yes | S-standalone.md |
|
||||
| `app` | 1,614 | 5 | 69 | yes | S-standalone.md |
|
||||
| `game/combat` | 582 | 2 | 34 | yes | mars-parse.md |
|
||||
| `game/config` | 558 | 4 | 131 | yes | M1.md |
|
||||
| `game/data` | 2,053 | 12 | 462 | yes | game-data.md |
|
||||
| `game/design` | 1,024 | 17 | 250 | yes | game-design.md |
|
||||
|
|
@ -60,7 +61,7 @@ Generated 2026-09-08 15:00 UTC · `sots-re` @ a77b1c3,2026-09-08 · `sots-engine
|
|||
| `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** | **40,026** | **97** | **3204** | | |
|
||||
| **total** | **41,030** | **101** | **3273** | | |
|
||||
|
||||
Board `engine:` rows: verified **19**, mapped 0, in flight 0 (of 19) — verified & merged `[██████████] 100%`
|
||||
|
||||
|
|
@ -76,12 +77,12 @@ Board `engine:` rows: verified **19**, mapped 0, in flight 0 (of 19) — verifie
|
|||
|
||||
## 6. Standalone (`src/app`) — distance to the byte-match
|
||||
|
||||
Turn-driver phases: **14/44** modelled (7 committed) `[███░░░░░░░] 32%`
|
||||
Turn-driver phases: **14/44** modelled (8 committed) `[███░░░░░░░] 32%`
|
||||
|
||||
| | verified | implemented | partial | blocked | stub |
|
||||
|---|---:|---:|---:|---:|---:|
|
||||
| turn drivers (44) | 0 | 2 | 5 | 7 | 30 |
|
||||
| post-combat tail (37) | 0 | 1 | 0 | 1 | 35 |
|
||||
| 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):
|
||||
|
||||
|
|
@ -102,7 +103,7 @@ Where the remaining divergence lives:
|
|||
| `/Sim/ModCount` | 1 |
|
||||
| `/Sim/NMnx` | 1 |
|
||||
|
||||
Generator: 0 word(s) modelled per turn; unattributed per turn: 18-20 (lane Z, in flight). A byte-match is impossible until that closes — the generator state is saved state.
|
||||
Generator: 16 word(s) modelled per turn; unattributed per turn: 18-20 (lane Z, in flight). A byte-match is impossible until that closes — the generator state is saved state.
|
||||
|
||||
Detail: `verify/results/standalone/report.txt`.
|
||||
|
||||
|
|
@ -129,11 +130,11 @@ Most recent open:
|
|||
|
||||
## 9. Delta since previous dashboard
|
||||
|
||||
- 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)
|
||||
- verified targets: 127 → 136 (+9) · mapped-or-better: 155 → 166 (+11)
|
||||
- engine LOC: 40,026 → 41,030 (+1,004) · test files: 97 → 101 (+4) · checks: 3,204 → 3,273 (+69)
|
||||
- addresses verified: 781 → 838 (+57) · 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": 127, "mapped_plus": 155, "targets": 183, "loc": 40026, "tests": 97, "checks": 3204, "addr_verified": 781, "addr_total": 805, "layouts": 384, "open_q": 26, "sa_closed": 5, "sa_left": 204} -->
|
||||
<!-- dashboard-metrics {"verified": 136, "mapped_plus": 166, "targets": 195, "loc": 41030, "tests": 101, "checks": 3273, "addr_verified": 838, "addr_total": 875, "layouts": 384, "open_q": 26, "sa_closed": 5, "sa_left": 204} -->
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue