Merge branch 'phase/58-worker-card-split'

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-20 13:54:25 +03:00
co-authored by Cursor
19 changed files with 2308 additions and 2194 deletions
+9 -9
View File
@@ -12,22 +12,22 @@ DOM. Разрезать по существующим границам, не м
## Задачи
- [ ] `SchoolWorker``partial` (почта / тик / запись или эквивалент по швам). Один тип,
- [x] `SchoolWorker``partial` (почта / тик / запись или эквивалент по швам). Один тип,
тот же `LongRunning`-поток, тот же mailbox. Без `lock` вокруг `School`/`World`
- [ ] `PersonCardReader`: публичный вход по-прежнему `Read(School, personId, locale)`;
- [x] `PersonCardReader`: публичный вход по-прежнему `Read(School, personId, locale)`;
сборка вкладок — соседние `internal` helper или `partial`, не второй публичный API
- [ ] `personCard.ts`: вкладки в отдельных модулях; `personCardHost.ts` по-прежнему fetch
- [ ] Инверсия Game → типы из `HSchool.Server.Api` **не** входит: `using` можно оставить
- [x] `personCard.ts`: вкладки в отдельных модулях; `personCardHost.ts` по-прежнему fetch
- [x] Инверсия Game → типы из `HSchool.Server.Api` **не** входит: `using` можно оставить
## Тесты, без которых фаза не закрыта
- [ ] Карточка: нужды, одежда/ноша, связи — как сейчас (`PeopleApiTests`,
- [x] Карточка: нужды, одежда/ноша, связи — как сейчас (`PeopleApiTests`,
`InventoryApiTests`, `Card_ConnectionsCarryOnlyThisPersonsOpinions`)
- [ ] `personCard.test.ts` (вкладки, портрет-кнопки, связи) проходит
- [ ] Пауза одной школы не останавливает другую (существующий хостовый факт)
- [ ] Дамп школы по-прежнему 200 на известный id (`Dump_ReturnsPeopleNodesAndTimetable`
- [x] `personCard.test.ts` (вкладки, портрет-кнопки, связи) проходит
- [x] Пауза одной школы не останавливает другую (существующий хостовый факт)
- [x] Дамп школы по-прежнему 200 на известный id (`Dump_ReturnsPeopleNodesAndTimetable`
текущий оракул, ужесточение — фаза 59)
- [ ] `SchoolWorker` остаётся одним `internal sealed` типом (рефлексия или исходник: нет
- [x] `SchoolWorker` остаётся одним `internal sealed` типом (рефлексия или исходник: нет
второго worker-класса с mailbox)
## Критерий готовности
+1 -1
View File
@@ -22,7 +22,7 @@
| Фаза | Статус | Зачем |
| --- | --- | --- |
| [58. SchoolWorker и карточка](58-worker-card-split.md) | 🔄 | partial / модули по швам, один поток |
| [58. SchoolWorker и карточка](58-worker-card-split.md) | | partial / модули по швам, один поток |
**Этап C — дамп.**