Record off-queue lesson phases 48 and 50-53 as reviewed.

Journal the teacher/skill/warmth/textbook/commute pass without closing DX or portraits.
This commit is contained in:
Leonid Pershin
2026-08-20 17:13:22 +03:00
parent 8b175c05e7
commit 94c31c0dc1
2 changed files with 33 additions and 1 deletions
+32 -1
View File
@@ -1,6 +1,37 @@
# Проверенные фазы «Вне очереди» # Проверенные фазы «Вне очереди»
Портреты 6062. Соседей по папке (уроки, DX) этот журнал не закрывает. Портреты 6062 и связность урока (48, 5053). DX (49, 54, 55) этот журнал не закрывает.
## Связность урока. Учитель, навык, тепло, учебник, дорога
- **Фазы:** 48, 5053
- **Проверен на:** `aa20534`, 2026-08-20
- **Пути:** `src/HSchool.Ai/LessonLearning.cs`, `src/HSchool.Ai/DayPlan.cs`, `src/HSchool.Simulation/LessonLearningSystem.cs`, `src/HSchool.Simulation/OutdoorWeather.cs`, `src/HSchool.Simulation/PresenceSystem.cs`, `src/HSchool.Simulation/PersonLog.cs`, `src/HSchool.Simulation/School.cs`, `src/HSchool.Content/PeopleDefs.cs`, `src/HSchool.Content/PeopleDefValidator.cs`, `src/HSchool.Server/mods/core/defs/behavior/rules.jsonc`, `src/HSchool.Server/mods/core/localizations/ru.jsonc`, `src/HSchool.Server/mods/core/localizations/en.jsonc`, `tests/HSchool.Ai.Tests/LessonLearningTests.cs`, `tests/HSchool.Ai.Tests/WalkingTests.cs`, `tests/HSchool.Simulation.Tests/LessonTeacherPresentTests.cs`, `tests/HSchool.Simulation.Tests/WeatherTests.cs`, `tests/HSchool.Content.Tests/BehaviorDefTests.cs`, `docs/protocol.md`, `docs/design/off-queue/lesson-consequences.md`, `docs/design/07-inventory/inventory.md`
- **Итог:** обещания фаз 48 и 50–53 совпадают с кодом; сокет не бампили (`ProtocolConstants.Version` / `PROTOCOL_VERSION` = 9). Дописаны тесты на действие учителя, тепло без нужды, снег в плане дня и ленивого на снегу. Критерий фазы 53 «класс наполняется позже» поправлен на `AppearAt` раньше (запас на дорогу). DX 49/54/55 и портреты не трогались.
### Фаза 48
Рост только если назначенный учитель стоит в `lesson.RoomId` (путь пуст, остаток 0). Нет id в мире — как отсутствующий. Лог `lesson-no-teacher` один раз на предмет в сутки, `thingDef` — предмет, подпись из каталога. Голод по-прежнему режет, когда учитель на месте. Действие учителя урок не отменяет — это проверяет `TeacherActionInRoom_StillGains`.
### Фаза 50
`TeacherFactor` — та же кривая, что `NeedFactor` (0 → 0.25, 100 → 1). Навык — среднее по `SubjectDef.skills`, нет ключа — `Range.Min`. Учителя нет в кабинете — рост нулевой.
### Фаза 51
`Gain` умножает `NeedFactor(голод) × NeedFactor(тепло)`; нет ключа `Warmth` — как 1. Лог `lesson-cold` один раз на предмет, только если учитель в кабинете. В `inventory.md` штраф рядом с голодом.
### Фаза 52
Полный рост только при учебнике этого предмета в сумке; шкафчик и дом — `lessonNoTextbookFactor` (ваниль 0.5). Пак без поля — 0.5. Лог `lesson-no-textbook` один раз на предмет.
### Фаза 53
`DayPlans.Build` берёт уже посчитанные минуты; симуляция подставляет `OutdoorWeather.ExtraCommuteMinutes`. Ваниль 3 / 6; пак без полей — 0. Лога нет. `HSchool.Ai` не знает `Precipitation`.
### Открытое
Планы дня не пересобираются, если осадки сменились после первой сборки этого утра — так записано («в момент сборки»). Учитель, стоящий в своём кабинете, тоже получает `Gain` по скиллам предмета (`Duty.LessonsToday` для штата); фазы это не запрещают.
## Портреты. Модели, слои промпта, LoRA и embeddings ## Портреты. Модели, слои промпта, LoRA и embeddings
+1
View File
@@ -33,5 +33,6 @@
| Срез 9. Этапы C–D — конфликт, присутствие, речь и romance | `19554d4` | [09-social](09-social/reviewed.md) | | Срез 9. Этапы C–D — конфликт, присутствие, речь и romance | `19554d4` | [09-social](09-social/reviewed.md) |
| Срез 10. Этап A — страховка | `e2e7d30` | [10-craft](10-craft/reviewed.md) | | Срез 10. Этап A — страховка | `e2e7d30` | [10-craft](10-craft/reviewed.md) |
| Срез 10. Этапы B–C — работник, карточка и дамп | `f4f726a` | [10-craft](10-craft/reviewed.md) | | Срез 10. Этапы B–C — работник, карточка и дамп | `f4f726a` | [10-craft](10-craft/reviewed.md) |
| Связность урока (вне очереди) 48, 50–53 | `aa20534` | [off-queue](off-queue/reviewed.md) |
| Портреты (вне очереди) 60–61 | `5e23d1f` | [off-queue](off-queue/reviewed.md) | | Портреты (вне очереди) 60–61 | `5e23d1f` | [off-queue](off-queue/reviewed.md) |
| Портреты (вне очереди) 62 | `d093ea3` | [off-queue](off-queue/reviewed.md) | | Портреты (вне очереди) 62 | `d093ea3` | [off-queue](off-queue/reviewed.md) |