chore: восстановление репозитория из снапшота v0.3.1

Прежняя git-история утрачена при переносе проекта на машину владельца
(снапшот без .git). Хэши коммитов в docs/reports/* относятся к утраченной
истории.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
sab.code.lab 2026-08-07 09:34:02 +02:00
commit 1c85091186
184 changed files with 33303 additions and 0 deletions

51
docs/reports/session-1.md Normal file
View file

@ -0,0 +1,51 @@
# Отчёт сессии 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.
## Что НЕ сделано
- Этапы 29 не начаты.
- CI не проверен на GitHub (репо локальный).
- Настоящая позиция двойного ко для юнит-теста суперко (см. PROJECT_STATE).
## Подводные камни для следующей сессии
- **Среда выполнения:** `/mnt/agents/output` НЕ поддерживает симлинки →
`npm install` невозможен там. Работать только через git worktree в `$HOME`
(`git worktree add $HOME/work-<name> <branch>` из /mnt/agents/output/go-learn).
Каталог `$HOME` может сбрасываться между сессиями — worktree пересоздавать,
коммиты в общем .git не теряются. `git worktree prune` не запускать, пока
живы субагенты; мёртвые записи удалять `git worktree remove --force <path>`.
- **У субагентов своя файловая система** (или $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.