Restore golden-save host tests for slice 6 after later formats stopped loading historic files.

Phase 39 dropped GoldenSaveTests when format 2 saves became unstartable. Recheck restores the missing-field and seed-equals-id assertions against a stamped copy, and records the recheck.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-20 15:39:07 +03:00
co-authored by Cursor
parent 0ec02dde8d
commit 1ef051764b
6 changed files with 244 additions and 14 deletions
+7 -8
View File
@@ -17,8 +17,10 @@
ломается. Пак может поднять `lunchWeight` выше урока без форка.
**Золотые файлы ловят то, что раньше ловили глазами.** Отпечаток ростера — файл в фикстурах.
Сейв текущего формата и сейв без `nativeLanguage` грузятся тестом хоста. Формат новее своего
школу не стартует и файл не трогает.
Папки `current/` и `legacy-no-native/` живут как исторический формат 2 (без `countryId`): сам
файл школу не стартует. Тест хоста копирует `legacy-no-native/`, ставит сегодняшний формат,
страну и владельца и проверяет, что сейв без `nativeLanguage` не перетасовывает набор.
Формат новее своего школу не стартует и файл не трогает.
## Удостоверение пака
@@ -112,12 +114,9 @@
## Версия сейва читается
`Format` штампуется при записи, копируется при чтении и **никогда не сравнивается**. Файл из
будущей версии загрузится молча и будет понят неправильно, а места для миграции не предусмотрено.
Правило то же, что с пропавшей папкой мода: формат новее своего — школу не стартовать, файл не
трогать, в лог. Формат старее — явный шов для апгрейда, сегодня пустой, но названный. Пустой
именованный шов дешевле, чем попытка вспомнить через полгода, куда его вставлять.
`Format` сравнивается при загрузке (`SchoolStore.CanStart`). Правило то же, что с пропавшей
папкой мода: формат новее своего — школу не стартовать, файл не трогать, в лог. Формат старее
или без страны — тоже не стартовать; шов для апгрейда назван, миграций пока нет.
## Взгляд внутрь школы