Implement per-school save functionality by introducing a dedicated save directory and updating the school management system to support loading and saving school states. Revise documentation to reflect these changes, including updates to the architecture and design documents, and enhance the API for reloading schools from disk. Update tests to ensure proper functionality of the new save and reload features.
ci / server (push) Failing after 3m40s
ci / client (push) Successful in 18s

This commit is contained in:
Leonid Pershin
2026-08-18 14:07:23 +03:00
parent f50f6eacf8
commit 37c39a3beb
28 changed files with 1032 additions and 219 deletions
+9 -9
View File
@@ -11,15 +11,15 @@
## Задачи
- [ ] Супервизор держит ящики `id →` очередь; не трогает `World`
- [ ] У школы выделенный поток (`LongRunning`), свой таймер фиксированного шага, свой `World`
- [ ] Команды create/delete/open/close/running/speed идут в ящик, не в общий цикл
- [ ] Меню читает опубликованные снимки, как сейчас, без блокировки работника
- [ ] Кадры часов по-прежнему из работника в outbox соединения
- [ ] Сейв на диск: имя, id, часы, running, speedIndex; запись при create/delete, shutdown, редкий снимок часов (не 20 Гц)
- [ ] Старт процесса поднимает школы с диска
- [ ] Обновить инвариант в `AGENTS.md`: трогает школу только её работник
- [ ] Тесты AppHost: create → рестарт хоста (или явный reload) → школа на месте с тем же временем с разумной погрешностью снимка
- [x] Супервизор держит ящики `id →` очередь; не трогает `World`
- [x] У школы выделенный поток (`LongRunning`), свой таймер фиксированного шага, свой `World`
- [x] Команды create/delete/open/close/running/speed идут в ящик, не в общий цикл
- [x] Меню читает опубликованные снимки, как сейчас, без блокировки работника
- [x] Кадры часов по-прежнему из работника в outbox соединения
- [x] Сейв на диск: имя, id, часы, running, speedIndex; запись при create/delete, shutdown, редкий снимок часов (не 20 Гц)
- [x] Старт процесса поднимает школы с диска
- [x] Обновить инвариант в `AGENTS.md`: трогает школу только её работник
- [x] Тесты AppHost: create → рестарт хоста (или явный reload) → школа на месте с тем же временем с разумной погрешностью снимка
## Критерий готовности