56 / DOCUMENT PARSING · OCR · MULTIMODAL EXTRACTION / KNOWLEDGE-RESEARCH ENGINE
56 / SPECIALIZED / BYTES → STRUCTURE → EVIDENCE-READY DOCUMENT

DOCUMENT PARSING
/ OCR / MULTIMODAL EXTRACTION.

Document Parsing / OCR / Multimodal Extraction — слой, который превращает PDF, DOCX, HTML, сканы, изображения, таблицы и сложные документы в структурированное представление, пригодное для поиска, RAG, evidence mapping, downstream extraction и повторной обработки.

Главный принцип: не начинать с OCR или vision-модели. Сначала использовать самый дешёвый и точный нативный parser; OCR включать только там, где текст действительно недоступен; multimodal extraction — там, где смысл находится в layout, таблице, диаграмме или изображении, а не только в текстовом слое.
00. ARCHITECTURAL STATUS

СПЕЦИАЛИЗИРОВАННЫЙ СЛОЙ, КОТОРЫЙ НЕ НУЖЕН ДЛЯ КАЖДОГО SOURCE

Если source уже отдаёт чистый JSON/text, отдельный parsing engine не нужен. Если knowledge corpus состоит из PDF, сканов, офисных документов, презентаций или визуально сложных файлов — parsing становится самостоятельной capability внутри Knowledge / Research Engine.
TYPESPECIALIZEDDocument understanding pre-processing.
DEFAULTCONDITIONALТолько для документов/мультимодальных источников.
ENABLE WHENRAW DOCUMENTSPDF/DOCX/HTML/scans/images/tables/slides.
SEPARATE COMPONENTYESOwn pipeline/version/quality contract.
LIVES INR06Knowledge / Research Engine.
COMPLEXITYLOW → HIGHNative parser first; OCR/vision escalate.
IMPLEMENT: IF DOCUMENTS MATTER
Минимум 80% ценности: MIME/type detection, native extraction, page/block metadata, fallback OCR only for image-only pages, table preservation, image references, canonical Document IR, parser versioning, extraction confidence/quality flags и regression corpus. Отдельный LLM-agent не нужен: parsing is pipeline; multimodal model подключается точечно.
01A. ARCHITECTURE BOUNDARIES & OPERATIONS

EXPLICIT SYSTEM CONTRACT

A. BOUNDARY WITH NEIGHBORS

№55 Data Ingestion & Sync доставляет source object/blob и отслеживает его версию; №56 извлекает структуру/контент из конкретной версии документа. №08 RAG ищет по уже подготовленным chunks/index; №56 создаёт material для indexing. №25 Evidence-First использует page/block refs как evidence; №56 обеспечивает адресуемость. №60 Artifact Store хранит raw/derived blobs; №56 создаёт derived artifacts. №61 Provenance углубляет lineage. №73 Multimodal AI отвечает за model-level reasoning по нескольким модальностям во время task; №56 — преимущественно ingestion-time extraction/normalization.

B. PREREQUISITES / CROSS-REFERENCES

Prerequisites: №08 RAG, №25 Evidence-First, №46 Observability, №50 Contracts, №53 Sandbox при недоверенных converters, №55 Ingestion & Sync. Forward references: №60 Artifact Store, №61 Provenance, №66 Vector DB/Embeddings, №67 GraphRAG, №73 Multimodal AI.

C. PLANE PLACEMENT

REQUEST-TIME: иногда — ad hoc uploaded document. CONTROL PLANE: parser profiles, supported types, model/runtime versions, thresholds. DATA PLANE: bytes/pages/blocks/tables/images/Document IR. OFFLINE: основной режим — ingestion, reprocessing, quality benchmarks, regression corpus.

D. FAILURE & OPERATIONS CONTRACT

Success: raw document → versioned structured IR with stable page/block refs and acceptable quality. Retryable: transient worker/model/converter failure. Permanent: corrupt/unsupported/encrypted-without-key file, deterministic parser failure. Partial: document may be usable with failed pages/tables marked. Idempotency: same source hash + parser profile/version → reproducible derived version. Persist: source hash, parser/OCR/model version, block refs, page image refs, quality flags, failures. Trace: route → stages → output.

E. WHAT THIS TOPIC DOES NOT OWN

№56 не владеет recurring sync, vector search, embedding storage, downstream question answering, general vision reasoning, source permissions или artifact storage engine. Она владеет RAW DOCUMENT → STRUCTURED, ADDRESSABLE, QUALITY-ANNOTATED DOCUMENT REPRESENTATION.

01. DOCUMENT IS NOT TEXT

ПЛОСКАЯ СТРОКА УНИЧТОЖАЕТ СЛИШКОМ МНОГО СМЫСЛА

TEXT

Characters

Фактический текстовый слой.

LAYOUT

Geometry

Page, columns, boxes, reading order, coordinates.

STRUCTURE

Hierarchy

Headings, sections, lists, footnotes, captions.

TABLES

Relations

Rows, columns, merged cells, headers, units.

IMAGES

Visual evidence

Charts, diagrams, screenshots, photos, formulas.

PAGE REF

Citation address

Где именно находится evidence.

METADATA

Document facts

Title, author, timestamps, file properties, language.

PROVENANCE

Origin

Source object, version, parser profile, transformation chain.

Если выбросить page boundaries, table structure и source coordinates на первом этапе, downstream RAG уже не сможет «догадаться», откуда они были.
02. EXTRACTION ROUTER

СНАЧАЛА ОПРЕДЕЛИТЬ, КАКОЙ ПУТЬ ДЕШЕВЛЕ И НАДЁЖНЕЕ

INPUT TYPE
NATIVE PARSE
OCR
LAYOUT
VISION / MM
DEFAULT ROUTE
DOCX / HTML
YES
NO
as needed
rare
Native structure first.
Digital PDF
YES
NO initially
YES
selective
Text + layout extraction.
Scanned PDF
weak/none
YES
YES
for complex regions
Page image → OCR/layout.
Image
NO
if text
region detection
if visual meaning
Task-dependent.
Chart / diagram
little
labels only
YES
YES
Multimodal extraction.
OCR — fallback для pixels-to-text, а не универсальный parser. Если PDF уже содержит хороший text layer, повторный OCR обычно дороже и может ухудшить точность.
03. MASTER PIPELINE

DETECT → PARSE → FALLBACK → NORMALIZE → VALIDATE

RAW ARTIFACTSource ref + bytes/hash + metadata.
DETECTMIME, file type, pages, encryption, text availability.
ROUTENative / layout / OCR / multimodal / hybrid.
EXTRACTText, blocks, tables, images, metadata.
NORMALIZECanonical Document IR.
QUALITYCoverage, reading order, table/text checks, flags.
PERSISTIR + refs + parser versions + artifacts.
DERIVEChunk/index/embed downstream.
Parsing pipeline должен быть re-runnable. Raw/source artifact сохраняется отдельно, чтобы новый parser profile можно было применить без повторного скачивания source.
04. PRE-FLIGHT

ПЕРЕД PARSING ПРОВЕРИТЬ ФАЙЛ

TYPE

Real format

Не доверять только filename extension. Проверять MIME/signature/container.

SIZE

Resource budget

Bytes, page count, dimensions, archive expansion, object count.

ENCRYPTION

Readable?

Encrypted/password-protected files получают explicit status.

TEXT LAYER

Native first

Есть ли извлекаемый текст и насколько он правдоподобен.

LANGUAGE

Hint

Language/script metadata помогает OCR и downstream normalization.

SECURITY

Untrusted document

Converters/parsers для недоверенных файлов желательно запускать в ограниченном execution environment.

05. NATIVE PARSING

ПЕРВЫЙ ВЫБОР ДЛЯ DIGITAL-BORN DOCUMENTS

PDF TEXT

Text objects

Извлечь glyph/text blocks, coordinates, fonts/size hints, page number.

DOCX

Document XML

Paragraphs, heading styles, tables, lists, relationships, images.

HTML

DOM

Semantic elements, headings, lists, tables, links, alt/caption metadata.

WHY NATIVE FIRST
Нативный parser обычно сохраняет текст без OCR ошибок, быстрее работает, дешевле, лучше поддерживает exact character extraction и может дать структурные признаки, которых нет в рендере страницы.
06. OCR

PIXELS → TEXT, НО НЕ «DOCUMENT UNDERSTANDING ЦЕЛИКОМ»

TRIGGER

No usable text

Image-only page, scan, photographed page, rasterized text region.

PREPROCESS

Image quality

Rotation/orientation, crop, deskew, contrast/resolution where helpful.

OUTPUT

Text + geometry

Хранить recognized text вместе с bounding boxes/page refs/confidence.

LIMIT

Errors are expected

Numbers, formulas, names, punctuation, columns and tables особенно чувствительны.

OCR confidence — сигнал, а не гарантия. Для важных числовых/юридических/табличных полей нужны targeted validation или human verification.
07. SELECTIVE OCR

НЕ ОБЯЗАТЕЛЬНО OCR-ИТЬ ВЕСЬ ДОКУМЕНТ

PAGE TEXT CHECK

У страницы нормальный native text layer?

Если да — использовать его.

REGION DETECTION

Есть raster regions: scan, embedded image, figure labels, stamp?

OCR ONLY NEEDED REGIONS

OCR сохраняет region/page coordinates и добавляется в IR как отдельный extracted block.

Selective OCR снижает стоимость и количество ложных дубликатов текста, когда PDF одновременно содержит native text и его rasterized копию.
08. LAYOUT & READING ORDER

ДВЕ КОЛОНКИ НЕЛЬЗЯ ЧИТАТЬ КАК ОДНУ СТРОКУ СЛЕВА НАПРАВО

BLOCKS

Regions

Paragraph, title, header, footer, list, caption, table, figure.

ORDER

Reading sequence

Logical order independent of raw extraction order.

COORDINATES

Geometry

Page + bounding box lets downstream cite/highlight exact region.

HIERARCHY

Sections

Heading levels and parent-child section relations improve chunking.

Хороший Document IR хранит и logical reading order, и physical location. Это разные свойства.
09. TABLE EXTRACTION

ТАБЛИЦА — НЕ НАБОР СТРОК ТЕКСТА

{
  "block_id": "tbl-7",
  "type": "TABLE",
  "page": 12,
  "bbox": [72, 188, 520, 640],
  "caption": "Operating metrics",
  "header_rows": 1,
  "columns": [
    {"name": "Metric"},
    {"name": "2025"},
    {"name": "2026"}
  ],
  "rows": [
    ["Revenue", "120", "145"],
    ["Margin", "21%", "24%"]
  ],
  "source_ref": "doc://...#page=12",
  "quality": {
    "structure_confidence": 0.93
  }
}
TABLE RISKS

Structure matters

  • merged cells;
  • multi-row headers;
  • units outside cells;
  • footnotes;
  • wrapped text;
  • borderless tables;
  • OCR numeric substitutions;
  • continued tables across pages.

Для critical tables полезно хранить и structured cells, и original page/image reference.

10. FIGURES, CHARTS & IMAGES

TEXT EXTRACTION МОЖЕТ ПРОПУСТИТЬ ОСНОВНОЙ СМЫСЛ

FIGURE REF

Preserve image

Сохранить page/bbox/image artifact ref, caption и surrounding text.

OCR LABELS

Visible text

Извлечь axis labels, legend, annotations, screenshot text where useful.

MM EXTRACTION

Semantic representation

При необходимости мультимодальная модель формирует structured description/data claims — обязательно с figure ref.

№56 может извлечь «что изображено» для indexing. Но сложное reasoning по изображению в рамках пользовательской задачи относится уже к №73 Multimodal AI.
11. MULTIMODAL EXTRACTION

ИСПОЛЬЗОВАТЬ МОДЕЛЬ ТАМ, ГДЕ ДЕТЕРМИНИРОВАННЫЙ PARSER НЕ ДОСТАТОЧЕН

CaseDeterministic firstMultimodal escalation
Simple digital textNative parser.Usually unnecessary.
Scanned paragraphOCR.Only if OCR/layout insufficient.
Complex chartExtract caption/labels/image ref.Describe axes/trends/relations into schema.
UI screenshotOCR text + regions.Infer component relationships/state if needed.
DiagramImage region + text labels.Extract nodes/edges/semantic relations.
FormLayout/OCR fields.Resolve ambiguous field-value associations.
Multimodal extraction должен возвращать structured data + source region refs + uncertainty/quality flags, а не только красивое prose-summary.
12. DOCUMENT IR

КАНОНИЧЕСКОЕ ПРОМЕЖУТОЧНОЕ ПРЕДСТАВЛЕНИЕ

{
  "contract": "document.ir.v2",
  "document_ref": "doc://tenant_A/123",
  "source_version": "v42",
  "parser_profile": "documents.v2",
  "pages": [
    {
      "page": 1,
      "width": 595,
      "height": 842,
      "blocks": [
        {
          "block_id": "b1",
          "type": "HEADING",
          "text": "...",
          "bbox": [72, 80, 520, 120],
          "reading_order": 1,
          "parent_section": "s1",
          "extraction": "NATIVE",
          "quality": 0.99
        }
      ],
      "figures": [],
      "tables": []
    }
  ],
  "quality": {
    "text_coverage": 0.98,
    "failed_pages": []
  }
}
IR BENEFITS

One downstream interface

  • RAG не знает, был ли source PDF или DOCX.
  • Chunker работает по sections/blocks.
  • Evidence может ссылаться на page/block.
  • Parser можно менять независимо от retrieval.
  • Tables/images остаются addressable.
  • Quality flags доступны downstream routing.
13. STABLE REFERENCES

BLOCK ID ДОЛЖЕН БЫТЬ ПРИГОДЕН ДЛЯ ЦИТИРОВАНИЯ И REPROCESSING

DOCUMENT REF

Source identity

Stable canonical document reference tied to tenant/source object.

PAGE REF

Human-readable anchor

Page number/index + page image reference when applicable.

BLOCK REF

Derived identity

block ID scoped by parsed document version; do not assume block IDs survive parser reprocessing unchanged.

Если parser version меняет segmentation, старый block_id может перестать существовать. Поэтому provenance должна связывать derived block с document/source version и parser version.
14. CHUNKING BOUNDARY

PARSER НЕ ДОЛЖЕН СРАЗУ РЕЗАТЬ ВСЁ НА «500 TOKENS»

PARSER / №56

Создаёт sections, blocks, tables, captions, reading order, coordinates.

CHUNKING

Использует структуру и retrieval requirements, чтобы собрать chunks.

INDEX / №66

Embeddings / search index хранит chunks + metadata + source refs.

Parsing и chunking связаны, но это разные responsibilities. Один Document IR может быть chunked по-разному для разных retrieval strategies.
15. QUALITY SIGNALS

«PARSER НЕ УПАЛ» НЕ ЗНАЧИТ «ДОКУМЕНТ ИЗВЛЕЧЁН ХОРОШО»

TEXT COVERAGE

Missing content

Какая доля pages/regions имеет usable text.

READING ORDER

Sequence

Насколько logical order соответствует документу.

OCR QUALITY

Recognition

Confidence + suspicious characters/low-quality regions.

TABLE QUALITY

Structure

Header/cell completeness, row/column consistency.

PAGE FAIL

Partial status

Failed pages/blocks tracked explicitly.

DUP TEXT

Double extraction

Native + OCR duplicates detected.

LANGUAGE

Mismatch

Detected language/script inconsistent with OCR profile.

STRUCTURE

Sanity

Extreme block count, empty headings, broken hierarchy flags.

Quality score лучше хранить по компонентам/страницам, а не маскировать всё одним «0.91 confidence».
16. PARTIAL SUCCESS

ДОКУМЕНТ МОЖЕТ БЫТЬ ПОЛЕЗЕН ДАЖЕ С ОШИБКОЙ НА ОДНОЙ СТРАНИЦЕ

StatusMeaningDownstream handling
SUCCESSRequired extraction stages completed.Normal indexing.
PARTIALUsable IR exists, but pages/blocks/tables failed.Index valid regions; expose quality flags; retry failed regions.
NEEDS_OCRNative text unavailable/insufficient.Route selected pages to OCR.
NEEDS_MULTIMODALCritical information is visual/layout-dependent.Escalate selected regions, not entire corpus blindly.
UNSUPPORTEDNo supported extraction path.Quarantine / converter / manual handling.
ENCRYPTEDCannot access content with current authorization.Do not brute-force; request proper access.
CORRUPTArtifact cannot be parsed reliably.Retain source ref and error; no fake extraction.
17. PARSER VERSIONING

DERIVED DOCUMENT — ЭТО VERSIONED ARTIFACT

SOURCE HASH

Input bytes

Какая exact source version обработана.

PARSER VERSION

Code/config

Native parser/layout pipeline profile.

OCR VERSION

Engine/model

OCR engine/model/language/preprocess settings.

MM VERSION

Vision extraction

Model/prompt/schema version for selected visual regions.

Если parser изменился, можно построить новую IR version и сравнить её с baseline. Не перезаписывать старую без trace, если нужна воспроизводимость.
18. SECURITY

ДОКУМЕНТ — НЕДОВЕРЕННЫЙ INPUT

FILE PARSER

Attack surface

Сложные formats/converters могут иметь vulnerabilities; недоверенные преобразования лучше изолировать.

PROMPT INJECTION

Extracted text

Text inside document remains untrusted evidence/content and не получает instruction authority.

DATA ACCESS

ACL propagation

Parsed blocks/chunks inherit tenant/access metadata from source document.

OCR/vision pipeline не «очищает» документ от prompt injection. Она лишь меняет representation. Trust/provenance должны сохраняться.
19. OBSERVABILITY

НУЖНО ВИДЕТЬ, КАК ИМЕННО ДОКУМЕНТ БЫЛ ИЗВЛЕЧЁН

ROUTE

Extraction path

native / OCR / layout / multimodal / hybrid.

PAGES

Coverage

total, parsed, OCR, failed, multimodal pages/regions.

TIME

Latency

per stage and per page/document.

COST

Expensive stages

OCR/model calls/compute where relevant.

QUALITY

Signals

coverage/table/OCR/structure flags.

VERSION

Reproducibility

source/parser/OCR/MM versions.

ARTIFACTS

Derived refs

page images, tables, IR, logs, extracted figures.

FAILURES

Stage errors

unsupported/encrypted/corrupt/page failure/error class.

20. EVALS

ПАРСИНГ НУЖНО ПРОВЕРЯТЬ НА РЕАЛЬНОМ CORPUS

TEXT

Extraction fidelity

Representative passages/names/numbers preserved.

ORDER

Reading order

Multi-column/list/footnote ordering.

TABLE

Cell structure

Headers, numeric values, merged cells, units.

VISUAL

Figure extraction

Required chart/diagram facts mapped to source region.

OCR

Critical fields

Names, dates, numbers, codes on scan corpus.

CITATION

Addressability

Downstream answer can point to correct page/block.

RAG

Retrieval impact

Does new parser improve answer/evidence retrieval on eval tasks?

COST

Efficiency

OCR/MM escalation rate and cost per usable page.

Главная метрика не «OCR accuracy вообще», а влияние extraction на downstream retrieval/evidence/task success — плюс regression на критических полях.
21. FAILURE MODES

КАК DOCUMENT EXTRACTION ЛОМАЕТСЯ

OCR EVERYTHING
Digital PDF превращается в более шумный текст.
NATIVE FIRST
FLATTEN TO STRING
Теряются pages, sections, tables, captions, coordinates.
DOCUMENT IR
TABLE AS TEXT
Rows/columns/units перестают быть связаны.
STRUCTURED CELLS
IGNORE IMAGES
Chart/diagram содержит ключевой смысл, но corpus его не видит.
FIGURE REF + MM SELECTIVE
ONE FAILURE = DOC FAIL
Одна страница уничтожает 200 полезных страниц.
PARTIAL SUCCESS
NO SOURCE COORDINATES
Нельзя доказать, где найден evidence.
PAGE/BBOX REFS
PARSER VERSION LOST
Невозможно воспроизвести/сравнить extraction.
VERSION DERIVED IR
VISION ON EVERY PAGE
Cost/latency explode без доказанного uplift.
ESCALATE BY NEED
TRUST RESET
После OCR external text внезапно считается trusted instruction.
PRESERVE PROVENANCE
22. METRICS

ЧТО ИЗМЕРЯТЬ

TC

Text Coverage

% pages/regions with usable extracted text.

OCR

OCR Escalation

% pages requiring OCR rather than native parse.

MM

Multimodal Escalation

% pages/regions sent to vision/MM extraction.

PF

Page Failure

Failed or partial pages per document/source type.

TQ

Table Quality

Critical table extraction pass rate.

CIT

Citation Accuracy

Correct page/block source mapping downstream.

P95

Parse Latency

Time per document/page by route.

Δ

RAG Uplift

Downstream retrieval/evidence improvement vs parser baseline.

23. MVP IMPLEMENTATION

НЕ НУЖЕН «УНИВЕРСАЛЬНЫЙ DOCUMENT AI PLATFORM» С ПЕРВОГО ДНЯ

parsing/
├── detect.py
├── router.py
├── document_ir.py
├── native/
│   ├── pdf.py
│   ├── docx.py
│   └── html.py
├── ocr/
│   ├── page.py
│   └── quality.py
├── tables.py
├── figures.py
├── validate.py
└── tests/

parse(source_ref, profile):
  inspect file
  choose native route
  assess page coverage
  OCR only missing pages/regions
  preserve tables/figures
  build Document IR
  validate quality
  persist derived version
80% VALUE MVP

Native-first document pipeline

  • Detect real file type.
  • Parse digital PDF/DOCX/HTML natively.
  • Keep page and block references.
  • Store headings/lists/tables separately.
  • OCR only image-only/failed pages.
  • Keep image/figure refs.
  • Canonical Document IR.
  • Parser/source version metadata.
  • Partial-success status.
  • Quality/regression corpus.

Добавлять sophisticated layout/MM extraction только по failure clusters и eval uplift.

24. PRACTICAL DECISION

СТОИТ ЛИ ДЕЛАТЬ ОТДЕЛЬНЫЙ КОМПОНЕНТ?

ВопросОтвет
Стоит ли реализовывать?Да, если система работает с raw documents/scans/images. Для чистых API/JSON/text sources — нет.
Separate Component?YES. Parser pipeline имеет собственные profiles, versions, artifacts, quality metrics и reprocessing lifecycle.
Минимум 80% ценности?Native parse, page/block refs, tables, selective OCR, Document IR, quality flags, versioning.
Когда overkill?Прогонять каждый простой DOCX через OCR + vision model + complex layout engine без доказанного downstream улучшения.
Trigger?Raw files whose useful information is not already available as clean structured text/data.
Как измерить uplift?Text/table/citation accuracy, RAG retrieval/evidence success, OCR/MM escalation cost, regression failures.
Можно ли rule/tool/code вместо LLM-agent?Да, в большинстве pipeline. Native parser/OCR/layout tools first; multimodal model only for semantic visual extraction where needed.
25. DESIGN RULES

ПРАВИЛА ДЛЯ РЕАЛЬНОЙ СИСТЕМЫ

RULE 01

Native first

Если есть хороший text/structure layer — использовать его до OCR.

RULE 02

Preserve structure

Pages, blocks, hierarchy, tables, figures и coordinates — first-class.

RULE 03

OCR selectively

Pixels-to-text только там, где это реально нужно.

RULE 04

Multimodal by trigger

Vision/MM включается для visual semantics, а не по умолчанию на весь corpus.

RULE 05

Address every evidence block

Downstream должен уметь вернуться к page/region/source.

RULE 06

Partial is explicit

Не выдавать неполный extraction за SUCCESS.

RULE 07

Version derived data

Parser/OCR/MM/profile versions сохраняются рядом с IR.

RULE 08

Preserve trust

OCR/vision не повышают authority источника.

RULE 09

Measure downstream value

Оптимизировать extraction по retrieval/evidence/task success, не только локальной accuracy.

26. FINAL MAP

FROM BYTES TO EVIDENCE-READY STRUCTURE

№55 INGESTION / SOURCE OBJECT
        ↓
RAW DOCUMENT / ARTIFACT REF
        ↓
PRE-FLIGHT
  type
  size
  encryption
  text availability
  language/script
        ↓
ROUTE EXTRACTION
        ├─ NATIVE PARSER
        ├─ LAYOUT EXTRACTION
        ├─ SELECTIVE OCR
        └─ SELECTIVE MULTIMODAL EXTRACTION
        ↓
NORMALIZE INTO DOCUMENT IR
  document
  pages
  sections
  blocks
  tables
  figures
  coordinates
  reading order
  provenance
        ↓
QUALITY CHECK
  coverage
  failed pages
  OCR flags
  table sanity
  reading order
        ↓
PERSIST VERSIONED DERIVED ARTIFACT
        ↓
DOWNSTREAM
  chunking
  search
  embeddings
  GraphRAG
  evidence-first reasoning

CORE PRINCIPLE:

DO NOT TURN EVERY DOCUMENT
INTO ONE BIG STRING.

DO NOT TURN EVERY PAGE
INTO AN OCR JOB.

DO NOT TURN EVERY IMAGE
INTO A MULTIMODAL MODEL CALL.

USE THE CHEAPEST RELIABLE EXTRACTOR,
PRESERVE STRUCTURE AND SOURCE LOCATION,
AND ESCALATE ONLY WHERE INFORMATION
WOULD OTHERWISE BE LOST.

ECC RETROFIT / PRACTICAL HARNESS INTEGRATION

A. Related ECC ideas. Context-as-cache, scoped memory, lifecycle hooks, selective capabilities, feature flags, deterministic enforcement, provider-neutral adapters and eval-gated learning are applied only where relevant to №56 Document Parsing / OCR / Multimodal Extraction.

B–E. Existing boundary and placement. The existing conceptual boundary, class SPECIALIZED, default CONDITIONAL and owner Knowledge / Research Engine remain authoritative. Runtime/control/data/offline placement is unchanged; durable state stays outside model context.

F–H. Hooks and contracts. Use bounded PRE_MODEL/POST_MODEL, PRE_TOOL/POST_TOOL, CHECKPOINT and TASK_COMPLETED events as applicable. Illustrative fields and canonical contracts are defined in NEW_CONTRACTS_SPEC.md; no universal schema is implied.

I–J. Security and evaluation. Host-side schema, permission, secret, budget, idempotency and audit checks take precedence over LLM output. Optional mechanisms require a feature flag and WITH/WITHOUT ablation; measure quality, acceptance, correction, latency, cost, escalations and severe errors.

K–L. Task profiles and cross-references. A TaskProfile selects the relevant skill, tool/context slice, memory scope and enforcement profile independently from FAST/STANDARD/DEEP. See cross-reference map, hook spec and ablation plan. Provider adapters remain outside the core.