From 7189a219f3d5a458f857679cb98c83942eb7365b Mon Sep 17 00:00:00 2001 From: Dmitry Kokorin Date: Mon, 21 Sep 2026 10:47:15 +0300 Subject: [PATCH] =?UTF-8?q?AGENTS.md:=20book=20card=20CANON=20v3=20(langua?= =?UTF-8?q?ge-symmetric=20Editions=E2=80=94=20+=20Downloads=20+=20Ca?= =?UTF-8?q?talog=20records,=20compact=20=E2=9D=8C=20gate,=20placeholder=20?= =?UTF-8?q?bans);=20TODO=20liart=20OPAC=20tool;=20pending=20.md=20unificat?= =?UTF-8?q?ion=20markers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 56 insertions(+), 3 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index bf504f5..d6e29c3 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -30,9 +30,62 @@ sections/0N-/ # one .md per BOOK (chapter-level list items are merged int - `✅ RU edition(s) found` - `🔶 partial` (e.g. only an essay/chapter available in RU) - `❌ no RU edition found (verified)` -- **Book file contents:** human-readable editions table + raw **RSL JSON** block + - libgen edition URLs (`https://libgen.vg/edition.php?id=...` — contains download links; - direct file links rotate, don't store them) + notes (identity check, RU↔EN title pairing source). +- **Book card CANON v3 (agreed 2026-09-21; mandatory for new cards, sec05+ from day one):** + ```markdown + # () + + **Author(s):** [dates] + **Shelf mark:** + **Section:** + **Original:** <язык оригинала, изд., год — только если ≠ языка списка (ES/DE/…)> + **Status:** <✅ | 🔶 | ❌> — <одна фраза: «RU 4 изд.» / «essay only» / «no RU (verified )»> + + ## Editions — EN ← язык списка; несколько строк = несколько изданий + + | Title / edition | Publisher | Year | Pages | ISBN | Notes | + |-----------------|-----------|------|-------|------|-------| + + ## Editions — RU ← тот же формат + колонка Translator + + | RU title | Publisher | Year | Pages | Translator | ISBN | + |----------|-----------|------|-------|------------|------| + *(нет: одна строка `— нет (verified , gate: MISSING.md §NN)`)* + + ## Editions — ES ← только если есть изд./оригинал на 3-м языке + + ## Downloads ← только если есть файлы; симметрично по языкам + + | lang | file | size | source | + |------|------|------|--------| + | EN | NN-…-en-.pdf | 64 MB | lg f/… | ← source: lg f/ | flib b/ | ia + | RU | NN-…-ru-.fb2 | 4.4 MB | flib b/… | + + ## Catalog records + + РГБ: rsl.py "": [id] ; [id2] … + РНБ: ✓ 3 (только если sweep трогал; добавления — с данными) + МГУ: ✓ 1 / GBS: ✗ 0 / flib: a/ (N книг) + EN refs: OL (N ed., ISBNs ✓ isbnval) · Google Books 200 · ia: + *(❌-карточка — ОДИН compact gate: `РГБ 0 · НРБ 0 · МГУ 0 · flib 0 (verified , gate: MISSING.md §NN)`)* + + ## Notes + + - <идентичность, identity-check, cross-refs на досье/секции; датированные append: «2026-09-20: …»> + ``` + Rules: (a) Editions-секции симметричны по языкам, порядок: язык списка → RU → прочие; + (b) ISBN только в таблицах (из шапки убрано поле EN ISBN); (c) пустые секции не пишутся; + (d) ЗАПРЕЩЕНЫ плейсхолдеры: `// not searched yet`, `(empty)`, дубли `## Notes`; + (e) `## Libgen` более нет (был асимметричным); файлы ≠ издания (3 файла одного изд. = 3 строки); + (f) EN-каталогами: полные записи не ведутся (WorldCat мёртв) — строка `EN refs` по данным + isbnval/OL/ia; (g) ✅-карточка: РГБ обязателен + ≥1 второй каталог если sweep его трогал; + (h) старое поле Status-формулировок: единая «маркер + одна фраза». + Migration of 219 legacy cards + linter `tools/check-md.py` — PLANNED (после секций 05–07 стартуют + на v3; legacy мигрируется скриптом ~80%). +- **UNIFIED FORMAT — PENDING DISCUSSION (after cards):** SUMMARY (4 layouts), INDEX (3), + MANIFEST (3), MISSING (4), dossiers (10+ header variants, «Round N» append logs). +- **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 ` only. - **Author dossiers** (`authors/-.md`) are the **CANONICAL** home for identity, shared across ALL sections (same author can appear in 01, 04, …). One dossier per PERSON, slug `-` (lowercase, hyphens). Hold: dates, RU name candidates