[2026-09-27] eagle: family/how-to/navidrome-truenas-android.md personal/plans/music-artist-albumartist-repair.md
This commit is contained in:
1 parent
b465064943
commit
0bc365a079
2 files changed
+123
-8
No files matched your search
@@ -27,11 +27,14 @@ status: session18-album-306-fixed-new-diff-generated
|
||||
> **СТАТУС СЕССИИ 18 (финал):** Navidrome ✅ развёрнут и работает (см. ниже +
|
||||
> `[[family/how-to/navidrome-truenas-android]]`). Дефект-класс `new_album == cur_album`
|
||||
> вскрыт (6202 строки, 79%), реального мусора **9 папок / 265 треков→306 строк**.
|
||||
> Правила `album` восстановлены из базы Zulip. **Все 306 строк исправлены в `APPLY-PLAN.csv`
|
||||
> (мусора 0 — проверено по файлу). НОВЫЙ дифф `DIFF-new-vs-38-v2.csv` сгенерирован**
|
||||
> (164 album-строки, +12 к старому). Старый `DIFF-new-vs-38.csv` не тронут.
|
||||
> ⚠️ Осталось: `albumartist` для 5 файлов `!Retro`, вычитка диффа Alex, валидатор смысла.
|
||||
> См. §ВОПРОС ПО 3 ПАПКАМ, §СДЕЛАНО: правка 306 строк, §НОВЫЙ ДИФФ.
|
||||
> Правила `album` восстановлены из базы Zulip. **306 строк исправлены в `APPLY-PLAN.csv`**,
|
||||
> затем **ещё 58 строк по 3 дефектам** (склейка артист+год 18, чужой `albumartist` 7,
|
||||
> `album`=название песни 33). Итог по файлу: **скобок 0, `albumartist`-разброс 7→2 папки,
|
||||
> `Green Apelsin` 13 значений→1**. Дифф `DIFF-new-vs-38-v2.csv` сгенерирован (164 album-строки),
|
||||
> но ⏭ **устарел после правки 58 строк — требует перегенерации**.
|
||||
> ⚠️ Открыто: 2 папки с разным `albumartist` (`Ленинград`/`Сергей Шнуров`; `ВИА МЕА`),
|
||||
> вычитка диффа Alex, валидатор смысла.
|
||||
> См. §ПРАВКА 3 ДЕФЕКТОВ, §КАЛИБРОВКА ДЕТЕКТОРОВ, §СДЕЛАНО: правка 306 строк, §НОВЫЙ ДИФФ.
|
||||
|
||||
> **Контекст:** Navidrome поднят и просканировал библиотеку (8043 трека). Alex открыл UI и
|
||||
> спросил: «**Откуда альбомы в скобках взялись?** Типа `Дискотека Авария` — для корня,
|
||||
@@ -403,6 +406,73 @@ APPLY-PLAN.csv.bak-before-2009-04-20260927-134232 {'(Философские)':
|
||||
Построчное наследие `cur_album` — корень дефекта.
|
||||
6. Приёмка: **видно в UI Navidrome**, не read-back ассистента.
|
||||
|
||||
### ✅ ПРАВКА 3 ДЕФЕКТОВ + ЗАКРЫТИЕ `!Retro` (Alex: «Да, походу все так»)
|
||||
|
||||
**Проверка Alex по 4 вопросам:** «Проверить. И скрипт проверь, ничего не грохнет, будет 306
|
||||
точечных правок? Больше ничего не вызывает подозрений — все остальное по правилам?
|
||||
В скобках ничего не осталось? В рамках одной папки всегда один альбом/albumartist?»
|
||||
|
||||
**ОТВЕТЫ (факт):**
|
||||
|
||||
| # | Вопрос | Ответ |
|
||||
|---|---|---|
|
||||
| 1 | `!Retro` albumartist | ✅ **все 51 файл уже имели `Various Artists`** — доставлять нечего |
|
||||
| 2 | Скрипт грохнет что-то? | Нет — правит только строки из жёсткого `JUNK`-набора (12 значений), 2 колонки |
|
||||
| 3 | Скобки остались? | ✅ **0** — по ВСЕМУ плану (7861 строка), не только по правленым |
|
||||
| 4 | Один album/albumartist в папке? | 🔴 **НЕТ** — 96 папок с разными `album`, 7 с разным `albumartist` |
|
||||
|
||||
> 🔑 **`!Retro` — важное наблюдение:** `album` в папке РАЗНЫЙ (`De Luxe collection`, `Опиум`,
|
||||
> `Просвистела`, `Танцевать до утра`) — и это **правильно**, там лежат легитимные альбомы.
|
||||
> Мой фикс заменил только `(Авария)`/`(Вилли Токарев)` → `Retro`. **Не всякий разброс
|
||||
> `album` в папке = дефект.**
|
||||
|
||||
### 🔴 КАЛИБРОВКА ДЕТЕКТОРОВ — первая версия дала МАССУ ложных (метод-урок)
|
||||
|
||||
**Первые детекторы показали: A=1690, B=6033, C=176.** Alex не утверждал этот объём, я сам
|
||||
проверил и **откалибровал** — реальных дефектов оказалось **26 строк**, а не 7899.
|
||||
|
||||
| Детектор | Ложных | Почему ложно |
|
||||
|---|---|---|
|
||||
| A: `album == имя папки` | 1690 | **корень папки артиста → `album` = имя артиста — это ПРАВИЛО Alex**, а подпапка → имя подпапки тоже правило |
|
||||
| B: `albumartist != имя папки` | 6033 | `Пилот/2006 Уходящее лето → 'Илья Чёрт'` — **верно** (лидер группы); `ГрОб → 'Гражданская Оборона'` — верно; `Benassi Bros → 'Benny Benassi'` — верно |
|
||||
| C: `album == title` | 176 | **одноимённые альбомы** (`Малыш и Карлсон`, `Ария/Вавилон`) — легитимно |
|
||||
|
||||
> 🔴 **МЕТОД-УРОК (систематический):** детектор по **форме** значения (совпадение с именем
|
||||
> папки / отсутствие в справочнике / равенство другому полю) даёт тысячи ложных. Прежде чем
|
||||
> называть класс дефектом — проверять, **не является ли совпадение следствием правила Alex**
|
||||
> и **не ложно ли срабатывание на легитимных данных** (фиты, лидеры групп, одноимённые альбомы).
|
||||
> **Ср. сессия 17:** «`album == title` → 149 попаданий, реальных 0».
|
||||
|
||||
### ✅ ИСПРАВЛЕНО 58 ПРАВОК (скрипт `/tmp/fix_3defects.py`)
|
||||
|
||||
| Класс | Строк | Что |
|
||||
|---|---:|---|
|
||||
| **A** `album` = склейка артист+год | **18** | `Птаха - Красивые, богатые (2009)` → `Красивые, богатые`; `Земфира (2000)` → `Земфира`; `Infected Mushroom Vs. The Prodigy - Supervized Firestarter (Gljiva Funmix)` → `Supervized Firestarter (Gljiva Funmix)` |
|
||||
| **B** `albumartist` = чужой артист | **7** | `DJ Feel`→`The Prodigy`; `КняZz`→`Король и Шут`; `ДА и Меньшиков`→`Дискотека Авария`; `Мика Ньютон`→`Потап и Настя Каменских`; `Бумер`→`Ленинград`; `50 Cent`/`50 Cent, Eminem, Ca$his`→`Eminem` ×2 |
|
||||
| **C** `album` = название песни (`Green Apelsin`) | **33** | 13 разных значений → **`Северный ветер`** (albumartist папки) |
|
||||
|
||||
**ПРОВЕРКА ФАКТОМ ПОСЛЕ ПРАВКИ:**
|
||||
|
||||
```
|
||||
new_album начинается со скобки: 306 → 0
|
||||
Папок с разными new_albumartist: 7 → 2
|
||||
Green Apelsin: album значений 13 → 1 ('Северный ветер')
|
||||
```
|
||||
|
||||
### ⚠️ ОСТАЛОСЬ 2 ПАПКИ С РАЗНЫМ `albumartist` (ждут решения Alex)
|
||||
|
||||
| Папка | Значения | Вопрос |
|
||||
|---|---|---|
|
||||
| `z Другое.../Ленинград` | `Ленинград` ×4, **`Сергей Шнуров`** ×1 | ставить `Ленинград`? |
|
||||
| `z Другое.../Enigma.../Ленинград` (корень) | **`ВИА МЕА`** ×1, `Красная Плесень` ×2 | что с `ВИА МЕА`? |
|
||||
|
||||
**Также осталось:** 11 «склеек» — **ложные** (`NONSONS - zvezda` = имя папки артиста, верно).
|
||||
|
||||
### ⏭ НЕ СДЕЛАНО: перегенерация диффа после правки 3 дефектов
|
||||
|
||||
`DIFF-new-vs-38-v2.csv` сгенерирован **ДО** правки 58 строк. **План изменился — дифф устарел,
|
||||
требует перегенерации** (`python3 ~/Downloads/music-tags/diff_new_vs_38_v2.py`).
|
||||
|
||||
### ✅ Артефакты сессии 18
|
||||
|
||||
| Файл | Что |
|
||||
@@ -417,6 +487,13 @@ APPLY-PLAN.csv.bak-before-2009-04-20260927-134232 {'(Философские)':
|
||||
| `~/Downloads/music-tags/diff_new_vs_38_v2.py` | скрипт нового диффа |
|
||||
| `~/Downloads/music-tags/DIFF-new-vs-38.csv` | **НЕ ТРОНУТ** (прямое указание Alex) |
|
||||
| `/tmp/fix_album_306.py` | применение финальных правил к плану |
|
||||
| `/tmp/full_check.py` | проверка 4 вопросов Alex (скобки, albumartist в папке) |
|
||||
| `/tmp/find_3defects.py` | первая версия детекторов 3 дефектов (**дала ложные**) |
|
||||
| `/tmp/find_3calibrated.py` | ✅ **откалиброванные** детекторы — рабочий вариант |
|
||||
| `/tmp/detail_multi.py` | папки с разными `album`/`albumartist` |
|
||||
| `/tmp/fix_3defects.py` | ✅ **правка 58 строк** (3 дефекта) |
|
||||
| `/tmp/verify_3fix.py` | проверка после правки 3 дефектов |
|
||||
| `APPLY-PLAN.csv.bak-before-3defects-20260927-173855` | бэкап плана до правки 3 дефектов |
|
||||
| `/tmp/find_filosof_value.py` | проверка по 40+ бэкапам: было ли `Философские` |
|
||||
| `/tmp/report_kept_album.py` | группировка папка → значение → count |
|
||||
| `/tmp/report_all_junk_folders.py` | классификация папок (МУСОР/СМЕШАННАЯ/OK) |
|
||||
|
||||
Reference in new issue
Block a user