# Отчёт сессии 1 (для следующей сессии) Дата: 2026-08-05 | Ветка: main | Последний коммит: см. git log ## Что сделано 1. **Шаг 0 — каркас.** Триаж литании (ADR-0001, профиль M), git + .gitattributes (`* text=auto eol=lf`) с первого коммита, docs-каркас, AGENTS.md (точка входа), гейты `npm run gates` (prettier + eslint + tsc -b --noEmit + vitest). Запинены: typescript 5.9.3, vitest 4.1.10, eslint 10.8.0, prettier 3.9.6, fast-check 4.9.0. CI — GitHub Actions (ubuntu+windows), написан, не запускался. 2. **Этап 1 — packages/core.** Движок правил полностью по контракту docs/INTERFACES.md: доски 9/13/19, группы/дамэ (flood fill — ADR-0002, бенчмарк: union-find медленнее в 1.74×), захваты, запрет самоубийства (самоубийство с захватом легально), простое ко + позиционное суперко, подсчёт Tromp-Taylor со снятием dead-камней и ничьей, история-дерево с ветвлением, SGF FF[4] (парсер+генератор, roundtrip), seeded RNG (mulberry32). Тесты: 43/43 (юнит, wiring orphan-check, интеграция полной партии 9×9, property-based fast-check). 3. **Решения владельца (молчание = дефолт):** каркас подтверждён, коми 13×13 = 5.5, LICENSE = MIT (файл добавлен), CI на GitHub Actions. ## Что НЕ сделано - Этапы 2–9 не начаты. - CI не проверен на GitHub (репо локальный). - Настоящая позиция двойного ко для юнит-теста суперко (см. PROJECT_STATE). ## Подводные камни для следующей сессии - **Среда выполнения:** `/mnt/agents/output` НЕ поддерживает симлинки → `npm install` невозможен там. Работать только через git worktree в `$HOME` (`git worktree add $HOME/work- ` из /mnt/agents/output/go-learn). Каталог `$HOME` может сбрасываться между сессиями — worktree пересоздавать, коммиты в общем .git не теряются. `git worktree prune` не запускать, пока живы субагенты; мёртвые записи удалять `git worktree remove --force `. - **У субагентов своя файловая система** (или $HOME сбрасывается): НЕЗАКОММИЧЕННЫЕ правки в worktree теряются. Правило: перед передачей работы субагенту всё коммитить; контракты передавать и в тексте задания, не только файлами. - Контракт core уже зафиксирован — изменения только через обновление INTERFACES.md ПЕРЕД кодом. UI этапа 5 ветвится по полю `reason` (MoveError), не по тексту error. - В /mnt-репозитории были мусорные пустые каталоги от ошибочной команды с brace-expansion (шелл без bash) — вычищены в сессии 1; mkdir писать без `{}`. ## С чего начать продолжение Этап 2 (доска Canvas): сначала дописать контракт рендера в docs/INTERFACES.md (render(ctx, position, options) — чистая функция, devicePixelRatio, хоси, тач-ввод), затем код. План — docs/plans/plan-phase-1.md обновить или создать plan-phase-2.md.