diff --git a/docs/phases/09-social/reviewed.md b/docs/phases/09-social/reviewed.md index e8afc2b..a302f9a 100644 --- a/docs/phases/09-social/reviewed.md +++ b/docs/phases/09-social/reviewed.md @@ -1,5 +1,33 @@ # Журнал ревью — срез 9 +## Срез 9. Этапы A–B — перепроверка мнений и разговоров + +- **Фазы:** 41–43 +- **Проверен на:** `a80c6f0`, 2026-08-20 +- **Пути:** `src/HSchool.People/OpinionStore.cs`, `src/HSchool.People/OpinionGenerator.cs`, `src/HSchool.People/OpinionLabels.cs`, `src/HSchool.Ai/TalkCircles.cs`, `src/HSchool.Simulation/MorningOpinions.cs`, `src/HSchool.Simulation/TalkCircleSystem.cs`, `src/HSchool.Simulation/School.cs`, `src/HSchool.Server/Game/PersonCardReader.cs`, `src/HSchool.Server/Game/PersonCardReader.Connections.cs`, `src/HSchool.Server/mods/core/defs/topics/`, `src/HSchool.Server/mods/core/defs/traits/`, `src/HSchool.Client/src/ui/personCard.ts`, `src/HSchool.Client/src/ui/personCardConnections.ts`, `docs/protocol.md`, `tests/HSchool.People.Tests`, `tests/HSchool.Ai.Tests`, `tests/HSchool.Simulation.Tests`, `tests/HSchool.Content.Tests/TopicDefTests.cs` +- **Итог:** перепроверка после `b38d0bb` (дальше сели 44–47 и сплит карточки). Обещания 41–43 на месте; прошлые правки (сейв кружка, `PickTopic`) живы. Дописано 4 теста; исправлено вступление врага в чужой кружок. `Seed.Mix` в политиковых тестах не трогали. C–D не переписывали. +- **Открыто:** ванильный `talkCircleMax` 4 по-прежнему съедает `Outgoing.talkCircleBonus` (поле работает, если потолок ниже 4). + +### Что проверено + +Каждый пункт «Тесты, без которых фаза не закрыта» у 41–43 имеет отдельный тест. После 58 вкладка «Связи» в `personCardConnections.ts`; клиент рисует присланную `opinionLabel`, лог не монтирует, POST с вкладки нет. Каталог без `TopicDef` падает на загрузке. `RosterTalkDirty` после кружка жив. Сокет 41–43 не бампили (бамп — фаза 45). `dotnet test` с `--filter` по `TalkCirclesTests`, `TalkCircleTests`, `WhisperTests`, `OpinionStoreTests`, `OpinionGeneratorTests`, `MorningOpinionsTests`, `TopicDefTests` зелёный. + +### Что дописано + +- `TalkCirclesTests.Joiner_IsRejectedWhenEitherSideIsEnemy` +- `TalkCirclesTests.LessonWhisperFactor_CutsWhisper_LeavesOrdinaryChat` +- `TalkCirclesTests.Outgoing_RaisesMaxSize_WhenTalkCircleMaxIsBelowHardLimit` +- `TalkCircleTests.Enemy_StartsNeighborCircle_InsteadOfJoiningFriends` +- `TalkCirclesTests.AppearanceTopic_UsesDressAppropriateness` — усилен: `OpinionDelta` на теме внешности, не только хелпер + +### Что исправлено + +- `FindOpenCircle` / `JoinCircle` не смотрели мнения: враг в том же узле вступал в уже открытый кружок друзей, хотя старт кружка врагов не зовёт. Теперь отказ и соседний кружок, если есть с кем. + +### Открытое + +- Черта «общительный» задаёт `talkCircleBonus: 1`, но ванильный `talkCircleMax` уже 4, а жёсткий потолок тоже 4. Код бонус считает (тест с max 3), в ванили поле по-прежнему не двигает размер. Менять ванильный потолок ревью не стало. + ## Срез 9. Этапы A–B — мнения и разговоры - **Фазы:** 41–43 diff --git a/docs/phases/reviewed.md b/docs/phases/reviewed.md index 2be9336..6e70544 100644 --- a/docs/phases/reviewed.md +++ b/docs/phases/reviewed.md @@ -29,7 +29,7 @@ | Срез 7. Этап A — данные и гардероб | `5468852` | [07-inventory](07-inventory/reviewed.md) | | Срез 7. Этап B–C — климат, жизнь одежды и правила | `549634b` | [07-inventory](07-inventory/reviewed.md) | | Срез 8. Сессия и темп | `7100065` | [08-session](08-session/reviewed.md) | -| Срез 9. Этапы A–B — мнения и разговоры | `b38d0bb` | [09-social](09-social/reviewed.md) | +| Срез 9. Этапы A–B — мнения и разговоры | `a80c6f0` | [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. Этапы B–C — работник, карточка и дамп | `f4f726a` | [10-craft](10-craft/reviewed.md) |