plan: ruling on event text — game data via the VFS, not a caveat; CR verdict on 1a
This commit is contained in:
parent
1df4ffb463
commit
d4e9b58d4d
1 changed files with 12 additions and 1 deletions
|
|
@ -154,11 +154,22 @@ mode and the **same hashes**, with a count from the hook proving the path execut
|
|||
|
||||
| # | module | today | evidence for the attempt | target |
|
||||
|---|---|---|---|---|
|
||||
| 1a | `TechTree::ProcessResearch` + unlock cascade | compared | 35 calls / 3 workloads / 0 div; advance prediction held on a changed workload | **replaced** — lane CR running |
|
||||
| 1a | `TechTree::ProcessResearch` + unlock cascade | compared | 35 calls / 3 workloads / 0 div; advance prediction held on a changed workload | **stays `compared`** (lane CR, 2026-09-09): our code displaced all 13 tech-tree leaves live, oracle missed by **16**, every one written by `OnTechResearched` — a different function. Next: the write-back |
|
||||
| 1b | `ServerSystem::ComputeTotalOutput` + `GroupOutput` | compared | 24,357 calls, 0 undeclared writes — but **13 distinct states** (rule 23) | replaced, after widening the state set |
|
||||
| 1c | `ServerSystem::ProcessTurn` (colony) | compared | 36 calls 0 div; 3 owned systems, gates all zero | replaced, on a save with gate traffic |
|
||||
| 1d | `game/nav`, `game/design`, `game/combat` retreat, `mars/vfs` | modelled, **never hooked** | host-tested only | compared — one lane each |
|
||||
|
||||
**Ruling (2026-09-09, on lane CR's policy question).** Reaching `replaced` on research needs two
|
||||
event *records* whose text comes from the game's string table. That text is **game data**, not
|
||||
engine code: the engine already reads every catalogue, tech name and design from the user's own
|
||||
install through `$SOTS_DATA_DIR` / the VFS, and a string table is no different. So the answer is
|
||||
**not** "call the game's `PostEvent` and take a QUALIFIED caveat" — it is **load the string table
|
||||
through the same VFS path everything else uses** and construct the record clean. We ship no
|
||||
strings; the user's copy supplies them. That is the same clean-room posture as every other data
|
||||
dependency, and it turns the last research residual into ordinary engine work rather than a
|
||||
policy exception. Track 1a, next lane: `OnTechResearched` write-back (~90 tech-effect fields) +
|
||||
`ObservedTech` element + the two event records via the VFS string table.
|
||||
|
||||
### Track 2 — Rung B worklist, ranked against a real rich turn (lane CV, residual 0)
|
||||
|
||||
| leaves | subsystem | note |
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue