Update AGENTS.md and various SKILL.md files to improve documentation structure, clarify design phase references, and ensure consistency in file paths. Adjust links to design documents for better navigation and organization across phases.
ci / server (push) Failing after 3m41s
ci / client (push) Successful in 21s

This commit is contained in:
Leonid Pershin
2026-08-20 12:26:21 +03:00
parent a37a5eb82d
commit 9a6cbff55a
30 changed files with 116 additions and 95 deletions
+1 -1
View File
@@ -3,7 +3,7 @@
Индекс регрессий в уже сделанном. Статус: ⬜ не начат, 🔄 в работе, ✅ готов.
Это не фазы: номера не спорят со срезами, в `docs/phases/` не дублировать.
Склейка систем и DX — [«Вне очереди»](../phases/README.md#вне-очереди), скилл
Склейка систем и DX — [«Вне очереди»](../phases/off-queue/README.md), скилл
`/side-work`. Новый кусок игры — `/slice-work`. Как работать с багом —
[`.claude/skills/bug-work`](../../.claude/skills/bug-work/SKILL.md).
+1 -1
View File
@@ -2,7 +2,7 @@
Договорённость на следующий срез, не текущий код.
Оболочка: [`near-term.md`](../01-shell/near-term.md). Рантайм: [`runtime.md`](../01-shell/runtime.md).
Протокол: [`../protocol.md`](../../protocol.md).
Протокол: [`protocol.md`](../../protocol.md).
Один процесс сервера, несколько браузеров в локальной сети. Это не аккаунты и не интернет:
общий пароль альфы пускает к двери, имя отличает игроков. Школу по-прежнему тикает её работник,
+1 -1
View File
@@ -19,7 +19,7 @@
> **Отменено в фазе 8.** Панель общих событий убрана с экрана: пока ленты событий нет, постоянно
> пустая треть экрана мешала, и место отдано вкладкам «Карта» и «Люди». Решение записано в
> [`docs/design/01-shell/near-term.md`](../../design/01-shell/near-term.md); появится лента — вернётся и панель.
> [`near-term.md`](../../design/01-shell/near-term.md); появится лента — вернётся и панель.
## Критерий готовности
+4 -4
View File
@@ -2,10 +2,10 @@
## Срез 1. Оболочка и карта
Дизайн закрыт: [`../design/near-term.md`](../../design/01-shell/near-term.md),
[`../design/defs.md`](../../design/01-shell/defs.md),
[`../design/runtime.md`](../../design/01-shell/runtime.md),
[`../design/projects.md`](../../design/01-shell/projects.md).
Дизайн закрыт: [`near-term.md`](../../design/01-shell/near-term.md),
[`defs.md`](../../design/01-shell/defs.md),
[`runtime.md`](../../design/01-shell/runtime.md),
[`projects.md`](../../design/01-shell/projects.md).
Новых игровых фич в эти фазы не добавлять. 1 и 2 можно вести параллельно (клиент / сервер).
+1 -1
View File
@@ -28,7 +28,7 @@
- [x] Тот же сид, карта и набор имён — ровно тот же ростер
- [x] Тринадцатая семья не меняет, как разыграны первые двенадцать (фамилия, состав, имена).
Класс ребёнка при этом меняется — места раздаются вперемешку по школе, иначе братья и
сёстры всегда оказывались одноклассниками; см. [`docs/design/02-people/people.md`](../../design/02-people/people.md)
сёстры всегда оказывались одноклассниками; см. [`people.md`](../../design/02-people/people.md)
- [x] Фамилии, родовые формы и отчества внутри семьи согласованы
- [x] Ученик с телосложением «полное» не получает высокую ловкость
- [x] Все ученические места заполнены, все должности закрыты
+1 -1
View File
@@ -18,7 +18,7 @@
`TaskCompletionSource`, потому что нужды живые
- [x] Панель «Люди» в оболочке менеджера: фильтры, сортируемые колонки, пейджер. Сделана
**вкладкой рядом с картой**, а не нижним рядом — заодно с экрана ушла пустая панель
событий из фазы 1; см. [`docs/design/02-people/people.md`](../../design/02-people/people.md)
событий из фазы 1; см. [`people.md`](../../design/02-people/people.md)
- [x] Строка списка — только лёгкие поля: ФИО, роль, класс или должность, возраст, пол
- [x] Карточка: тело, навыки, черты, нужды, семья со ссылками на родных — по ссылке открывается
карточка родственника
+1 -1
View File
@@ -2,7 +2,7 @@
## Срез 2. Люди
Дизайн: [`../design/people.md`](../../design/02-people/people.md).
Дизайн: [`people.md`](../../design/02-people/people.md).
Школа наполняется людьми. Ученики, работники и родители существуют, показываются и обновляются
раз в год — но **ничего не делают**: ни расписания, ни перемещений, ни влияния характеристик.
+1 -1
View File
@@ -2,7 +2,7 @@
## Срез 3. Штат
Дизайн: [`../design/staffing.md`](../../design/03-staffing/staffing.md).
Дизайн: [`staffing.md`](../../design/03-staffing/staffing.md).
Первый срез, где игрок принимает решения. Школа открывается пустой: надо нанять людей из пула
соискателей, раздать им предметы и уложиться в выделенную на месяц сумму. Уроков по-прежнему нет —
+1 -1
View File
@@ -2,7 +2,7 @@
## Срез 4. Расписание
Дизайн: [`../design/schedule.md`](../../design/04-schedule/schedule.md).
Дизайн: [`schedule.md`](../../design/04-schedule/schedule.md).
Часы учебного плана раскладываются по дням и кабинетам. Школа начинает жить по времени: видно,
что идёт в комнате прямо сейчас. Люди при этом по-прежнему **не ходят** — они находятся там, где
+1 -1
View File
@@ -2,7 +2,7 @@
## Срез 5. Жизнь школы
Дизайн: [`../design/ai.md`](../../design/05-ai/ai.md).
Дизайн: [`ai.md`](../../design/05-ai/ai.md).
Люди начинают ходить и решать. Присутствие перестаёт вычисляться из расписания и становится
состоянием: человек приходит утром, идёт коридором, может уйти с урока в туалет и вернуться.
+1 -1
View File
@@ -25,7 +25,7 @@
- [x] Разрешённый порядок виден: пишется в лог при старте школы и возвращается в ответе создания
- [x] Сейв хранит **разрешённый** порядок паков, чтобы школа поднималась тем же каталогом
- [x] Загрузчик пишет предупреждение, когда у конкретного def нет подписи в локали пака
- [x] `docs/protocol.md` и [`docs/design/06-foundation/foundation.md`](../../design/06-foundation/foundation.md) правятся тем же
- [x] `docs/protocol.md` и [`foundation.md`](../../design/06-foundation/foundation.md) правятся тем же
коммитом, что и обработчики
## Тесты, без которых фаза не закрыта
+1 -1
View File
@@ -18,7 +18,7 @@
пока не выбран
- [x] Пак едет в вывод сборки тестов теми же правилами, что и `core`
- [x] Короткий `README.md` внутри пака: что где лежит и как добавить своё
- [x] Ориентир в [`docs/design/01-shell/defs.md`](../../design/01-shell/defs.md) показывает на него как на образец
- [x] Ориентир в [`defs.md`](../../design/01-shell/defs.md) показывает на него как на образец
## Тесты, без которых фаза не закрыта
@@ -6,7 +6,7 @@
## Зачем
[`docs/design/05-ai/ai.md`](../../design/05-ai/ai.md) обещает: числа поведения — деф правил, как `StaffingDef` у
[`ai.md`](../../design/05-ai/ai.md) обещает: числа поведения — деф правил, как `StaffingDef` у
штата. Порог нужды и разброс на дорогу туда уехали, а веса целей остались константами в коде.
Пока они там, мод, меняющий одно число, вынужден быть форком.
+1 -1
View File
@@ -21,7 +21,7 @@
- [x] Существующие школы не меняются: сид читается из файла людей, как и сейчас
- [x] Тесты хоста, которым нужен предсказуемый состав, передают сид явно, а не полагаются на
порядок создания
- [x] `docs/protocol.md` и [`docs/design/02-people/people.md`](../../design/02-people/people.md) правятся тем же коммитом
- [x] `docs/protocol.md` и [`people.md`](../../design/02-people/people.md) правятся тем же коммитом
## Тесты, без которых фаза не закрыта
+1 -1
View File
@@ -2,7 +2,7 @@
## Срез 6. Фундамент
Дизайн: [`../design/foundation.md`](../../design/06-foundation/foundation.md).
Дизайн: [`foundation.md`](../../design/06-foundation/foundation.md).
Срез без единой новой кнопки для игрока. Мод становится настоящим объектом, числа поведения
уезжают из кода в данные, сид перестаёт быть идентификатором, у сейва появляется версия, а то,
+1 -1
View File
@@ -18,7 +18,7 @@
ошибка
- [x] Вещь с несколькими `layers` допустима (платье). Пересечение слоёв у двух надетых сразу
валидатор не проверяет — это состояние человека, не каталога
- [x] Ваниль по [`docs/design/07-inventory/inventory.md`](../../design/07-inventory/inventory.md): бельё, носки, низы, верх,
- [x] Ваниль по [`inventory.md`](../../design/07-inventory/inventory.md): бельё, носки, низы, верх,
свитер, куртка/пальто/шуба, обувь, шапка, аксессуары, платье, форма физкультуры,
портфель, учебник, телефон, бутылка
- [x] Палитра цветов и локали ru/en на все новые def
+1 -1
View File
@@ -14,7 +14,7 @@
- [x] В «Управлении» вкладка **«Правила»** рядом со штатом, не новый верхний режим
- [x] Четыре комбобокса: форма учеников, цвет учеников, форма сотрудников, цвет сотрудников.
Значения — как в [`docs/design/07-inventory/inventory.md`](../../design/07-inventory/inventory.md)
Значения — как в [`inventory.md`](../../design/07-inventory/inventory.md)
- [x] Сохранение пишет завтрашнее правило; на экране видно, что действует сегодня и что
вступит завтра
- [x] HTTP: чтение текущих+отложенных, запись отложенных. Отказ по неизвестному коду правила —
+1 -1
View File
@@ -2,7 +2,7 @@
## Срез 7. Одежда, вещи и климат
Дизайн: [`../design/inventory.md`](../../design/07-inventory/inventory.md).
Дизайн: [`inventory.md`](../../design/07-inventory/inventory.md).
Человек одевается, несёт вещи, мёрзнет и переодевается. Игрок смотрит гардероб и выбирает
правила школы; надевает не он. Погода видна у часов. Срез можно остановить после этапа A —
+1 -1
View File
@@ -2,7 +2,7 @@
## Срез 8. Сессия и темп
Дизайн: [`../design/session.md`](../../design/08-session/session.md).
Дизайн: [`session.md`](../../design/08-session/session.md).
Несколько браузеров на одном сервере: общий пароль альфы, имя игрока, свои школы и чужие
отдельным списком. Часы становятся смотрибельными — минута за секунду, на высоких скоростях
+1 -1
View File
@@ -2,7 +2,7 @@
## Срез 9. Общение и романтический пак
Дизайн: [`../design/social.md`](../../design/09-social/social.md).
Дизайн: [`social.md`](../../design/09-social/social.md).
Разговор становится кружком, мнение — числом, вражда — ссорой. Романтика не ваниль: отдельный
пак. Срез можно остановить после этапа B — школа болтает, даже если драк и пака ещё нет.
+1 -1
View File
@@ -2,7 +2,7 @@
## Срез 10. Ремесло
Дизайн: [`../design/craft.md`](../../design/10-craft/craft.md).
Дизайн: [`craft.md`](../../design/10-craft/craft.md).
Срез без новой кнопки. Слои ловятся одним тестовым проектом, клиентский `npm test` гоняет tsc,
работник и карточка режутся по швам, дамп проверяет явку. После этапа A школа целая, даже если
+2 -2
View File
@@ -2,12 +2,12 @@
## Вне очереди
Дизайн: [`../design/off-queue.md`](../../design/off-queue/README.md).
Дизайн: [`off-queue.md`](../../design/off-queue/README.md).
Склейка уже живых систем и мелкий DX, не новый кусок игры. Номера не спорят с именованными
срезами. После каждой игровой фазы школа целая. 50–52 стоят на 48; 53 — на 18 и 32, можно
параллельно с 48. 49, 54 и 55 от них не зависят. Баг в уже сделанном —
[`../bugs/README.md`](../../bugs/README.md).
[bugs](../../bugs/README.md).
| Фаза | Статус | Зачем |
| --- | --- | --- |