diff --git a/personal/projects/balda/balda-mattermost-connector.md b/personal/projects/balda/balda-mattermost-connector.md index 9040b614..5a66cea6 100644 --- a/personal/projects/balda/balda-mattermost-connector.md +++ b/personal/projects/balda/balda-mattermost-connector.md @@ -1,9 +1,11 @@ # Balda — Mattermost коннектор (архитектура) -> Создано 2026-09-26. Обновлено 2026-09-26 (сессия PR-подготовки). -> Статус: **✅ ЗАКРЫТА — ВСЕ QUALITY GATES ПРОЙДЕНЫ** (код `004fda2f`). -> 🟡 **Сессия PR-подготовки:** добавлены тесты транспорта, документация, -> починены 2 дефекта в коде. Остаток — линтер + коммит. Детали — +> Создано 2026-09-26. Обновлено 2026-09-26 (сессия PR-подготовки, завершена). +> Статус: **✅ ГОТОВО К PR — 6 коммитов, все гейты зелёные.** +> 🟢 **Сессия PR-подготовки завершена:** починены 2 дефекта **в коде** (идемпотентный +> `MattermostSubject`; `ProgressPolicy.Typing`), написаны 6 файлов тестов (~90 тестов) +> на транспорт + хендлер, обновлены README / `docs/balda.md` и создан `docs/mattermost.md`. +> `golangci-lint` = 0 issues, `go-arch-lint` = OK. Детали и коммиты — > [[personal/plans/balda-mm-pr-plan]]. > Часть проекта [[personal/projects/balda/balda-mm-delegation-plan]] (Фаза 2). > Требование Alex: поддержка **всех** функций Балды, по новым API, production-качество. diff --git a/personal/tech/music-tags-repair-truenas.md b/personal/tech/music-tags-repair-truenas.md index 90a44080..48515a46 100644 --- a/personal/tech/music-tags-repair-truenas.md +++ b/personal/tech/music-tags-repair-truenas.md @@ -18,9 +18,36 @@ related: --- # Music Tags Repair — TrueNAS (7906 файлов) -> **Статус: ЭТАПЫ 1–2 ЗАВЕРШЕНЫ (2026-09-26), затем ПЕРЕДЕЛАНЫ после замечаний Alex. CSV v2 передан на проверку. Правки файлов НЕ начаты.** +> **Статус: ЭТАПЫ 1–2 ЗАВЕРШЕНЫ (2026-09-26), затем ПЕРЕДЕЛАНЫ после замечаний Alex. CSV v2 передан. Документы ревью залиты в vault и синкнуты. Правки файлов НЕ начаты.** > Следующий шаг — апрув Alex по CSV, затем бэкап + применение. +## 📋 ДОКУМЕНТЫ РЕВЬЮ В VAULT (2026-09-26) + +CSV отдан не только файлом, но и **читаемыми нотами в Obsidian** — по просьбе Alex. + +**Путь:** `personal/plans/music-tags-review/` + +| Файл | Содержимое | +|---|---| +| `music-tags-review.md` | **Обзор** — сводка, ссылки на три блока | +| `1-needs-decision.md` | **Требует решения** (9 файлов) — исполнителя взять неоткуда | +| `2-medium-confidence.md` | **Средняя уверенность** (2611) — из имён файлов и папок | +| `3-high-confidence.md` | **Высокая уверенность** (2341) — точная перекодировка | + +**Формат (запрос Alex):** порядок от «требует решения» к «высокая уверенность», +каждый файл = чекбокс `- [ ] **имя.mp3**` + подпункты `field: старое → новое` + источник. +Внутри блока — группировка по папке с оглавлением-ссылками наверху. + +**Генератор:** `render_grouped_doc.py` (Mac, `~/Developer/personal-os/tools/music-tags/`). + +**Синк:** `bash ~/scripts/sync-vault.sh` → `Pushed ✓`, коммит `14e9f570`. +Проверено в bare repo: `git ls-tree -r HEAD | grep music-tags` → 4 файла на месте. + +> ⚠️ Блоки 2 и 3 — по 730–780 КБ, 5000+ строк. Obsidian открывает, но скролл тяжёлый. +> Облегчение — оглавление по папкам в начале каждого файла (клик → прыжок к разделу). +> Если Alex попросит — разбить по категориям на отдельные файлы. + + ## 🔴 ПЕРЕДЕЛКА ЭТАПА 1–2 (2026-09-26, после замечаний Alex) Alex отклонил первую версию CSV: **«А чё за probe failed на большинстве? Походу ты чего-то не доделал. ДДТ — город без окон — явная хуйня предложена. Ты бы хоть постеснялся не проверив мне файл сувать!»** @@ -354,6 +381,8 @@ if cyr < 2: # одна буква — совпадение | `check_ddt_album.py` | Печатает **полный набор сырых тегов** файлов по маске — для проверки «баг скрипта vs так в файле» | | `diagnose_probe_failures.py` | Анализ заголовков файлов, упавших в `probe_failed`: ID3-версия, `hdr_ok`, размеры | | `test_encoding_guard.py` | **32 регресс-теста.** Защита от порчи корректного UTF-8 (`Björk`, `Saint-Saëns`, `Noël`) + `split_artist_title` | +| `test_plan2.py` | **Регресс-тесты v2.** Включая отказ сплита на event-именах (`НАШЕСТВИЕ 2009 - ДЕНЬ ВТОРОЙ` остаётся целиком в title) | +| `render_grouped_doc.py` | **Генератор нот для Obsidian.** CSV → 3 блока по уверенности + обзор, группировка по папкам, чекбоксы, оглавление | | Артефакт | Где | Что | |---|---|---|