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). string list).
4. Re-run `tools/streams.py` whenever `serializers.py` improves — the generated header regenerates 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. 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.