Files
md-to-html/docs/progress.md
T
2026-04-18 11:38:11 +03:00

47 lines
4.0 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.
# Прогресс миграции Python → Go
Источник истины по статусу фаз. Обновляется после каждого завершённого шага.
- Общий план: [plan-go-migration.md](plan-go-migration.md)
- Универсальный промпт для запуска фазы: [execute-phase-prompt.md](execute-phase-prompt.md)
## Статус
| # | Фаза | Статус | Начата | Завершена | Commit/PR | Заметки |
|----|------------------------------------------------------|--------------|------------|------------|-----------|---------|
| 0 | [Архивирование Python](phases/phase-0-archive.md) | ✅ done | 2026-04-18 | 2026-04-18 | 425eae7 | |
| 1 | [Go-скелет](phases/phase-1-skeleton.md) | ✅ done | 2026-04-18 | 2026-04-18 | 6b8d588 | |
| 2 | [Converter (goldmark)](phases/phase-2-converter.md) | 🔄 in_progress | 2026-04-18 | — | — | |
| 3 | [HTTP-сервер](phases/phase-3-server.md) | ⏳ pending | — | — | — | |
| 4 | [UI на templUI](phases/phase-4-ui.md) | ⏳ pending | — | — | — | |
| 5 | [CLI-подкоманда](phases/phase-5-cli.md) | ⏳ pending | — | — | — | |
| 6 | [Docker + CI](phases/phase-6-docker-ci.md) | ⏳ pending | — | — | — | |
| 7 | [Документация + v0.2.0](phases/phase-7-docs.md) | ⏳ pending | — | — | — | |
Легенда статусов:
-`pending` — не начата
- 🔄 `in_progress` — в работе
-`done` — завершена, acceptance criteria выполнены
- ⚠️ `blocked` — заблокирована, см. заметки
## Инварианты между фазами
- `git status` чист перед началом каждой фазы.
- Каждая фаза завершается отдельным commit в `main` (или PR с мёрджем). Сообщение в формате `phaseN: <краткое описание>`.
- Acceptance criteria фазы проверяются до смены статуса на `done`.
- Любое отклонение от плана документируется в колонке «Заметки» с ссылкой на commit.
## Лог ключевых решений (ADR lite)
| Дата | Решение | Обоснование |
|------------|---------|-------------|
| 2026-04-18 | Goldmark + chroma inline + extension.Footnote + кастомный anchor-extender | См. `plan-go-migration.md` §11 |
| 2026-04-18 | ASCII-транслит id заголовков через `mozillazg/go-unidecode` | Решение пользователя (round-1) |
| 2026-04-18 | One-shot preview/download с UUIDv4 + TTL 1 ч | Решение пользователя (round-1) |
| 2026-04-18 | GitHub-style prefix-anchor (`<a>` как первый child `<h>`), не wrap-anchor | Закрытие F-01 round-3 — избегаем nested `<a>` |
| 2026-04-18 | `extractHeadingText` walker вместо deprecated `BaseNode.Text(src)` | Закрытие F-02 round-3 |
| 2026-04-18 | `<iframe sandbox srcdoc>` без `allow-same-origin` вместо `bluemonday` для inline preview | Меньше зависимостей, полная изоляция |
| 2026-04-18 | `POST /convert` сохраняется (не `/api/convert`), UI-форма на `POST /ui/convert` | Паритет API-контракта |
| 2026-04-18 | `html.WithUnsafe()` выключен; `parser.WithAttribute()` выключен | Безопасность + паритет |
| 2026-04-18 | Tailwind standalone binary в Docker (без Node) | Упрощение multi-stage build |