Skip to content

D1.4b: выполнить непубличный pilot extraction второй книги #34

Description

@sunpole

D1.4b — private/non-public raw-extraction pilot

Цель

Проверить extraction contract D1.4a на небольшом безопасном pilot run без публикации полного текста книги, без регистрации нового logical dataset и без изменения текущего runtime.

Исходная точка

  • D1.4a завершён PR docs: complete D1.4a second-book evidence and extraction contract #33, squash merge 24cf1cf13dce580dbf628b05a3c160e1c716fd54.
  • Evidence baseline: 23.8.12.
  • Source PDF: _archive/source-files/Unlocking-Your-Dream-Student-Ma.pdf.
  • Source bytes: 740193.
  • Source SHA-256: edb4127915bf720ee56c96612f825ea4e0ef2f5fc15192a56fb96e5c7ec4745a.
  • Pages: 55.
  • Technical conclusion: direct-text-extraction-viable.
  • Current default dataset remains ru-current-v1.

Обязательные документы

  • docs/SECOND_BOOK_EVIDENCE.md;
  • docs/second-book-evidence.json;
  • docs/SECOND_BOOK_EXTRACTION_CONTRACT.md;
  • docs/TWO_BOOK_ARCHITECTURE.md;
  • WORK_STATUS.md.

Pilot scope

  1. Verify exact source hash and stop on mismatch.
  2. Create a private or otherwise non-public immutable extraction run.
  3. Preserve one UTF-8 output file per physical PDF page.
  4. Create manifest with:
    • run ID;
    • source path/hash/commit;
    • tool name/version/arguments;
    • page hashes and metrics;
    • aggregate hash;
    • warnings and review status.
  5. Use direct extraction as default.
  6. Use limited OCR only for explicitly flagged regions and record it separately.
  7. Create a small reviewed segmentation sample from the beginning, middle and end.
  8. Propose candidate record boundaries, local IDs, page ranges and stable source anchors.
  9. Produce a validation/review report without registering the full dataset.

Жёсткие ограничения

  • не коммитить полный извлечённый текст книги в публичный репозиторий;
  • не изменять исходный PDF или _archive/;
  • не изменять существующие data/ файлы и 4 086 записей;
  • не создавать registered second-book dataset;
  • не менять runtime, PWA, Service Worker, package metadata или versions/;
  • не добавлять selector, combined search или comparison UI;
  • не назначать одинаковые numeric IDs между книгами;
  • не запускать DeepSeek/AI translation;
  • не добавлять API keys или секреты;
  • не утверждать права публикации без сохранённого evidence.

Критерии завершения

  • pilot run имеет immutable ID и manifest;
  • source/page/aggregate hashes воспроизводимы;
  • page boundary сохранена для всех 55 страниц;
  • небольшой segmentation sample прошёл ручную проверку;
  • uncertain boundaries и OCR needs перечислены явно;
  • полный текст не попал в публичный diff, logs, artifacts с публичной публикацией или patchnote;
  • existing data/runtime protected paths не изменены;
  • следующий data-registration этап определён отдельно;
  • Pull Request объединён только после зелёных checks и полного diff review;
  • main/WORK_STATUS.md возвращён в READY.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions