[2026-09-27] eagle: personal/plans/music-artist-albumartist-repair.md personal/plans/tagwriter-container.md personal/tech/music-tags-repair-truenas.md
This commit is contained in:
1 parent
412fca65ae
commit
9394c23cb0
3 files changed
+180
-32
No files matched your search
@@ -42,22 +42,33 @@ related:
|
||||
> - ✅ `genre-plan-FINAL.csv` — 7861 стр, **65 уникальных жанра** (было 154), **0 пустых**,
|
||||
> мойибаке `Psy Årance` → `Psy-Trance` (29 файлов, `Å`/`Е` — латиница vs кириллица)
|
||||
>
|
||||
> ### ✅ ОБНОВЛЕНИЕ 2026-09-27 (вечер) — ПЛАН ЗАКРЫТ, СКРИПТ ГОТОВ, ЖДЁТ «GO»
|
||||
> ### ✅ ОБНОВЛЕНИЕ 2026-09-27 (вечер, v11) — 🔴 КОЛОНКА `track` БЫЛА ПОТЕРЯНА И ВОССТАНОВЛЕНА
|
||||
>
|
||||
> | Шаг | Факт |
|
||||
> |---|---|
|
||||
> | `APPLY-PLAN-FINAL.csv` | ✅ 7861 стр, 7628 изменений, **все 5 полей заполнены** (title/artist/albumartist/album/genre) |
|
||||
> | `album` дозаполнен по папке | ✅ 452 → **0 пустых** |
|
||||
> | `APPLY-PLAN-FINAL.csv` | ✅ 7861 стр, 7628 изменений, **16 колонок** (было 14) |
|
||||
> | 🔴 **Колонка `track`** | **БЫЛА ПОТЕРЯНА** при сведении (Alex: «У нас же были трек номера в csv?») → **восстановлена: 6432 из 7861** |
|
||||
> | Все поля заполнены | ✅ title · artist · albumartist · album · genre · **track** |
|
||||
> | Валидация | ✅ дубли 0 · спам 0 · мойибаке 0 · пустых 0 · class↔albumartist 0 |
|
||||
> | Бэкап | ✅ `backup/` **7861 MP3**, сверка по относительным путям **1:1** (0 расхождений) |
|
||||
> | `cur_*` | ✅ **не сломаны** — 1 расхождение = пробел в `genre` |
|
||||
> | Скрипт `apply_tags_v2.py` | ✅ написан, 4 дефекта v1 закрыты; **⚠️ ПОСЛЕ ПОЛНОЙ ПЕРЕПРОВЕРКИ исправлено ещё 6 дефектов** (🔴 `TRCK` стирался безвозвратно · `changed=no` перезаписывались · нет защиты пути · docstring врал); тесты 5+3 файла `MISMATCH=0` + «ДО/ПОСЛЕ» на 9-фреймовом файле (`TRCK` сохранён, потеряно 0 фреймов) |
|
||||
> | 🔴 Дальше | **ЖДЁТ «go» ОТ ALEX** — массовый `--apply --verify` по 7861. ⚠️ Перед прогоном вернуть 8 тестовых файлов из бэкапа |
|
||||
> | Скрипт `apply_tags_v2.py` | ✅ **v11**: 4 дефекта v1 + 6 дефектов перечитывания (🔴 `TRCK` стирался · `changed=no` перезаписывались · нет защиты пути · docstring врал) + `TRCK` в `FIELD_MAP`/`_frames()` + **`_self_check()` инвариант** |
|
||||
> | Тесты | ✅ 5 файлов · 3 файла · 1 файл (`TRCK='9'` записан) — везде `MISMATCH=0`; «ДО/ПОСЛЕ» на 9-фреймовом файле: потеряно 0 фреймов |
|
||||
> | 8 тестовых файлов | ✅ **возвращены из бэкапа** (подтверждено снимком: `TIT2='Рецидивист.'`, `TCON='Поп'`) |
|
||||
> | 🔴 Дальше | **ЖДЁТ «go» ОТ ALEX** — массовый `--apply --verify` по 7861. Все тесты откачены, файлы в исходном состоянии |
|
||||
>
|
||||
> 🔴 **ГЛАВНОЕ ПРАВИЛО СЕССИИ:** «управляемый» набор фреймов = РОВНО набор записываемых.
|
||||
> `TRCK` стоял на **удаление**, но отсутствовал в `_frames()` **и в CSV** → номер трека исчез бы
|
||||
> у всех 7861 файла без возможности восстановления. Инвариант:
|
||||
> `assert sorted(_managed_frame_ids()) == sorted(fid for _,fid,_ in FIELD_MAP)`.
|
||||
> **Ловушка не проявляется в тестах** (`delall` + нет `add` = тихая потеря, не ошибка) —
|
||||
> находится только **построчным перечитыванием списков «что трогаем»**.
|
||||
> Детали → [[personal/plans/music-artist-albumartist-repair]] и [[personal/plans/tagwriter-container]].
|
||||
>
|
||||
> Питфоллы сессии: `cur_*` ≠ `new_*` в отчётах · `/storage/Music` не существует на хосте (только
|
||||
> `/mnt/RED_2TB/storage/Music`, в контейнере `/storage` ro) · инлайн-python через ssh ломается на
|
||||
> кавычках · tirith блокирует кириллицу вплотную к ASCII.
|
||||
> Детали → [[personal/plans/music-artist-albumartist-repair]] и [[personal/plans/tagwriter-container]].
|
||||
> кавычках · tirith блокирует кириллицу вплотную к ASCII · субагенту **явно запрещать** создавать
|
||||
> файлы (писал в корень vault).
|
||||
|
||||
> ## ✅ ТРИДЦАТЬ ВОСЬМАЯ ВОЛНА (2026-09-26) — ФИНАЛЬНЫЙ АУДИТ + 4 ПРАВКИ + ПРИМЕНЕНИЕ НА NAS
|
||||
>
|
||||
|
||||
Reference in new issue
Block a user