What the Author Wrote, What the Agent Reads: Silent Cue Loss in Enterprise Document Ingestion
Organizations: Amazon
Abstract
Enterprise agents act on documents. Before an agent can follow a policy, answer a compliance question or file a ticket, some ingestion layer must turn a Word file or PDF into tokens - and that layer is where an agent deployed in the wild silently loses information. We show that one layer is lost by every mainstream converter - the meaning an author encodes in how text looks - and that the loss makes agents confidently wrong rather than visibly incomplete. We build a task from 76 real policy documents: recover the requirements the author singled out, scored against the file's own OOXML properties by a deterministic matcher with no LLM judge. Formatting-blind ingestion collapses from micro F1 0.690 to 0.150 (docling) and 0.075 (plain text), a gap that replicates across six answering models from two vendors - five Claude models spanning the Opus, Sonnet and Haiku tiers, and OpenAI's GPT-5.6. An agent that cannot see the cue guesses, and docling's false-positive rate on requirements the author did not flag is four times ours. A span-level leave-one-out localises the loss to two cues - highlight (+0.302) and colour (+0.262), both Holm-adjusted p < 1e-4 - while bold, italic, monospace and strikethrough each sit within +/-0.003 of zero. The same asymmetry appears in PDF. Colour is also the cue no mainstream converter preserves and no parsing benchmark scores, and it is common: 32.8% of 6,460 documents carry a deliberate colour or highlight, 10.3% on an obligation. A pre-registered test shows that typing a cue for the agent adds +0.085 beyond merely preserving it (Holm-adjusted p = 0.049). We validate the labels against rendered page images through an independent modality (kappa = 0.72) and bound what wording alone can achieve (AUC 0.664). For agent builders the practical finding is that ingestion, not reasoning, is where this reliability is won or lost, and that the fix is cheap and measurable.
Figures & tables
| Arm | micro | prec. | FP | macro | |
| F1 | rate | F1 | |||
| ours | 0.690 | 0.824 | 0.011 | — | — |
| ours , salience roles | 0.687 | 0.834 | 0.010 | 1.00 | |
| ours , untyped markup | 0.605 | 0.811 | 0.010 | 0.025 | |
| docx2python | 0.586 | 0.797 | 0.010 | 0.022 | |
| docling | 0.150 | 0.196 | 0.043 |
| Feature | plain | docling | unstr. | dx2py | ours | |
|---|---|---|---|---|---|---|
| Table | 143 | 0.916 | 0.939 | 0.932 | 0.986 | 0.986 |
| Text | 59 | 0.977 | 0.977 | 0.977 | 0.977 | 1.000 |
| Font | 24 | 0.083 | 0.312 | 0.292 | 0.604 | 0.750 |
| Hyperlink | 16 | 0.062 | 1.000 | 0.062 | 1.000 | 1.000 |
| Layout | 14 | 0.357 | 0.196 | 0.071 | 0.714 | 0.821 |
| Metadata | 14 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 |
| Parser | micro F1 | macro F1 | retention | ||
|---|---|---|---|---|---|
| ours | 0.503 | 0.526 | 0.665 | — | — |
| docx2python | 0.258 | 0.347 | 0.634 | 0.0001 | |
| docling | 0.084 | 0.104 | 0.607 |
Appendix figures & tables10 assets
Supplementary material from the paper’s appendix.
Appendix
| Formatting | Semantic Role | Signal |
|---|---|---|
| Bold, some spans only | Key_Term | Key terms |
| Bold, standalone block | Implicit_Heading | Section heads |
| Italic/underline, not all-bold | Emphasis | Emphasis |
| Red text or red highlight | Critical_Warning | Critical alerts |
| Any other visible highlight | Warning | Cautions |
| Strikethrough | Deprecated | Obsolete content |
| cue | ours | pymupdf4llm | plain | ||
|---|---|---|---|---|---|
| highlight | 18 | 11 / 11 | 4 / 12 | 0 / 15 | 0.039 |
| bold | 34 | 23 / 23 | 23 / 23 | 0 / 31 | 1.00 |
| italic | 47 | 14 / 22 | 19 / 25 | 0 / 40 | 0.125 |
| strikethrough | 27 | 17 / 19 | 19 / 22 | 0 / 21 | 0.500 |
| total | 126 | 65 / 75 | 65 / 82 | 0 / 107 | 1.00 |
| micro F1 | vs. ours ( ) | |||||
|---|---|---|---|---|---|---|
| Answering model | ours | untyped | dx2py | plain | untyped | dx2py |
| Claude Opus 4.6 | 0.687 | 0.605 | 0.586 | 0.075 | ||
| Claude Haiku 4.5 | 0.629 | 0.531 | 0.499 | 0.048 | ||
| Claude Sonnet 4.6 | 0.615 | 0.577 | 0.544 | 0.007 | ||
| GPT-5.6-terra | 0.534 | 0.468 | 0.510 | 0.045 | ||
| Claude Opus 5 | 0.358 | 0.346 | 0.263 | 0.068 | ||
| Pattern | Passages | Documents | |
|---|---|---|---|
| A | superseded value (struck + live) | 71 | 8 |
| B | struck content | 360 | 35 |
| C | colour/highlight on a constraint | 2,860 | 359 |
| D | tracked replacement | 68 | 21 |
| D | tracked deletion | 423 | 31 |
| any pattern | — | 414 (6.4%) | |
| Word Attr. | Disambiguation Rule | SemanticRole | LLM Serialization | Extraction Signal |
|---|---|---|---|---|
| Bold span | Some but not all spans in the block are bold | Key_Term | text (Markdown) | Definitional term or key concept; strong candidate for entity name |
| Bold paragraph | Block is standalone (single line, 200 chars) and every span is bold | Implicit_Heading | [PARAGRAPH roles= "IMPLICIT_HEADING"] | Section boundary; treat following content as a sub-section even without an explicit heading style |
| ALL-CAPS line | Every character run in the paragraph is all-caps; no mixed-case text present | Implicit_Heading | [PARAGRAPH roles= "IMPLICIT_HEADING"] | Implicit section label used by some authors instead of styled headings; same signal as above |
| Italic / underline | No disambiguation needed; single HIGH-confidence mapping | Emphasis | text (Markdown) | Emphasized qualifier; often an exception trigger, a deadline phrase, or a key condition |
| Red text | Fuzzy threshold: , plus a set of known red hex literals (#FF0000, #C00000, #CC0000). Tolerates RGB variance from custom author palettes | Critical_Warning | [COLOR:red]text[/COLOR] (custom tag, block attr. if whole paragraph) | Critical prohibition, safety constraint, or immediate-consequence warning; always extract as Warning with CRITICAL severity |
| Yellow highlight | Highlight attribute present and not WHITE / NONE ; RED escalates to Critical_Warning | Warning | [HIGHLIGHT: hue ] text[/HIGHLIGHT] | Caution statement; extract as Warning with MAJOR severity if an explicit consequence is stated |
| Diagram Type | Primary Entity | Secondary |
|---|---|---|
| Flowchart | Procedure | Rule , Role |
| Decision Tree | Decision_Point | Rule |
| Org Chart | Enumeration | Role |
| Matrix (RACI) | Enumeration | Role |
| Timeline | Timeline | Rule |
| Data Chart | Metric | – |
| Type | Count | Type | Count |
|---|---|---|---|
| Rule | 5 | Definition | 1 |
| Prerequisite | 3 | Metric | 3 |
| Procedure | 1 | Exception | 1 |
| Warning | 1 | Scope | 1 |
| Glossary_Entry | 3 | Concept | 1 |
LLM Agent Reliability
Large language model (LLM) agent reliability concerns dependable, safe, and verifiable behavior across tools, multi-step tasks, and changing environments.
See all 838 papers