go-learn/docs/plans/plan-phase-10.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

3.4 KiB
Raw Blame History

План этапа 10 — дизайн-перенос (Kimi WebSites → каркас Astro)

Дата: 2026-08-06. Ветка интеграции: main.

Контекст

Пользователь получил от Kimi WebSites переносной пакет дизайна («васи + гобан», светлая тема, индиго + терракота). Эталон распакован и сохранён в docs/design/kimi-export/. Задача — натянуть дизайн на существующий каркас, не трогая логику, контент, API и тесты.

Контракт: docs/INTERFACES.md, раздел «Дизайн-перенос (этап 10)» — токены (с 3 правками контраста), каркас Layout, тема доски, изображения, паттерны страниц, критерии приёмки.

Стадии

Стадия 0 (оркестратор, сделано)

  • Распаковка пакета, сжатие изображений в apps/web/public/assets/ (hero 53КБ / ink 118КБ / stones 24КБ).
  • Эталон в docs/design/kimi-export/, контракт в INTERFACES.md.

Стадия 1 — параллельные кодеры (3 ветки)

  • design-a (фундамент): Layout.astro (глобальные стили = адаптация kimi-export/style.css + правила [hidden]/go-task, шапка/подвал/проп section/мобильное меню/шрифты), packages/board render.ts DEFAULT_THEME → светлая, index.astro (hero+features+ink-band+home-strip). Файлы: apps/web/src/layouts/Layout.astro, packages/board/src/render.ts, apps/web/src/pages/index.astro, при необходимости apps/web/src/ui/strings.ts (только новые строки главной).
  • design-b (контентные страницы): learn.astro, learn/[id].astro, tsumego.astro, progress.astro — разметка по паттернам контракта, логика/id/data-атрибуты не меняются.
  • design-c (страницы приложения): play.astro, account.astro, register.astro, password-reset.astro — то же правило.

Пересечений по файлам нет (Layout только у A). Общий API — проп section Layout, описан в контракте.

Стадия 2 — интеграция (оркестратор)

  • Слияние веток в main, разрешение конфликтов.
  • Гейты, точечные правки (wiring/тема-тесты).
  • Проверка веса страниц dist и контраста.
  • Сборка dist → /mnt/agents/output/app, НОВАЯ версия превью (website_version_manager) — старая рабочая версия остаётся для сравнения.

Стадия 3 — ритуал закрытия

  • PROJECT_STATE.md (0.3.0), отчёт session-10, docs(sync) коммит, zip.

Риски

  • Слияние: Layout меняет только A — конфликтов не ожидается; strings.ts могут трогать A и B — B не трогает strings (правило в брифе).
  • Контраст исправлен на уровне токенов — регрессий быть не должно.
  • Вес главной: hero 53КБ + CSS/JS — в бюджете.