go-learn/docs/reports/session-1.md
sab.code.lab 1c85091186 chore: восстановление репозитория из снапшота v0.3.1
Прежняя git-история утрачена при переносе проекта на машину владельца
(снапшот без .git). Хэши коммитов в docs/reports/* относятся к утраченной
истории.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-07 09:34:02 +02:00

51 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Отчёт сессии 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.