sots-re/campaign/DASHBOARD.md
2026-09-07 17:37:37 -04:00

94 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SotS RE campaign — coverage dashboard
Generated 2026-09-07 21:37 UTC · `sots-re` @ 6095c03,2026-09-07 · `sots-engine` @ 43fc883,2026-09-07 (13 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)
43 targets · mapped-or-better **28/43** `[███████░░░] 65%` · verified **12/43** `[███░░░░░░░] 28%`
| Status | Count | % |
|---|---:|---:|
| verified | 12 | 28% |
| mapped | 16 | 37% |
| in-progress | 7 | 16% |
| backlog | 7 | 16% |
| blocked | 1 | 2% |
| Type | verified | mapped | in-progress | backlog | blocked | total |
|---|---:|---:|---:|---:|---:|---:|
| objects | 5 | 2 | 0 | 0 | 0 | 7 |
| control-flow | 0 | 2 | 0 | 0 | 0 | 2 |
| subsystems | 1 | 5 | 1 | 3 | 1 | 11 |
| engine | 2 | 1 | 4 | 0 | 0 | 7 |
| verify | 2 | 2 | 1 | 0 | 0 | 5 |
| phase2 | 1 | 0 | 0 | 4 | 0 | 5 |
| meta | 1 | 4 | 1 | 0 | 0 | 6 |
## 2. Binary understanding
- 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): **25**, verified **10** `[████░░░░░░] 40%`
## 3. Data layer
- Catalogs: **1,595/1,595** files parsed (91 block kinds in `schema_stats.json`), dangling cross-refs **0** (`crosslink.json`)
- Oracle `mars-parse`: **1,531/1,531** files agree `[██████████] 100%`
- Oracle `mars-text`: **64/64** files agree `[██████████] 100%`
- Saves: **3/3** real saves strict-clean — strict exit 0, 0 errors, 0 warnings
- Design rules: **127/127** stock designs pass `[██████████] 100%`
## 4. Engine accrual (sots-engine)
| Module | LOC | Test files | Checks | Wired | Doc |
|---|---:|---:|---:|---|---|
| `game/sim` | 1,342 | 9 | 356 | yes | game-sim.md |
| `mars/parse` | 750 | 12 | 188 | yes | mars-parse.md |
| `mars/text` | 855 | 8 | 205 | yes | mars-text.md |
| `shim` | 184 | 0 | 0 | direct (WIN32) | M0.md |
| **total** | **3,131** | **29** | **749** | | |
Board `engine:` rows: verified **2**, mapped 1, in flight 4 (of 7) — verified & merged `[███░░░░░░░] 29%`
## 5. Phase 2 milestones
| Milestone | Status | Coverage | Notes |
|---|---|---:|---|
| P2-M0 shim bootstrap | ✅ verified | 100% | sots-engine 5f5bc41: proxy binkw32.dll (66 exports identical), MinHook, asm-stub trace hoo |
| P2-M1 flat-KV config loader | ⬜ backlog | 0% | CfgVar_RegisterKey 0x008b76a0; trace->compare->replace; save byte-identical oracle |
| P2-M2 manifest/id registry | ⬜ backlog | 0% | _weapons.txt/_shipsections.txt stable ids |
| P2-M3 Mars brace-block parser | ⬜ backlog | 0% | + .effect TXT reader; compare over full catalog load |
| P2-M4 gobio VFS read | ⬜ backlog | 0% | ZIP entries + NativeFileSystem override order |
## 6. Verification ledger
- ✅ Saves strict: 3/3 (strict exit 0, 0 errors, 0 warnings)
- ✅ Design rules: 127/127
- ✅ oracle mars-parse 1531/1531 · ✅ oracle mars-text 64/64
- ✅ Compare harness present (`verify/harness/compare/`)
- ✅ M0 evidence present (`verify/results/shim/m0.log`)
- 🔄 Determinism oracle: in-progress
## 7. Open questions
Open **20** · resolved/parked 4 · backlog items: Now 4, Next 3, Later 2, Breadth queue 7, Parked 1
Most recent open:
- 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 …
- Corrections from turn internals — `ServerPlayer+0xf9` is the AI flag (not bTurnDone); `FUN_007d7f7…
- Ship-design code rules (Ghidra, from SHIP_DESIGN_RULES.md §8) — hidden default rider designs are b…
- Strict-parse gaps vs real save (verifier output, round 3) — (1) `ServerSystem`: 7/28 systems carry…
## 8. Delta since previous dashboard
- verified targets: 12 → 12 (+0) · mapped-or-better: 28 → 28 (+0)
- engine LOC: 3,131 → 3,131 (+0) · test files: 27 → 29 (+2) · checks: 749 → 749 (+0)
- addresses verified: 10 → 10 (+0) · recovered layouts: 21 → 21 (+0) · open questions: 20 → 20 (+0)
---
warnings: none
<!-- dashboard-metrics {"verified": 12, "mapped_plus": 28, "targets": 43, "loc": 3131, "tests": 29, "checks": 749, "addr_verified": 10, "addr_total": 25, "layouts": 21, "open_q": 20} -->