[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:
1 parent
f9a834ed32
commit
832bcf3ea1
3 files changed
+296
-12
No files matched your search
@@ -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]] — волновой лог канонического инстанса
|
||||
|
||||
Reference in new issue
Block a user