[2026-09-27] eagle: personal/plans/music-artist-albumartist-repair.md personal/plans/tagwriter-container.md personal/tech/batch-data-edit-review-loop.md

This commit is contained in:
Alexey Martemyanov committed 2026-09-27 13:33:39 +06:00
1 parent a33383a135
commit c9fd41d660
3 files changed
+168 -5

No files matched your search

@@ -109,6 +109,38 @@ related:
Первая версия имела `COLLAPSIBLE = {"genre","albumartist"}` — `album` ушёл построчно (401 строка
вместо 10). Ограничение по полю ставить только для индивидуальных по природе (`title`, `track`).
### 9. 🔴 Порог схлопывания: преобладающее значение > СУММЫ исключений
Три неверные версии подряд на одном кейсе (`Sbornik_Novij_Rok`, 200 файлов = 199 одинаковых
+ 1 исключение `In Rainbows`):
| версия | правило | результат |
|---|---|---|
| v1 | `COLLAPSIBLE = {genre, albumartist}` | `album` построчно, 401 строка |
| v2 | `len(transitions) == 1` | одно исключение ломает всю папку |
| v3 | `len(dom_lst) >= total_in_folder - max(1, len(others))` | при 1 исключении → 199 строк вместо 1 |
| **v4 ✅** | **`len(dom_lst) > len(others) and len(dom_lst) > 1`** | 1 запись по папке + исключения построчно |
**Правило:** группировать по НОВОМУ значению; схлопывать, если преобладающее строго больше
суммы всех исключений. Исключение, не прошедшее порог, отдельной записи не получает.
### 10. 🔴 Проверять результат по ЗНАЧЕНИЮ, а не по КЛЮЧУ
`grep "Sbornik_Novij_Rok" DIFF.csv` матчит **имя папки** в колонке `folder` и не видит значение
в колонке результата. 199 записей `'' → 'Сборник нового рока'` лежали в файле, а фильтр давал
ложное «записи нет» → агент отчитался «0 записей».
```bash
grep -c "<ключ-папки>" out.csv # где лежит
grep -c "<новое-значение>" out.csv # что теперь стоит
```
### 11. 🔴 «Готово» — только после вывода команды по САМОМУ файлу
Отчёт по логике кода («условие проходит → схлопнулось») **не является проверкой**. Пять
отчётов «готово» подряд были опровергнуты пользователем. Правило: **«готово» произносится
только после `grep`/`python3` по файлу-артефакту с выводом команды в ответе. Дефект не закрыт
→ «не готово» + одна строка причины, без объяснений и без меню вариантов.**
## Связанное
- [[personal/tech/music-tags-repair-truenas]] — волновой лог канонического инстанса