lane G: record that save_reader.py still carries the four defects, and why it was left alone

This commit is contained in:
alex 2026-09-08 06:33:53 -04:00
parent 48fcc3ff3a
commit 2bb7b4debb

View file

@ -175,3 +175,14 @@ The test carries a **ratchet** (`pct >= 95.0`), so typing a body can never silen
string list).
4. Re-run `tools/streams.py` whenever `serializers.py` improves — the generated header regenerates
from it in 0.2 s, and the conformance test will say immediately whether the engine still agrees.
5. **`save_reader.py` still carries all four defects in §3** — `Planet.p1` as int, `odet` as int, and
`nv` / `srbd` as fields rather than counts. This lane deliberately did **not** touch it: every fix
is byte-neutral on all four saves available, so nothing observable would change, and quietly
editing the oracle mid-campaign is worse than recording the divergence. It was left verified as it
stands — 36 tests pass, `--strict` exit 0 on all four saves, and `state_checksum.py` reports
`coverage: PROVED` (591,376 bytes rebuilt == inflated on turn1; 532,752 on the Zuul save). Whoever
owns the reader should apply the four and re-run both suites; the engine is already the corrected
reference.
6. The engine's `SAVE_FORMAT.md` counterpart should record that `bool` and `int` items are the same
size **only** when the tag length makes the joint padding agree — that coincidence is what hid the
`odet` defect, and it will not hold for a 3- or 5-character tag.