[2026-09-27] eagle: personal/plans/tagwriter-container.md personal/tech/id3-tag-repair.md

This commit is contained in:
Alexey Martemyanov committed 2026-09-27 12:58:14 +06:00
1 parent 6912c41874
commit c75721bebb
2 files changed
+153 -16

No files matched your search

+44 -1
View File
@@ -1,7 +1,7 @@
---
title: ID3 Tag Repair — техника и питфоллы
created: '2026-09-26'
updated: '2026-09-26'
updated: '2026-09-27'
type: tech
namespace: personal
tags:
@@ -315,6 +315,49 @@ archive/APPLY-PLAN-v0-*.csv — устаревшие версии
Суффикс `2` в имени файла-плана — источник ошибок: непонятно, какой применять. Один файл
без суффикса, остальные явно помечены. Перед переименованием — `tar czf` снимок каталога.
### 🔴 W17 — аудит по ОДНОМУ полю пропускает записи, где это поле уже верное
Детектор искал `new_artist == 'Сказочный сборник'` и дал 15 файлов. В папке их **17**:
`Филипок.mp3` (`artist='Л.Н. Толстой'` ✓) и `Маленький_Мук.mp3` (`artist='Вильгельм Гауф'` ✓) —
артист корректен, а дефект в **соседнем поле** (`album='Сказочный сборник'` / `'Skazochnyj sbornik'`).
**Правило: класс дефекта проверять по ВСЕМ полям группы, а не по одной колонке-триггеру.**
Нашлось только при сверке списка файлов с содержимым папки на диске.
### 🔴 W18 — «есть латиница в поле» ≠ транслит-мусор
Класс `new_album` со словами в латинице: **2729 сегментов**, из них настоящий мусор — единицы.
`Absolution` (Muse), `Sehnsucht` (Rammstein), `The Marshall Mathers LP` (Eminem),
`Mein Lieber Tanz` — **законные названия**. Дефект — только транслит **русских** слов:
```
Sbornik_Novij_Rok 200 → Сборник нового рока
Russkie narodnye skazki 3 → Русские народные сказки
Skazochnyj sbornik 1 → Сказочный сборник
```
🔴 **Фильтр должен определять язык-источник, а не факт наличия латинских букв.**
Отдельно спорна группа «разделы диска» (`!rock_o_pop`, `1 DRIVE`, `3 SHANSON`, `5 POPSA`,
`2 ALT,PUNK`, `4 INSTRUMENTAL`) — это имена папок, протёкшие в `album`, но решение за Alex.
### 🔴 W19 — латинские буквы-двойники внутри русских слов
`Айбoлит.mp3` — `o` **латинская** в середине слова. Матчинг по basename ломается молча
(файл просто «не найден»). При точечных правках по списку имён файлов — сверять побайтово.
Родственный случай из §«W15»: `ДжаниRадари`, `Сосунkillaz`, `Света Колiбаба` — рукописная
транслитерация 2000-х, **это НЕ дефект** (см. «Что НЕ является багом»).
### 🔴 W20 — решения человека фиксировать сразу, не переспрашивать
Alex дал ответы на все четыре вопроса аудита сразу и дословно:
«**Иоганн Себастьян Бах**» / «**единообразно. albumartist - сказки. artist - реальный автор**».
Дальнейшие уточнения («какую цифру выбрать?») вызвали раздражение: «**какую нахуй цифру! правь**».
**Правило: когда решение озвучено — работать с ним немедленно.** Предлагать меню допустимо
только там, где данных реально нет ни в файлах, ни в путях (пример: автор сказки
«Как муравей домой добирался» — найден как **Виталий Бианки**, потому что источник
в файле отсутствовал).
## ⚪ Что НЕ является багом
- **Рукописная транслитерация:** `КняZz`, `EMINЭM`, `Flёur`, `изBESTняк`, `Скаzки`, `Глюкоzа`,