[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:48:51 +06:00
1 parent f9a834ed32
commit 832bcf3ea1
3 files changed
+296 -12

No files matched your search

+37 -1
View File
@@ -1,7 +1,7 @@
---
title: Batch Data Edits with Human Review Loop (skill mirror)
created: '2026-09-26'
updated: '2026-09-26'
updated: '2026-09-27'
type: tech
namespace: personal
tags:
@@ -177,6 +177,42 @@ grep -c "<новое-значение>" out.csv # что теперь стоит
рекурсивно тем же правилом. **Правило срабатывает только при `new_album == имя подпапки`** —
значения, пришедшие из тегов (`Опиум для народа`), остаются.
### 16. 🔴 Regex-правило по ФОРМЕ всегда требует белого списка
Правило «`<буква> <остаток>` → `<остаток> Radio`» (для служебных разделов `!Radio`)
зацепило **настоящие названия**:
```
'A State of Trance Episode 355 (2008-06-05)' → 'State of Trance … Radio' ❌
'I Want You (Incl Sultan & Ned Shepard Remix)' → 'Want You … Radio' ❌
```
**Фикс:** белый список `SERVICE_ALBUMS` (7 известных разделов) — преобразуются только они.
**Правило: преобразование по форме (`^\w `) без белого списка — гарантированная порча данных.**
### 17. 🔴 Ведущий `!` в `album` недопустим — это маркер папки, не название
`!rock_o_pop` ×31, `!Классика` ×15, `!Retro` ×107, `!ZabuGor` ×8 просочились из имён папок.
Служебный префикс `!` (и подобные) должен сниматься. **Проверка: `Counter(new_album)` —
значений, начинающихся с `!`, быть не должно.**
### 18. Правило формата `album` для служебных разделов (выведено Alex)
| Форма | Правило | Пример |
|---|---|---|
| `<буква> <остаток>` | `<остаток> Radio` | `y OOF` → `OOF Radio` |
| `<число> <остаток>` | `RADIO <число> <остаток>` | `1 DRIVE` → `RADIO 1 DRIVE` |
| `<буква> YYYY-MM …` | срезать букву | `t 2009-07 c6Or_NICK` → `2009-07 c6Or_NICK` |
| `<дата>` (после срезки) | `<дата> Radio` | `2008-04` → `2008-04 Radio` |
Именованные исключения задаются Alex вручную (`!ZabuGor`→`Pop - ZabuGor`,
`Rammstein`→`Rammstein - misc`). **Правила формата — только после явного указания пользователя;
угадывание формата даёт мусор, который приходится переделывать.**
### 19. 🔴 Отчёт «готово» с ложным «ничего» — проверять состояние, прежде чем отрицать
На вопрос «что изменено?» агент ответил «ничего», потому что не сделал правку в текущем ходе.
Худший вариант — **«готово» при отсутствии изменений**. Перед словом «готово» обязательна
команда, доказывающая факт изменения (`md5` до/после, счётчик).
## Связанное
- [[personal/tech/music-tags-repair-truenas]] — волновой лог канонического инстанса