diff --git a/AGENTS.md b/AGENTS.md index 7d04e05..0b41994 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -735,9 +735,12 @@ unbuffered logs; ads.php throttle → pause, don't hammer. ## Dedup rules (user, 2026-09-25) — КАЖДАЯ КНИГА ИЩЕТСЯ/СКАЧИВАЕТСЯ ОДИН РАЗ - **Book level:** `data/MASTER-LIST.md` (генерируется `tools/xref.py --write`) — все 12 секций, - каноническая карточка + «Also listed in». Перед новой секцией: `python3 tools/xref.py --write` - и работать по её NEW/xref-меткам (xref-строка в карточке = cross-ref, поиск НЕ проводится). - RAW новой секции кладётся в sections/0N/RAW.md (или data/isap-raw/), xref.py подхватывает автоматически. + каноническая карточка + «Also listed in». Триггеры: (1) разово уже сделано 2026-09-25 (карта + для scope-решения 07–12); (2) **в начале каждой новой секции** — `python3 tools/xref.py --write` + и работать по её NEW/xref-меткам (raw↔raw-метки уточняются против карточек пред. секции); + (3) **в конце секции** (после даунлоудов) — plain `python3 tools/xref.py` = stale-line-чек + манифестов (см. правило ниже). RAW новой секции кладётся в sections/0N/RAW.md (или + data/isap-raw/), xref.py подхватывает автоматически. Скрипт локальный, ~1 c. - **File level:** файл хранится ТОЛЬКО в первой секции, где книга появилась; поздние секции — cross-ref «secNN: » в MANIFEST/карточке. 2026-09-25: 17 md5-дублей удалено (`tools/dedup_files.py`), в каждом MANIFEST — датированная Notes-строка.