13 KiB
13 KiB
Аудит репозитория (2026-10-03, запрос пользователя: «поиск завершён, проверь всё»)
Правила аудита (user):
- Не править документы — только собирать данные об ошибках.
- Проверять аккуратно, по одной карточке/файлу/досье.
- Каждая ошибка — только с подтверждением фактом (команда + вывод, цитата из файла).
- Прогресс фиксируется ниже + в
data/audit/progress.json(машиночитаемый, для возобновления). - После аудита — обсуждение фиксов (НЕ во время аудита).
Фазы
| фаза | объём | статус |
|---|---|---|
| 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 (по чек-листам)
- A1 linter
tools/check-md.py— 0 issues (2026-10-03) - A2 card↔disk — findings A-01, A-02
- A3 disk↔MANIFEST — 0 сирот (все 668 файлов на диске присутствуют в MANIFEST)
- A4 md5-дубли — finding A-03
- A5 INDEX↔card — findings A-04 (+ linter-gap)
- A6 cross-refs — 0 (все «cross-ref secNN #MM» и «see ../NN» резолвятся)
- A7 xref.py — только 2 артефакта-парсера RAW (URL-строки Solms/Alcaro — книги уже закарточены #25/#26); stale ND-строк нет
- A8 ISBN checksum — finding A-05 (9 шт., 2 из них обрезанные в тексте)
- A9 имена файлов — finding A-06 (42 вне канона; сверка с CONTEXT-списком → Phase C)
- 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, никогда не верифицировались по контенту):
01-fundamentals/18-archetypal-psychology-ru-2006.fb2— внутри: Андрей Ильин «Мы из Конторы. Резидент могущественного государства» (шпионский роман, fb2 title-info);01-fundamentals/28-critical-dictionary-ru-1994.epub— внутри: Виктория Токарева «Летающие качели (сборник)»;01-fundamentals/22-transcendent-function-ru-2015.fb2— внутри: Александр Афанасьев (sf_action, a54…);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
- C1: B-01 — 4 «другие книги»: подтвердить identity (title-info уже есть), решить re-source
- C2: B-02 — 76 файлов без карточного покрытия (phaseB-notcards.json): проверить content по item'у + at-a-glance DL-колонки
- C3: A-01 — 14 «в карточке, нет на диске» (sec10 ×11, sec11 #14 ×2, sec12 #16 ×1)
- C4: A-03 — 2 md5-дубля (handbook sec01/sec02, fordham sec08/sec12)
- C5: A-04 — sec07 INDEX: 10 stale File-названий
- 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 и фактом
- C7: B-06 Czaplicka (Shamanism vs Aboriginal Siberia)
- C8: B-07 Arabian Nights (Irwin/Lyons vs Dover Entertainments)
- 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)
- C10: 16 djvu — ручная верификация (precheck/ddjvu или рендер)
- 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 скан)
- 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?)
- C13: A-02 — 39 size-mismatch: подтвердить zip-гипотезу по
.b.fb2(magic bytes) - C14: A-06 — сверить 42 legacy-имени с CONTEXT-списком
Фаза D (досье)
- D1: 278 досье — наличие Wiki anchor (QID) у всех, даты vs anchor
- D2: «Verified RU works» — RU-названия сверить с карточками (консистентность)
- D3: homonym warnings — актуальность