chore: восстановление репозитория из снапшота v0.3.1
Прежняя git-история утрачена при переносе проекта на машину владельца (снапшот без .git). Хэши коммитов в docs/reports/* относятся к утраченной истории. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
commit
1c85091186
184 changed files with 33303 additions and 0 deletions
62
docs/reports/session-7.md
Normal file
62
docs/reports/session-7.md
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
# Отчёт сессии 7 (для следующей сессии)
|
||||
|
||||
Дата: 2026-08-06 | Ветка: main | Этап 7 (полировка) — завершён
|
||||
|
||||
## Что сделано
|
||||
|
||||
1. **Контракты этапа 7 в INTERFACES.md до кода** (раздел «Полировка:
|
||||
.htaccess, a11y, бюджет веса») + docs/plans/plan-phase-7.md.
|
||||
2. **.htaccess** (apps/web/public/.htaccess → dist): AddType
|
||||
application/wasm, mod_deflate (html/css/js/json/svg), mod_expires
|
||||
(_astro 1 год immutable, html no-cache, прочее 1 час), Options
|
||||
-Indexes, DirectoryIndex index.html. HTTPS-редиректа НЕТ (комментарий
|
||||
с gotcha-https-redirect-proxy). Wiring-тест проверяет директивы в dist.
|
||||
3. **Клавиатура** (/play и go-task): чистый reduceCursor в
|
||||
lib/keyboard.ts (кламп по краям, старт — центр), стрелки/Enter/Space/
|
||||
Escape через существующий reduceInput (фантом → commit, единая
|
||||
семантика с тачем); курсор — квадратный маркер accent через render.
|
||||
4. **A11y**: role="status" aria-live="polite" на статусах партии/задачи/
|
||||
отметки урока; prefers-reduced-motion глушит анимации; :focus-visible
|
||||
outline; контраст посчитан: --text 13.2/11.6, --muted 5.64/4.97 —
|
||||
≥4.5:1, осветление не потребовалось.
|
||||
5. **Отметка «урок пройден»**: markLessonDone в storage.ts (чистая,
|
||||
сохраняет tasksSolved авто-done этапа 6, streak через touchStreak) +
|
||||
кнопка на странице урока.
|
||||
6. **Бюджет веса**: wiring-тест — каждая страница урока ≤300 КБ (самая
|
||||
тяжёлая ~10.3 КБ по формуле контракта, ~42 КБ с транзитивными чанками).
|
||||
7. **Гейты main: 431/431** (+12 keyboard, +4 markLessonDone, +2 wiring),
|
||||
0 lint warnings, astro build PASS, dist 296 КБ. Превью обновлено
|
||||
(version 7f93e64).
|
||||
|
||||
## Инцидент среды
|
||||
|
||||
Финальное сообщение подагента stage-7 не доставлено (alive=0 при
|
||||
посылке), но работа была полностью закоммичена в ветку stage-7 —
|
||||
потерь нет. Правило «коммить всё» сработало как страховка. Независимая
|
||||
проверка гейтов main loop выполнена после мержа.
|
||||
|
||||
## Состояние критериев приёмки v1
|
||||
|
||||
- №1 (тесты движка, суперко, сэки, wiring) — зелёные.
|
||||
- №3 (тайминги) — частично: perf-smoke в packages/ai (ур.1–3 < 200 мс
|
||||
среднее по 20 вызовам 19×19); полная проверка на ноутбуке владельца.
|
||||
- №4 (чистый клон собирается) — проверяется каждым воркрием с нуля.
|
||||
- №2 (партия vs ур.5 до подсчёта) и №5 (мобильный Safari) — ручные,
|
||||
владельцу.
|
||||
|
||||
## Что осталось (этапы 1–7 завершены)
|
||||
|
||||
- Ручная приёмка владельцем (критерии №2, №3, №5).
|
||||
- По желанию владельца: этап 8 (PHP+SQLite синхронизация прогресса,
|
||||
ОПЦИОНАЛЬНО, требует до-триажа раздела V литании) и этап 9 (KataGo
|
||||
ONNX, «этап мечты», не начинать до приёмки 1–7).
|
||||
- Кандидаты на уточнение (через ADR, по жалобам): suggestDeadGroups
|
||||
грубовата; контент v1 (снэпбэк невыразим, тема «сеть» только в тексте,
|
||||
двухглазые авто-ответы иногда тэнуки); метрика веса — только прямые
|
||||
ассеты (уточнить при росте).
|
||||
|
||||
## Подводные камни среды (без изменений)
|
||||
|
||||
Worktree в $HOME; коммитить всё перед делегированием и завершением;
|
||||
контракты inline в задании; prettier на docs; sh без brace expansion;
|
||||
не `git worktree prune`; чистка: remove --force + rm .git/worktrees/<n>.
|
||||
Loading…
Add table
Add a link
Reference in a new issue