# Jung Reading List → Russian Editions: Research Notes ## Goal For every book in the ISAP Zurich reading list (https://isapzurich.com/en/library/reading-list), find the **Russian edition(s)**: correct Russian title, publisher, year, translator, ISBN, libgen download page (if exists), and РГБ (RSL) bibliographic record (if exists). We work **section by section**. Current: **Section 04 — Pictures** (`sections/04-pictures/`). Sections 1–3, 5–7 are skeletons for later. ## Repository layout ``` AGENTS.md # this file — plan, conventions, source status CONTEXT.md # misc findings that fit no other category tools/ # search helpers (lg.py, rsl.py, sx.sh) authors/ # one dossier per author (created on demand) sections/0N-/ # one .md per BOOK (chapter-level list items are merged into the book file) ``` ## Conventions - **One file per book**, named `NN-.md` (NN = order in the reading list). - **Status marker** at top of each book file: - `⬜ not searched yet` - `🔎 searching in progress` - `✅ 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). - **Author dossiers** (`authors/-.md`) hold: EN identity (3–5 flagship EN titles, dates), RU surname candidates (all plausible transliterations, German names often have several: Нойманн/Нойман/Нейманн), verified RU works with EN mapping, homonym warnings. - **Commit per completed book** (or when meaningful author info is gained), message like: `sec04: — `. - Update `CONTEXT.md` for anything useful that fits no category. ## Sources and their status (verified 2026) ### 1. РГБ (Russian State Library) via libgen.vg biblioservice — PRIMARY for existence + editions - Tool: `tools/rsl.py "Full Name"` (JSON, polite, 3s between pages) - Raw URL: `https://libgen.vg/biblioservice.php?value=&type=rsl&format=json` - Rich records: title parts, **author with life dates** `[1905-1960]` (great identity anchor), translator, publisher, city, year, pages, ISBN, series, UDC tags, even TOC field. - **Limitations:** no pagination (fixed first page) → always query by **full first+last name** for people, or 2–3 distinctive words. Loose matching (searches author AND title fields). - Other `type=` values on this mirror are **dead**: worldcat, googlebooks, isbndb, udc (all return "Nothing found" even for control queries). `type=isbn` only decodes ISBN structure. ### 2. libgen.vg full-text search — PRIMARY for readable editions - Tool: `tools/lg.py "query"` (whole words only, res=100, prints pagination hint) - Raw URL: `https://libgen.vg/index.php?req=&res=100` - **Requires a browser User-Agent** (otherwise nginx default page / robot block). - **Search semantics (verified):** whole-word, case-insensitive. Stems do NOT work reliably (`происхожден` → 0 hits; full `Происхождение` → many). Multi-word = AND. → Use **full inflected words** (nominative, as stored in titles) and 2–3 distinctive words. - Author search works (`req=Нойманн`) but pulls homonyms — filter by first name in results. - Pagination: `&page=N` works. - Edition page: `https://libgen.vg/edition.php?id=`. ### 3. cogito-shop.com — current Russian trade (Jungian/psychoanalysis specialists) - URL: `https://cogito-shop.com/search/?q=` (param is **q**, not query) - Matches author AND title. Good for "is it sellable now in RU". ### 4. SearXNG (local) — cross-verification - Tool: `tools/sx.sh "query"` (JSON API at http://localhost:8888; the web_search tool blocks localhost) - Use to verify RU↔EN title pairing in a third party's words, resolve transliterations. - Keep queries ≤ 3–4 words; «…» quotes only on distinctive RU titles. Unstable relevance — drop junk queries, don't retry blindly. ### 5. ru.wikipedia / en.wikipedia — author dossiers - ru-wiki articles often have «…на русском» sections listing actual RU titles. - en-wiki for the EN bibliography (identity anchor: 3–5 flagship titles). ### 6. livelib.ru author pages — all RU works of a known author - e.g. `livelib.ru/author/-` lists every RU edition (server-rendered, scrapable). - Author ID: find via SearXNG `site:livelib.ru `. The /search page is JS-only (nope). ### 7. cogito-shop person pages — shop stock per author - `cogito-shop.com/person/_/` (transliterated, first-name first, e.g. `/person/mariya_luiza_fon_frants/`, `/person/yaffe_aniela/`). - Slug discoverable from the shop's search page (results contain person links) or guessable. - Lists every edition the shop carries (title variants!). Product pages lack full metadata in HTML (JS-rendered) — use RSL/livelib for publisher/year/ISBN. ### 8. GNB SPb (State Public Library of St. Petersburg) catalog — SECONDARY bibliographic source - URL: `https://www.gbs.spb.ru/ru/search/detail/?id=` (rich GOST records: title, responsible parties incl. translators, publisher w/ full legal names, year, pages, ISBN, notes like «Др. кн. авт.») - **Complements RSL:** RSL (RGB) misses some small-press editions (e.g. Pattis-Zhoya «Аборты…» Т8/ЦГИ 2017 is in GBS but NOT in RSL). Query via SearXNG `site:gbs.spb.ru `. ### 9. chitai-gorod.ru / ozon / labirint — trade retail pages - chitai-gorod author pages list RU works (some noise); product pages give publisher/year/ISBN. - labirint.ru/books/ server-rendered w/ full specs (publisher, year, pages, ISBN, translator). - Ozon product pages: blocked from curl (redirect loop) — fetch_content also fails; use browser. #### 10. flibusta.su — big e-book library, server-rendered search - Search: `https://flibusta.su/booksearch/?ask=` (param is **ask**, not query!) HTML parsing: links `/book/-` and `/author/-`. - API endpoints are blocked on .su (api/search.php → 403, /jsonrpc → 404); flibusta.is unreachable. - Good for negative verification: author search returns all same-name authors (e.g. «Нойманн» → 5 namesakes, no Эрих; «Амманн» → Кит/Даниэль, no Рут; «Паттис» → only С. Паттисон). - Verified 2026-07-09: no «Выявляющий образ», no «Число и время» (Franz), no «Сэндплей» titles, no «Тайный мир рисунка» (Furth), no «Тест Дерево», no «Искусство и творческое бессознательное». ### 11. Open Library — the "English RSL" (author works lists, full names, ISBNs) - Tool: `tools/ol.py "author:Lastname, First"` or `tools/ol.py 'title:"Exact EN Title"'` - `openlibrary.org/search.json?q=...&fields=title,author_name,publish_year,language,publisher,isbn` - No key, no rate limits observed (1s between calls is polite). Aggregates all editions of a work into one doc. **Best use: resolve full EN author names from initial-only list entries** (`title:"..."` → author_name) and get the EN works list + ISBNs to feed Google Books. - **NO RU editions indexed** (language=rus → 0 for known RU books) — RU hunting stays with RSL/libgen/flibusta/GBS SPb. ### 12. Wikidata — identity anchors (life dates + OFFICIAL RU name) - Tool: `tools/wd.py "Full Name"` - `wbsearchentities` + `wbgetentities`: QID, P569/P570 (birth/death), EN/DE/RU labels, RU aliases. The RU label is the single most reliable spelling for RSL/libgen queries. - Only useful for Wikipedia-scale names (Jung, Neumann, Kandinsky, Jaffé, …); niche authors are absent — fall back to OL title search or publisher pages. ### 13. archive.org — EN original texts (content verification) - `archive.org/advancedsearch.php?q=title:("...")&output=json` (metadata); direct file downloads work (`/download//`). OCR `_text.pdf` variants → pdftotext. - Used to verify the 4-essay match for Neumann «Сборник статей» (item in.ernet.dli.2015.139225). ### 14. Google Books — via fetch_content only (API is 429 without key) - `fetch_content https://books.google.com/books?vid=ISBN` → authoritative publisher metadata: full author/editor names, edition, series. Resolved Ottmann=Klaus, Goldstein=Ralph, Brutsche=Paul, Elder=George, Moon=Beverly, Killick=Katherine, Pennington/Staples, Rowland=Susan, Bolander=Karen, Acton=Mary via this or OL. ### 15. Shop directory (HSE bookshelf34 pattern) — where RU psychoanalytic books are sold - HSE «Книжный шкаф» (hse.ru/ma/therapy/bookshelfNN) = a DIRECTORY of shops, not a book list: NikBook (nikbook.ru — WBS shop, `?q=` search is fuzzy/works), Когито-Центр, **Скифия** (skifiabook.ru — publisher/shop, JS catalog, has a full price list download), marketplaces. - NikBook Jungian finds (2026-07-09): Тоцци «Активное воображение в теории, практике и обучении», Конгер «Юнг и Райх. Тело как Тень», Эдингер «Библия и психе». - beta2alpha.ru — RU publisher (Tilda site; sells via Ozon seller beta-2-alpha); Jungian stock TBC. ### 16. Publisher sites — RU full texts and bibliographies - hi-human.org (Living Human Heritage RU) — publishes book forewords/sections as pages (source of the Neumann EN-works list with RU titles). - castalia.ru / castaliasilvasacra.ru (Клуб Касталия) — author articles + shop. - daimon-verlag.ch / chironpublications.com / spring-publications.com — EN Jungian presses (spring-publications unreachable from this box; use Google Books ISBN instead). ### 17. alib.ru — RU/KZ book marketplace, 3.2M listings (used + new, incl. small press) - Tool: `tools/alib.py "query"` (stem search! matches all inflections — unlike libgen). - Endpoint: `https://www.alib.ru/find3.php4?tfind=`; **query and pages are CP1251** (utf8 → mojibake). Phrase mode: double quotes. Also: author-first, year range, ISBN digits, price range. `>Купить<` links = listing count. - Value: catches small-press / out-of-print editions shops don't carry (found: Furth 2nd ed. 2014, Turner handbook 2015, Neumann КДУ/Маниф/Питер editions). Seller titles can be wrong — verify against RSL before trusting (e.g. «Челокес и миф» Kastaalia 2018 — not in castalia.ru catalog → seller error). - Also: alib.top (Ukraine), 33ob.ru (vinyl), amarka.ru (stamps) — sister sites. ### 18. Local CRW renderer (fastcrw.com, Firecrawl-compatible, localhost:3000) - Tool: `tools/crw.py [--html] [--wait N ms]` — POST /v1/scrape {"url","formats":["markdown"]} - Use for JS-heavy sites curl can't read (soznanie.ast-academy.ru festival site rendered fine). - Limits: Ozon and chitai-gorod search are API/anti-bot protected — CRW returns nothing. - Insales shops (castalia.ru) don't need it: product data is server-side JSON-LD (curl OK). ## Not usable / low value - libgen biblioservice worldcat/googlebooks/isbndb/udc (broken on this mirror) - imaton.com (МААП educational publisher, not translations) - bookmate.com (403 bot protection), gtmarket.ru (JS app, no HTML content) - other libgen mirrors (libgen.lol → error page; .vg works with browser UA) ## Identity check protocol (MANDATORY before trusting a hit) 1. **Life dates** in RSL author field (e.g. `Нойманн, Эрих [1905-1960]`). 2. **EN↔RU cross-mapping:** the found person's *other* RU books must map to known EN titles (e.g. found «Страх феминного» + «Любовь и Душа» → EN *Feminine* + *Love and its Opposites* → same Erich Neumann). 3. **Co-publisher signature:** known translation pipelines (Vakler/Рефл-бук 1990s, Касталия, Прайм-Еврознак, АСТ/ЭКСМО, Питер «Мастера психологии»). 4. **Content spot-check** of the actual target title (open edition page / TOC) when equating an RU title with an EN title that sounds different (e.g. *The Archetypal World of Henry Moore* ⇄ «Искусство и творческое бессознательное» — verify it is about Moore). 5. **Homonym rejection:** different first name / field / era → reject or mark ambiguous (trap found: Верена Каст ≠ Вернер Каст; «Каст» search returns Verena Kast books). ## Workflow (per section) — v2 (2026-07-09) **Phase 0 — Full names + identity** (`authors/`): 1. Resolve every initial-only author to a full EN name: `tools/ol.py 'title:"EN Title"'` (author_name) → else `tools/wd.py` (QID + RU label) → else Google Books ISBN page → else publisher/review page. Record in `sections//AUTHORS-EN.md` (EN full name, RU name to query, name source). 2. For big names: `wd.py` gives life dates + the OFFICIAL RU label (best RSL spelling). 3. Build the transliteration matrix per author (2–3 variants: Нойманн/Нойман, Кох/Коч, Калфф/Кальфф, Ферс/Фёрт) — run every query with ALL variants. **Phase 1 — Author sweep (EN→RU):** per author: `rsl.py " "` → `lg.py ""` → `cogito q=` → `flibusta ?ask=` → livelib/chitai-gorod author page. Apply identity check. Fill author dossier. **Phase 2 — Title-gap sweep** for still-unmatched books: `rsl.py ""` (check author field!), `lg.py` 2–3 whole-word title combos, cogito, flibusta by RU title, GBS SPb via SearXNG `site:gbs.spb.ru`. **Phase 2b — Publisher sweep (RU→EN, reverse direction):** per Jungian RU publisher/imprint (Касталия, hi-human/Living Human Heritage, ЦГИ/Т8, Когито, Фантом Пресс, Азбука, Серебряные нити, Питер, Ваклер, Добросвет, Деметра, НикБук, Скифия, beta2alpha, Эксмо/АСТ психология): enumerate the full Jungian catalog (site search or RSL **series** queries: «Юнгианская психология», «Библиотека аналитической психологии», «Классики зарубежной психологии») → map every title to an EN original → backfill both missing items and future sections. This catches books author queries can never hit (generic titles like «Сборник статей», reworked titles). **Phase 2c — Community reading lists (oracles):** ISAP Zurich, HSE (hse.ru/ma/therapy), МИСП, Jung Institute Moscow, education-psy.ru sandplay list, carljung.ru, koob.ru — these explicitly state which books have RU editions (or lack them). Scrape each, diff vs our ❌ list. **Phase 3 — Content verification (for suspicious candidates):** when an RU title's mapping to an EN title is not obvious, verify 1:1 against the EN original: archive.org OCR text (TOC / editorial note) vs RU essay/chapter list (koob/livelib/preview). Example: Neumann «Сборник статей» = Art and the Creative Unconscious: Four Essays (4/4 essay match). **Phase 4 — Edition collection:** ALL editions from ALL sources (title variants!), full metadata (publisher/year/pages/translator/ISBN) — prefer RSL/GBS SPb records (GOST) over shop data. **Phase 5 — Book notes + commits** (one commit per completed book or meaningful author gain). Negatives gate (before ❌): author sweep (RSL + libgen + cogito + flibusta) + one title-level SearXNG + livelib author page + one shop/retail check. Log every RU query in MISSING.md. Special cases: - **Jung's CW volumes:** translated and widely available — don't deep-search; note the RU volume for the item (CW15 = «Дух в человеке, искусстве и литературе», Харвест 2003; Red Book = «Красная книга (Liber Novus)», Касталия 2025, trans. О. Комков). - **Essays/chapters** (e.g. Jaffé in *Man and his Symbols*): mark 🔶 if only the parent book/anthology is available in RU. ## Politeness - ~4s between libgen requests, ~3s between RSL pages, ~2s between shop requests. - All tools cache nothing by default; reruns are fine but avoid duplicate queries in a batch.