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 ↗
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.
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
Non-conforming output
What the rule rules out.
Expected output
Delivery notice
Arrives Wednsday at 09:30.
Gate B — keep this slip.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
Non-conforming output
What the rule rules out.
<table><tr><th>Product</th><th>Quantity</th><th>Price</th></tr></table>Expected output
Product
Quantity
PriceNever 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]).
Neighbouring rules, and how they differ
More
Rule id principles-never-drop-never-invent · principles