board: B2 offline lane; VM queue M2/B3/B2

This commit is contained in:
alex 2026-09-07 23:15:46 -04:00
parent 6600382e12
commit 1e7428d5aa
2 changed files with 9 additions and 9 deletions

View file

@ -1,6 +1,6 @@
# SotS RE campaign — coverage dashboard
Generated 2026-09-08 03:14 UTC · `sots-re` @ 73f5f1e,2026-09-07 · `sots-engine` @ 3ebc8bf,2026-09-07 (47 commits) · regenerate with `tools/dashboard.py`
Generated 2026-09-08 03:15 UTC · `sots-re` @ 6600382,2026-09-07 · `sots-engine` @ 3ebc8bf,2026-09-07 (47 commits) · regenerate with `tools/dashboard.py`
> **North star:** A functional reimplementation of the engine — behavior-equivalent, NOT byte-for-byte
@ -12,8 +12,8 @@ Generated 2026-09-08 03:14 UTC · `sots-re` @ 73f5f1e,2026-09-07 · `sots-engine
|---|---:|---:|
| verified | 27 | 49% |
| mapped | 16 | 29% |
| in-progress | 4 | 7% |
| backlog | 7 | 13% |
| in-progress | 5 | 9% |
| backlog | 6 | 11% |
| blocked | 1 | 2% |
| Type | verified | mapped | in-progress | backlog | blocked | total |
@ -23,7 +23,7 @@ Generated 2026-09-08 03:14 UTC · `sots-re` @ 73f5f1e,2026-09-07 · `sots-engine
| subsystems | 2 | 6 | 1 | 3 | 1 | 13 |
| engine | 10 | 0 | 0 | 0 | 0 | 10 |
| verify | 4 | 2 | 0 | 1 | 0 | 7 |
| phase2 | 2 | 0 | 3 | 3 | 0 | 8 |
| phase2 | 2 | 0 | 4 | 2 | 0 | 8 |
| meta | 4 | 4 | 0 | 0 | 0 | 8 |
## 2. Binary understanding
@ -94,9 +94,9 @@ Most recent open:
## 8. Delta since previous dashboard
- verified targets: 26 → 27 (+1) · mapped-or-better: 43 → 43 (+0)
- engine LOC: 18,187 → 19,328 (+1,141) · test files: 88 → 88 (+0) · checks: 2,574 → 2,641 (+67)
- addresses verified: 126 → 166 (+40) · recovered layouts: 21 → 21 (+0) · open questions: 25 → 27 (+2)
- verified targets: 27 → 27 (+0) · mapped-or-better: 43 → 43 (+0)
- engine LOC: 19,328 → 19,328 (+0) · test files: 88 → 88 (+0) · checks: 2,641 → 2,641 (+0)
- addresses verified: 166 → 166 (+0) · recovered layouts: 21 → 21 (+0) · open questions: 27 → 27 (+0)
---
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

View file

@ -54,9 +54,9 @@ Status flow: `backlog → in-progress → mapped → verified` (or `blocked`).
| strategic formula gaps | subsystem | verified | high | 100% | 2026-09-07 | findings/subsystems/formula-gaps.md: all 8 answered with code (bankruptcy 3.3 on BnkPr, linear hazard, money tail, pbon, slider, [6] net, no speed clamp, decay hits current) |
| engine: game/design | engine | verified | high | 100% | 2026-09-07 | merged; see ShipDesignDef row |
| P2-B1 ComputeBudget (behavioral) | phase2 | in-progress | — | 0% | 2026-09-08 | FIRST BEHAVIORAL BRICK: hook ServerPlayer::ComputeBudget 0x00863030 (verified thiscall, pure, 8 calls/turn) vs game/sim/economy.cpp; workload = ref-turn2.sav + End Turn |
| P2-B2 OnTechResearched (behavioral) | phase2 | backlog | — | 0% | 2026-09-08 | hook ServerPlayer::OnTechResearched 0x00891790 (verified) vs the tech-effects layer from sim-pin |
| P2-B2 OnTechResearched (behavioral) | phase2 | in-progress | — | 0% | 2026-09-08 | offline lane (no VM): hook ServerPlayer::OnTechResearched vs src/game/effects; per-field regions; static-first per B3's lesson. Builds /srv/re-lab/build/sots-engine-b2, stages dist-b2. Coverage risk: few/no tech completions in the reference End Turn -> host tests over the whole effects table |
| P2-B3 ProcessResearch (behavioral, RNG) | phase2 | in-progress | med | 70% | 2026-09-08 | CODE-COMPLETE (engine 3ebc8bf), dist-b3 staged. Static analysis found 5 REAL BUGS in our code: draw = y/(2^32-1) not y*2^-32 (constant 1/4294967295; compare could NOT have caught this - 0 decision flips in 1e6); NextInt is [0,n] INCLUSIVE by pointer; spend has no floor at 0; odds/roll/ratio are float32 not double; decay constants are widened float literals. ProcessResearch arg2 = the RNG object. ctest 26/26. NEEDS VM window (queued behind M2) |
| RNG signatures (Ghidra) | meta | verified | high | 100% | 2026-09-08 | Seed/Twist/NextFloat verified (own pass) + NextInt pinned by B3: [0,n] inclusive, bound by pointer. Draw mapping = y/(2^32-1). Lazy twist, left@+0x9c4. Open: x87 precision-control mode at runtime (instrumented - hook logs fpu_cw) |
| engine: game/effects | engine | verified | high | 100% | 2026-09-08 | merged: TechId enum (196 slots @10000+i), 44 ids with typed strategic effects, species flag bits, ApplyTechEffect; 254 checks |
| VM140 exclusivity (lab rule) | meta | verified | high | 100% | 2026-09-08 | only ONE agent may deploy a shim DLL / stop-start the game at a time; interleaved deploys silently corrupt compare results. Holder: B1. QUEUE: M2 (ready, ~20min), then B3. Non-holders build in /srv/re-lab/build/sots-engine-<lane> and stage to /srv/re-lab/shim/dist-<lane> |
| VM140 exclusivity (lab rule) | meta | verified | high | 100% | 2026-09-08 | only ONE agent may deploy a shim DLL / stop-start the game at a time; interleaved deploys silently corrupt compare results. Holder: B1. QUEUE: M2 (ready ~20min), B3 (ready), B2. Non-holders build in /srv/re-lab/build/sots-engine-<lane>, stage to /srv/re-lab/shim/dist-<lane>, deploy to C:\SOTS\shimdist-<lane> |
| Zuul double-roll (behavioural) | verify | backlog | — | 0% | 2026-09-08 | the reference save may have no species-5 player; if so the Zuul double roll is verified only by disassembly. Needs one extra compare from a Zuul save |