Skip to content
§2.2

Never Drop, Never Invent

What are the two failures every rule guards against?

✅ NormativeSettled. The requirement holds as written.📄 Page ruleCan be applied from the page alone.Read §2.2 in the RFC ↗

The requirement

Every piece of printed content MUST survive into the output (never drop), and the output MUST NOT contain a label, value, span, header, structure or relationship that the page does not print (never invent).

When it applies

Almost every rule in this protocol exists to prevent one of these two failures.

Reading the examples. Each one pairs a source page with the output the rule expects. ✅ Sample: the rule applies. ❌ Counter-sample: it looks like it applies and does not, or a rendering got it wrong. A non-conforming output, in red, is shown only for contrast. … marks content left out of an excerpt.

The point, in a small example

Read only what is visible. Preserve a typo and refuse to fill in missing table rows from expectation. These pages are made up to isolate the rule.

01

✅ SampleConstructedThe rule applies

Text inside an image is still text

Transcribe all visible text, including the printed typo “Wednsday”. Do not substitute an image link, a summary or a corrected spelling. The top line is a notice label, not a document section.

Source page
Never Drop, Never Invent — Text inside an image is still text. Source page.
Non-conforming output

What the rule rules out.

Markdown
![Delivery notice](notice.png)
Expected output
Markdown
Delivery notice

Arrives Wednsday at 09:30.

Gate B — keep this slip.
Never Drop, Never Invent · Source page

Text inside an image is still text

Never Drop, Never Invent — Text inside an image is still text. Source page.
02

✅ SampleConstructedThe rule applies

Headers without a body are ordinary text

This is the complete available crop. No data rows or adjoining page are available. Preserve the labels without creating an empty table or inventing rows.

Source page
Never Drop, Never Invent — Headers without a body are ordinary text. Source page.
Non-conforming output

What the rule rules out.

Markdown
<table><tr><th>Product</th><th>Quantity</th><th>Price</th></tr></table>
Expected output
Markdown
Product
Quantity
Price
Never Drop, Never Invent · Source page

Headers without a body are ordinary text

Never Drop, Never Invent — Headers without a body are ordinary text. Source page.

Never drop

Printed content means visually perceptible content under The Page Is the Ground Truth (§2.1). Hidden, microscopic or imperceptibly low-contrast source strings are outside that scope; visible but unreadable text is retained as evidence with [illegible], not silently discarded.

A visible row, column, cell, marker, header, caption, footnote, stamp or repeated table MUST appear in the output. The most-dropped items are the last row of a table, trailing summary lines, detached cells beside a grid, sparse columns proven only by their header, and text in the margins.

Where the protocol is unsure how to represent something, the rendering that loses no content is the conforming one.

Never invent

The output MUST NOT add what the page does not print. A rowspan is a claim that the page merged those cells; if the page printed them separately, the claim is false. A heading level, a header tier, a list nesting or a table boundary is likewise a claim about the page and MUST be supported by it.

Placeholders that stand for content — [image], [The image shows…], ... — are invented and MUST NOT appear, except the explicit markers this protocol defines (such as [blank] for an empty form field and [signature]).

More

Rule id principles-never-drop-never-invent · principles