jung/AUDIT.md

162 lines
25 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Аудит репозитория (2026-10-03, запрос пользователя: «поиск завершён, проверь всё»)
**Правила аудита (user):**
1. Не править документы — только собирать данные об ошибках.
2. Проверять аккуратно, по одной карточке/файлу/досье.
3. Каждая ошибка — только с подтверждением фактом (команда + вывод, цитата из файла).
4. Прогресс фиксируется ниже + в `data/audit/progress.json` (машиночитаемый, для возобновления).
5. После аудита — обсуждение фиксов (НЕ во время аудита).
## Фазы
| фаза | объём | статус |
|------|-------|--------|
| **A** — структура/согласованность (linter, card↔MANIFEST↔disk parity, md5-дубли, статусы INDEX↔card↔at-a-glance, cross-ref резолвинг, ISBN checksum, xref.py stale) | 1 проход | в работе |
| **B** — контент-верификация ВСЕХ файлов (625): magic bytes + title/author первого листа против книги карточки; флаг SUSPECT → ручное разбирательство | 12 прогонов (по секциям) | очередь |
| **C** — контент карточек (483): факты против доказательств (статус vs evidence, RU/EN-таблицы vs Notes, ISBN, cross-refs, дате-пометки), по одной карточке | 12 прогонов | очередь |
| **D** — досье авторов (~120): Wiki-якоря (QID → даты/имена), RU-имена с источниками, гомоним-предупреждения, list-items таблица vs INDEX'ы всех секций | 1 проход | очередь |
## Прогресс фазы A (по чек-листам)
- [x] A1 linter `tools/check-md.py` — **0 issues** (2026-10-03)
- [x] A2 card↔disk — findings A-01, A-02
- [x] A3 disk↔MANIFEST — **0** сирот (все 668 файлов на диске присутствуют в MANIFEST)
- [x] A4 md5-дубли — finding A-03
- [x] A5 INDEX↔card — findings A-04 (+ linter-gap)
- [x] A6 cross-refs — **0** (все «cross-ref secNN #MM» и «see ../NN» резолвятся)
- [x] A7 xref.py — только 2 артефакта-парсера RAW (URL-строки Solms/Alcaro — книги уже закарточены #25/#26); stale ND-строк нет
- [x] A8 ISBN checksum — finding A-05 (9 шт., 2 из них обрезанные в тексте)
- [x] A9 имена файлов — finding A-06 (42 вне канона; сверка с CONTEXT-списком → Phase C)
- [x] A10 READING-LIST.md — **0** мёртвых ссылок (генератор сам резолвит реальные имена карточек — поэтому A-04 не видно в rootlist)
Итог фазы A: 6 групп findings (A-01…A-06), см. ниже. Машинные данные: `data/audit/phaseA-*.json`.
## Findings (ошибки)
Формат: `A-NN (секция/item, файл) — <ошибка> — ДОКАЗ: <команда/цитата> — severity: high|med|low`
### Фаза A
- **A-01 (high)** — 14 «файлов в карточке, которых нет на диске»: sec10 — 11 (карточки #18×2, #20×2, #25×2, #33×1, #36×4: перечислены по 2–4 издания, на диске меньше), sec11 #14 (14-golden-flower-en-1962.pdf, -en-2001.pdf), sec12 #16 (20-schwartz-salant-narcissizm-ru-2007.pdf — и с чужим номером 20-). ДОКАЗ: `phaseA-a2.json` (A2-missing). → разобрать в Phase C (удалены без апдейта карточки? не существовали?).
- **A-02 (med)** — 39 несовпадений «размер в карточке vs диск >25%», системный паттерн `.b.fb2` (карточка в 2–4 раза меньше файла) — гипотеза: flib «fb2+zip» (файл на диске = ZIP, размер в карточке = внутреннего fb2). Подтвердить magic bytes в Phase B. ДОКАЗ: `phaseA-a2.json` (A2-size), напр. `01-cw6-…-ru-psikh-tipy.b.fb2: card 712 KB vs disk 2.59 MB`.
- **A-03 (high, dedup-нарушение)** — 2 пары md5-идентичных файлов в РАЗНЫХ секциях: `01-fundamentals/25-handbook-jungian-en-routledge-2006.b.pdf` = `02-dreams/38-handbook-jungian-psychology-en-2006.pdf`; `08-developmental/07-fordham-modern-science-vol2-en-1973.pdf` = `12-practical-case/27-fordham-modern-science-en-1973.pdf`. Правило: файл хранится только в первой секции. ДОКАЗ: md5 1066baf0…, 549ff97e… (`phaseA-files.json`).
- **A-04 (med)** — sec07 INDEX: 10 устаревших значений File-колонки (указывают на несуществующие имена): 04-amer-histographic-challenges.md→04-amer-historiographic-challenges.md, 06-brewster-racial-complex.md→06-brewster-the-racial-complex.md, 10-jacobi-complex-archetype-symbol.md→10-jacobi-association-experiment-xref.md, 11-kast-dynamics-of-symbols.md→…-xref.md, 12/13 kast, 18, 23, 26, 27 — см. `phaseA-a569.json` (a5). Статусы при этом согласованы (❌/✅ совпадают). Linter-gap: check-md.py не проверяет существование файлов из INDEX.
- **A-05 (med)** — 9 ISBN с плохим checksum: `5-93866-044-1` (sec02 #17), `0-946439-19-5` ×2 (sec02 #18), `966-7219-51-2` (sec03 #26; префикс 966 = вероятно опечатка 965), `0-06-058331-4` (sec03 #50), `5-89613-003-6` ×2 (sec04 #28 — **известная** опечатка из sec04 sweep, data/isbn-validation.tsv); 2 обрезанных в тексте (978-5-88001-0 sec01 #19, 978-5-908110 sec03 #22) — не ISBN, а фрагменты. → сверить в Phase C с data/isbn-validation.tsv и фактом (Google Books/OL).
- **A-06 (low)** — 42 имени файлов вне канона `NN-slug-lang-edition.ext` (паттерны `.a./.b./.c.` и `…-ru.b.fb2`, `…-ru-2023.b.fb2`); почти все — документированный легаси (CONTEXT.md). Парсер CONTEXT-списка в аудите не сработал — точная сверка → Phase C.
### Фаза B (контент-свип всех 668 файлов, 2026-10-03)
Метод: авто-свип (magic + first-text + title-token score; данные `data/audit/phaseB-*.json`) → ручная триаж. Итог: **444 ok, 123 SUSPECT (триаж ниже), 17 manual (djvu/chm), 84 notitle (= B-02).**
- **B-01 (high)** — 4 файла = **ДРУГАЯ книга** ( RU-свип флибusty/libgen mislink, никогда не верифицировались по контенту):
1. `01-fundamentals/18-archetypal-psychology-ru-2006.fb2` — внутри: **Андрей Ильин «Мы из Конторы. Резидент могущественного государства»** (шпионский роман, fb2 title-info);
2. `01-fundamentals/28-critical-dictionary-ru-1994.epub` — внутри: **Виктория Токарева «Летающие качели (сборник)»**;
3. `01-fundamentals/22-transcendent-function-ru-2015.fb2` — внутри: **Александр Афанасьев** (sf_action, a54…);
4. `01-fundamentals/53-archetype-revisited-ru-2018.fb2` — внутри: **Дмитрий Стрешнев** (detective).
ДОКАЗ: title-info/OPF каждого файла (см. phaseB-suspect-diag.json). → удалить + re-source в Phase C.
- **B-02 (med)** — **76 файлов на диске (+ в MANIFEST) не перечислены в НИНОЙ карточке** (`## Downloads` отсутствует или строки нет): sec09 — 34, sec06 — 16, sec12 — 12, sec10 — 5, sec08/11/05 — по 1. Из них 19 — под ❌-карточками (EN-файлы легитимны, но по CANON должны быть в Downloads; в at-a-glance DL-колонка, возможно, занижена). Linter-gap: parity-проверка срабатывает только при наличии `## Downloads` в карточке. ДОКАЗ: `phaseB-notcards.json`.
- **B-03 (low)** — 4 EN-epub с битым OPF (title «test»/«[No data]»/«VISIT») — **контент настоящий, верифицирован** (page_*.xml): 11-redemption-motifs (✓ «Redemption Motifs in Fairytales»), 17-edinger-god-image (✓ «Transformation of the God-Image»), 10-jacoby-analytic-encounter (✓ «The Analytic Encounter»), 16-krieger-bridges (26 xhtml + 36 jpg — text-check в C). Остался 19-dreams-von-franz-en-shambhala-1998.epub («VISIT | soft») — проверка в C.
- **B-04 (info)** — ~20 image-сканов без OCR-слоя (red-book facsimile, great-mother, suzuki, kerenyi 235 MB, turner, carlat, edinger-ru, center, golden-flower, kandinsky-arhimed, dionis, zolotoy-osel, stevens, dream-psychology, way-of-all-women, myths-dreams-mysteries, gods-greeks, dream-underworld, skazki-grimm-1954, jacoby-1986, freud-a-normality 67B-watermark…). Контент не подтверждается текстом — метод верификации = рендер (pdftoppm) выборочно в C.
- **B-05 (info, false-positive)** — 4 fb2 в windows-1251 (26-taynye-obshestva ×2, 60-mat-ru ×2): контент на месте, title-info с пустыми полями (кириллица в encoding-зависимых тегох) — известная категория «encoding, не порча».
- **B-06 (med, → C)** — `05-ethnology/22-czaplicka-aboriginal-siberia-en.pdf`: внутри «**Shamanism in Siberia**» (Czaplicka 1926) — а в карточке «**Aboriginal Siberia**» (1914). Две РАЗНЫЕ книги. Вердикт: файл не та книга (или карточка ошибочна) — в C.
- **B-07 (med, → C)** — `03-myths/18-arabian-nights-en-vol{1,2,3}.epub`: внутри «**The Arabian Nights: Tales of 1,001 Nights**» (Irwin/Lyons ed.) — в карточке «**Entertainments** (Dover 1969)». Edition-mismatch — в C.
## Прогресс фаз B/C/D
Файл: `data/audit/progress.json` (status per object: pending | ok | flagged).
Findings фаз B/C/D — ниже в этом же файле, секциями.
## Журнал сессий аудита
- **2026-10-03**: старт. Свечной снимок: 483 позиции, 625 файлов, 12 секций FINAL, linter 0,
«без файлов» = 43 позиции. Фаза A запущена (A1 passed).
### Фаза C (покарточная детализация) — WORKLIST
- [x] C1: B-01 — 4 «другие книги»: подтвердить identity (title-info уже есть), решить re-source
- [x] C2: B-02 — 76 файлов без карточного покрытия (phaseB-notcards.json): проверить content по item'у + at-a-glance DL-колонки
- [x] C3: A-01 — 14 «в карточке, нет на диске» (sec10 ×11, sec11 #14 ×2, sec12 #16 ×1)
- [x] C4: A-03 — 2 md5-дубля (handbook sec01/sec02, fordham sec08/sec12)
- [x] C5: A-04 — sec07 INDEX: 10 stale File-названий
- [x] C6: A-05 — 7 реальных bad-checksum ISBN (5-93866-044-1, 0-946439-19-5 ×2, 966-7219-51-2, 0-06-058331-4, 5-89613-003-6 ×2) — сверить с isbn-validation.tsv и фактом
- [x] C7: B-06 Czaplicka (Shamanism vs Aboriginal Siberia)
- [x] C8: B-07 Arabian Nights (Irwin/Lyons vs Dover Entertainments)
- [x] C9: формат-выжимка: .doc ×5 (11-motiv-iskupleniya, 17-dieckmann, 22-yungianskoe-tolkovanie, 27-jung-postjungians, 31-koch-tree-test), .rtf ×2 (16-erikson-ru, 37-bowlby-ru), .lit ×1 (20-durchslag), .chm ×1 (19-psychology-cg-jung)
- [x] C10: 16 djvu — ручная верификация (precheck/ddjvu или рендер)
- [x] C11: рендер-чек сканов с аномалиями: 10-edinger-anatomy (битый OCR), 18-freud-a-normality (Boxoft demo), 30-kandinsky buksmart ×2 (VeryPDF), 66-homeric-gods (stamps), 38-skazki-grimm-2013 (иллюстр. изд.), 10-kosmogonicheskie (плохой OCR), 16-carlat (63 MB скан), 33-center-en-2007 (61 MB скан)
- [x] C12: 19-dreams-von-franz-en-shambhala-1998.epub («VISIT»), 16-krieger-bridges xhtml-text, 42-jacobs-irish azw3 + pdf (рус. учебное изд.), 51-folklore-OT (html-страница?), 41-dzhekobs-skazki (var. названия), 56-onians c/d (фрагменты Cambridge), 12-archetypal-patterns-bonus (другая книга von Franz?)
- [x] C13: A-02 — 39 size-mismatch: подтвердить zip-гипотезу по `.b.fb2` (magic bytes)
- [x] C14: A-06 — сверить 42 legacy-имени с CONTEXT-списком
### Фаза D (досье)
- [ ] D1: 278 досье — наличие Wiki anchor (QID) у всех, даты vs anchor
- [ ] D2: «Verified RU works» — RU-названия сверить с карточками (консистентность)
- [ ] D3: homonym warnings — актуальность
#### Вердикты фазы C (2026-10-04)
- **C1 (B-01)** — подтверждено title-info: Ильин «Мы из Конторы», Токарева «Летающие качели», Афанасьев (sf), Стрешнев (detective). Решать: удалить + re-source (4 RU-издания sec01).
- **C2 (B-02)** — 76/76 контента-верифицированы (58 авто + 18 ручной): все = верные книги своего item'а. ЕДИНСТВЕННАЯ системная проблема = карточки без `## Downloads` (документационный разрыв; linter-gap). Минор: `06#28 28-zimmer-philosophies-en-rkp-1951.pdf` = на деле US-издание Bobbs-Merrill 1952/53 (не RKP 1951) — подпись edition-метки.
- **C3 (A-01)** — ВСЕ 14 объяснены git-историей (commit `bcf2a6d`, sec10 FINAL: «8 фрагментов/превью удалено (14-mbt, 18-1994, 25×3, 36-bktss×4)» + переименования 25-psychosom→25-levenson…). = устаревшие Downloads-строки в карточках после осознанных удалений; данных не потеряно. sec12 #16: в карточке опечатка префикса `20-schwartz-salant…` вместо `16-…` (файлы на месте). Sec10 #36: EN-разрыв реальный (4 превью удалены, целых EN нет) — карточка должна это отражать.
- **C4 (A-03)** — 2 пары = легитимные dedup-нарушения: файл первой секции (sec01 #25 handbook .b.pdf; sec08 #07 fordham vol2) должен остаться, поздняя копия (sec02 #38, sec12 #27) → cross-ref.
- **C5 (A-04)** — sec07 INDEX: 10 stale File-названий подтверждены (rootlist сам резолвит; статусы OK). Исправить только INDEX.
- **C6 (A-05)** — 7 bad-checksum ISBN: `0-06-058331-4` (sec03 #50) = опечатка в карточке (верный check-digit `-3`, 0-06 = HarperCollins ✓); `5-89613-003-6` ×2 (sec04 #28) = известная (sec04 sweep); `5-93866-044-1` (sec02 #17) = так в записи РГБ [642631] (source data bad, math-correct = …044-0); `0-946439-19-5` ×2 (sec02 #18) = ISBN на copyright page Karnac (напечатан невалидный); `966-7219-51-2` (sec03 #26) = префикс 966 не существует (София Гелиос, source bad). → чинить 2 (0-06-058331-3 + 5-89613-003-x сверить с ISBN-валидацией).
- **C7 (B-06)** — ПОДТВЕРЖДЕНО: файл = *Shamanism in Siberia* (Czaplicka 1926, ch. VII-XIII, ~2.4 MB text) ≠ item *Aboriginal Siberia* (1914). → бонус-пометка или re-source.
- **C8 (B-07)** — файлы = «Tales of 1,001 Nights» (Irwin/Lyons 2010) = легитимное EN-издание той же книги (item «Arabian Nights»); в карточке нет EN-строки — документарный разрыв.
- **C9** — 5 .doc (catdoc) ✓ все верные (Франц «Мотив искупления», Дикманн «Методы», Самуэлс «Юнг и постъюнгианцы», «Тест Дерево», юнгианское толкование); 2 .rtf ✓ (Эриксон «Идентичность», Боулби «Создание и разрушение…»); .lit (MSLZ) не извлекается доступными tools, но 2 twin-файла (fb2/mobi) того же item'а = «The Collective Unconscious in the Age of Neuroscience» Durchslag ✓ — .lit с высокой вероятностью тот же текст.
- **C10** — 16 djvu = валидные сканы 218–737 pp БЕЗ OCR-слоя (djvudump). Спот-рендер 4/16 ✓ (Фрейд «Толкование сновидений», Уэст «В темнейшем из мест» ИОИ 2020, Miller «Thou Shalt Not Be Aware», Раддин «Трикстер» Евразия 1999). djvutxt/djvups в этой сборке не дают текст/PNG (только ps/eps) — приём: `djvups -page=N -format=ps` + `gs`.
- **C11** — 8 рендер-чеков: edinger-anatomy (front matter ✓, битый OCR-слой — категория «foreign OCR»), freud-a-normality (ИОИ, предисловие ✓, Boxoft-водяной), homeric-gods («THE HOMERIC GODS» title page ✓), grimm-2013 (иллюстр. изд., «Гусyatница» ✓), kosmogonicheskie (preface Castalia ✓), carlat (copyright: **4th ed. 2017**, не 2012 — метка), center (dedication «For Will and Steve» ✓), kandinsky buksmart (страницы «О духовном…» ✓, VeryPDF-OCR-слой).
- **C12** — 19-dreams-shambhala-1998 ✓ (стр. 1 = marketing «VISIT», book внутри «Dreams» von Franz); 16-krieger-bridges ✓ («Bridges to Consciousness»); 42-jacobs-irish-azw3 = **«Flora, Fauna, and Foul Play» Carolyn L. Dean 2020 — ДРУГАЯ книга (B-08, high)**; 42-jacobs pdf = рус. учебное изд. «Ирландские сказки: книга для чтения на английском» ✓ (бонус); 51-folklore-OT = lib.ru текст «Фрэзер. Фольклор в ветхом завете» (koi8-r) ✓; 41-dzhekobs-skazki = антология Джекобса (англ. сказки на рус.) ✓ var. названия; 56-onians c/d = PART I/II «Origins of European Thought» (Cambridge chapter downloads) ✓ partials; 12-archetypal-patterns-bonus = «Archetypal Patterns in Fairy Tales» (Inner City) — задокументированный бонус (ДРУГАЯ книга vs item Chiron 2021) ✓.
- **C13 (A-02)** — zip-гипотеза НЕ подтверждена: 62 fb2 = настоящие FB2, 7 pdf = настоящие PDF. = **устаревшие значения size в карточках** (39 шт., low) — пересчитать при правке.
- **C14 (A-06)** — нет новых нарушений: drift = документированные `.a./.b./.c.`-варианты (handbook, transcendent-function, shambhala…) + 28 legacy из CONTEXT (имена с точками в середине парсер аудита не выхватывал — не ошибка).
## ИТОГОВЫЙ РЕЕСТР ОШИБОК (для обсуждения исправлений)
**HIGH (контент):**
1. B-01: 4 RU-файла sec01 = другие книги (18-archetypal-psychology, 28-critical-dictionary, 22-transcendent-function-ru, 53-archetype-revisited) — удалить + re-source
2. B-08: 03#42 42-jacobs-irish-azw3 = «Flora, Fauna, and Foul Play» (Dean 2020) — удалить
3. B-06/C7: 05#22 czaplicka-aboriginal-siberia-en.pdf = «Shamanism in Siberia» (другая книга) — бонус или re-source
**MED (структура/документация):**
4. B-02: 76 файлов не перечислены в карточках (## Downloads отсутствует/неполный) — sec09 ×34, sec06 ×16, sec12 ×12, sec10 ×5, проч. ×5; linter-gap
5. A-01/C3: устаревшие Downloads-строки (sec10 #18/#20/#25/#33/#36, sec11 #14, sec12 #16) после удалений/переименований — синхронизировать карточки с диском
6. A-03/C4: 2 md5-дубля cross-section (handbook sec01↔sec02, fordham sec08↔sec12) — dedup-нарушение
7. A-04/C5: sec07 INDEX — 10 stale File-названий
8. A-05/C6: 2 ISBN-опечатки в карточках (0-06-058331-4→-3; 5-89613-003-6 — известная)
**LOW:**
9. A-02/C13: 39 устаревших size в карточках
10. B-03: 4 epub с OPF-title «test» (контент OK)
11. C2-minor: zimmer-rkp-1951 = US 1952/53 (edition-метка); carlat «2012» = 4th ed. 2017
12. B-07/C8: arabian-nights — EN-строки в карточке (Irwin/Lyons ed.)
#### Вердикты фазы D (2026-10-04)
- **D1** — 278 досье: 98 (35%) без строки `**Wiki anchor:**` — но у большинства там НЕТ identity-утверждений (Dates: —). **7 досье утверждают даты БЕЗ QID-якоря** (в тексте — en.wiki, но без формального QID): frey-rohn-liliane [1923-2015], harding-m-esther [1889-1984], henderson-joseph [1930-2024], papadopoulos-renos [1932-2011], rycroft-charles [1947-2018], whitmont-edward [1920-2011], evers-fahey-karen (PhD 2004). → добавить якоря (wd.py, QID есть у всех семерых). Severity: low-med.
- **D2** — «Verified RU works» vs карточки: 89 «несовпадений» = parser-шум (❌-записи, EN-строки в RU-колонке, заметки в ячейках). Галлюцинаций RU-названий НЕ найдено. Отто «Дионис. Миф и культ» = легитимный отдельный item (sec03 #34), карточки взаимно рефят.
- **D3** — homonym warnings: ключевые ловушки на месте (Kast «HOMONYM TRAP», Miller «NOT Ulanov's wife», Neumann «Homonyms on Нойманн search + transliteration traps», Jacobs «W.W. Jacobs = другой автор»). 62 досье с homonym-секциями (legacy-названия «HOMONYM TRAP»/«Омонимы» — допустимо по CANON).
- **Структурное (info):** 68 досье без «## List items» (legacy-формат — item-строка в free-text), 100 без «## Verified RU works» (легитимно: авторы без RU-книг), 235 H1 без дат (большинство — осознанно «—»).
## ФИНАЛЬНАЯ СВОДКА АУДИТА (2026-10-04)
**Прогнано:** 668 файлов (контент-свип + триаж), 483 карточки, 278 досье, 12 MANIFEST, INDEX/SUMMARY/MISSING, 6000+ ISBN/имён файлов, лент-линк, md5, cross-refs, xref.py, linter.
**Реестр ошибок (12 групп):**
| # | sev | суть | кол-во |
|---|-----|------|--------|
| B-01 | **HIGH** | RU-файлы = другие книги (sec01 #18/#22/#28/#53) | 4 файла |
| B-08 | **HIGH** | 42-jacobs azw3 = «Flora, Fauna, and Foul Play» (sec03 #42) | 1 файл |
| B-06 | **HIGH** | czaplicka = «Shamanism in Siberia» ≠ item (sec05 #22) | 1 файл |
| B-02 | MED | 76 файлов не в карточных Downloads (linter-gap) | 76 файлов |
| A-01 | MED | устаревшие Downloads-строки после удалений (git bcf2a6d) | 14 строк |
| A-03 | MED | md5 cross-section дубли (dedup-нарушение) | 2 пары |
| A-04 | MED | sec07 INDEX: stale File-имена | 10 строк |
| A-05 | MED | ISBN-опечатки в карточках | 2 |
| A-02 | LOW | устаревшие size в карточках | 39 |
| B-03 | LOW | OPF-title «test» в 4 epub (контент OK) | 4 файла |
| C2-min | LOW | edition-метки: zimmer US-1952 (не RKP-1951), carlat 4th-2017 (не 2012) | 2 файла |
| B-07 | LOW | arabian-nights EN-строки в карточке (Irwin/Lyons ed.) | 1 карточка |
| D1 | LOW-MED | 7 досье: даты без QID-якоря | 7 досье |
**Чистое (без ошибок):** linter 0, md5-сирот 0, мёртвых линков 0, cross-refs все резолвятся, xref.py чисто, досье без галлюцинаций, ~580/668 файлов = верные книги своего item'а с первого авто-прохода.