[2026-09-27] eagle: personal/plans/music-artist-albumartist-repair.md personal/tech/id3-tag-repair.md

This commit is contained in:
Alexey Martemyanov committed 2026-09-27 14:29:22 +06:00
1 parent c4e44ac277
commit 1d75d3f519
2 files changed
+180 -4

No files matched your search

+35 -1
View File
@@ -23,8 +23,12 @@ related:
> Зеркало скилла `id3-tag-repair` (категория `media`, `~/.hermes/hermes-whale/skills/media/id3-tag-repair/`).
> Скилл — для исполнения, этот док — для контекста проекта и истории.
>
> ⚠️ **Скилл обновлён до v1.3.0** — добавлены правила **D1–D6** (слой диффа планов,
> ⚠️ **Скилл обновлён до v1.4.0** — добавлены правила **D1–D6** (слой диффа планов,
> раздел «🔵 Слой ДИФФА планов» ниже). Полные формулировки — в `SKILL.md` скилла.
>
> ⚠️ **Обновлён до v1.5.0 (сессия 11):** правила **D9** (порядок блоков: монотонность ≠
> читаемость) и **D10** (служебные секции полноты в хвосте диффа). См. тот же раздел,
> а также `personal/plans/music-artist-albumartist-repair.md` § «🔷 СЕССИЯ 11».
## 📁 Артефакты проекта
@@ -359,6 +363,36 @@ z Другое…/C.Шнуров - Бумер (2003) 19 → Сергей
Реакция Alex (со «стоп»): «**красную плесень в красную плесень - виа меа в виа меа -
не объединять корень Другого в альбом**».
### 🔴 D9 — «отсортировано?» по агрегату пропускает нечитаемый порядок блоков
`data == sorted(data)` по кортежу целиком даёт `True` для `DIFF-new-vs-38.csv`, хотя файл
состоит из **13 field-run блоков**, а не 4: секции `ПАПКА` и `ТРЕК` сортируются **независимо**
(`key=(fkey(field), folder…)`), `scope` в ключ не входит → `album` из `ТРЕК` идёт сразу за
`track` из `ПАПКА`, визуально «album → albumartist → genre → снова album».
```
ПАПКА: album → albumartist → artist → genre → track
ТРЕК: album → albumartist → artist → genre → title → track
```
Агрегированный `Counter(field)` показывает 4 «блока» и прячет 9 из 13 переходов. Одна папка
встречается до 5 раз, не подряд.
**Правило:** для отчёта о структуре выводить **явный список границ блоков** (`prev != cur` →
новая строка) с номерами строк, а не агрегат по `Counter`. Монотонность ≠ читаемость.
См. `personal/plans/music-artist-albumartist-repair.md` § «🔷 СЕССИЯ 11».
### 🔴 D10 — секции полноты в хвосте диффа читаются как мусор
`НЕТ-В-38` (41) + `ТОЛЬКО-В-38` (85) идут после правок и выглядят как сломанный хвост файла.
`ТОЛЬКО-В-38` — это **неизменённые** файлы: `.ogg` 40, `.m4a` 26, `.wma` 16, `.flac` 1, `.mp3` 2
— ровно форматы, которые ID3-писатель не трогает. Это отчёт покрытия, а не правки.
**Правило:** служебные секции полноты выносить в отдельный файл, либо явно помечать шапкой
«НЕ ПРАВКИ — контроль покрытия». Иначе человек, читающий дифф сверху вниз, принимает их за
дефект.
### 🔴 A6 — разнобой написания серии + технические суффиксы в `album`
Один релиз жил в четырёх написаниях, плюс `(CD1)`/`(CD2)` в значении: