Today's history is a paged HTTP log on the worker, not on the card or in people.json. Co-authored-by: Cursor <cursoragent@cursor.com>
3.2 KiB
3.2 KiB
Фаза 36. Вкладки карточки
Зависимости
Зачем
Гардероб, ноша и сегодняшний след перестают быть секциями в одном свитке. Подробности о человеке читаются.
Задачи
- Окно карточки: вкладки Обзор / Одежда / Ноша / Сейчас
- Обзор — прежнее: тело, навыки, черты, нужды, семья, расписание; текущее дело с обзора уходит на «Сейчас»
- Одежда: слои, цвет, полоска износа и подпись (если сервер прислал
condition/conditionLabel), короткая уместность — прочерк до фазы 35 - Ноша: сумка, несёшь/можешь, шкафчик или его отсутствие, кратко «ещё N дома» без полного домашнего списка
- Сейчас: на территории школы — подпись действия (
ест,идёт,учится (математика),переодевается). Вне школы — «дома» - История за сегодня под текущим делом: поиск, сортировка, пейджинг
GET /api/schools/{id}/people/{personId}/log— страница и фильтр; не сокет, не лента школы. Граница суток — шесть утра; skip ночи обнуляет вчерашнее- Запись в лог: начало/конец действия есть; утренняя выдача одежды — тип
apparel-replacedподхватывается, пишет фаза 34; переодевание — после фазы 35 - Vitest: переключение вкладок, пейджер лога, «дома» когда activity пустая и человек away
docs/protocol.md— HTTP лога в том же коммите
Тесты, без которых фаза не закрыта
- Лог не едет в
GET .../people/{id}— только отдельным запросом - Страница лога не пересекается; неизвестный человек —
404 - После 6:00 записей вчера нет
- Вне школы вкладка «Сейчас» показывает «дома», не пусто
- Клиентский тест: вкладка «Одежда» не монтирует таблицу лога
Критерий готовности
- Открыть ученика, переключить четыре вкладки, найти в истории сегодняшний обед
- Тысяча строк лога не приезжает разом
dotnet testиnpm test/buildпроходят
Стоп
Не возвращать панель общих событий школы. Не давать надевать с вкладки «Одежда».