diff --git a/AGENTS.md b/AGENTS.md index a9524de..b0b4734 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -82,8 +82,28 @@ sections/0N-/ # one .md per BOOK (chapter-level list items are merged int **Migration DONE 2026-09-21** (219/219 cards, `tools/migrate_cards_v3.py`, linter `tools/check-md.py` = 0 issues; Downloads tables rebuilt from MANIFESTs; sec04 #22 = ES section). New cards (sec05+) start on v3. -- **UNIFIED FORMAT — PENDING DISCUSSION (after cards):** SUMMARY (4 layouts), INDEX (3), - MANIFEST (3), MISSING (4), dossiers (10+ header variants, «Round N» append logs). +- **Section file CANONS v1 (agreed 2026-09-21, migration in order: MANIFEST → INDEX → MISSING → SUMMARY → dossiers):** + **SUMMARY.md:** H1 `# Section NN — : summary ()` → `## Final counts` (одна строка: + статусы + файлы) → `## Publication status at a glance` (ОБЯЗАТЕЛЬНЫЙ, колонки `# | EN book | EN ISBN + | RU book | RU ISBN | DL EN | DL RU` + totals-строка + legend ✅/⚠/❌) → `## Authors — EN → RU` + (col `item(s) | EN author | RU name | verified via`) → `## Notes` (датированные append). + Запрещено: «Table N»-нумерация, «Table 2 — Books» (дубль карточек), ISBN-validation-таблицы + (данные в data/isbn-validation.tsv, строка-ссылка). + **INDEX.md:** одна таблица `| # | Group | EN title | Author(s) | Status | File |` (Group = A.1/B.1, + нет подгрупп → `—`; Status = только маркер; File = имя карточки). + **MANIFEST.md** (`downloads/NN-/`): H1 `# Downloads — Section NN — FINAL ` → + `## Totals` (N files, X GB, RU/EN split) → `## Files (per item)`: на каждый item `### NN — + — <status>` + таблица `| file | size | source | verify |` (source: lg f/… | flib b/… | ia <item>) + → `## Not downloadable (verified <date>)` таблица `| item | reason |` → `## Cross-section` → `## Notes`. + **MISSING.md:** H1 → `## ❌ (N)` → на каждый `### NN — <EN title> (<author>)` + 1–3 строки evidence + (каталоги 0, verified date) — `### NN` = ЯКОРЬ для gate-строк карточек (`gate: MISSING.md §NN`) + → `## 🔶 (N)` → `## Re-probes` (датированные append). + **Dossiers** (`authors/*.md`): H1 `# <Lastname, Firstname> [<dates>]` → bold-поля `**Dates:** / + **Field / identity:** / **RU name (canonical):** / **RU name (candidates):**` → `## List items + (ISAP Zurich)` таблица `| sec | # | title | status |` → `## Verified RU works` таблица + `| RU title | EN original | publisher, year | ISBN |` → `## Homonym warnings` (ЕДИНОЕ название, + legacy-варианты: «Homonym warning (date)», «Homonyms / notes», «Омонимы») → `## Notes` (датированные + append; legacy «Round N» логи сюда). Запрещено: `**EN identity:**` отдельно, `**Dossier status:**`. - **TODO (later, after 4 sections in order):** `tools/liart.py` — search for opac.liart.ru (РГБИ): platform «Библика» (api.bibliosearch.ru/bs.min.js), search goes via JS `simpleSearch()`, endpoint not yet probed; until then — SearXNG `site:opac.liart.ru <author>` only.