An evidence ledger is the least glamorous object in a serious book, and the one that stops a number from wandering.
What is an evidence ledger? A claim-level register: what was asserted, which source supports it, how strong that source is, and what would retire the claim.
If the claim cannot point at a row, it is not ready to print, pitch, or paste into an answer.
Not a bibliography
A bibliography is a rendering at the end. A reading list is a pile of intentions. A folder of PDFs is a folder.
The difference is the unit. A bibliography has one entry per source. A ledger has one row per claim. One paper can be cited for four claims, and three can still misstate what it measured. That is why the object exists.
Quick test on a file someone hands you: if one row contains only a source and several distinct claims point to it, you are looking at a bibliography with extra columns.
The row
Five fields. Not a schema project.
| Field | What goes in it | Failure it prevents |
|---|---|---|
| Key | A stable id, EL-2026-014 | Retraction becomes a grep, not a memory exercise |
| Claim | One sentence, with scope and window | ”70 percent” meaning four different denominators |
| Source | Locator, not a title: file, page, table, date accessed | A citation nobody can open |
| Grade | What class of source this is | A causal verb resting on a LinkedIn post |
| Retire | The observable that kills the row | A dead claim living on in the deck |
Filled out, one row looks like this in a CSV beside the manuscript:
key,claim,source,grade,retire
EL-2026-014,"Inbound leads that reached a first call in Q1 2026 closed at 70% within 90 days","exports/crm-2026-04-02.csv, rows 1-40 (28 closed)",C,"New export N>=40 with close rate below 55%, or the definition of inbound changes"
Keep it in version control beside the draft, not in a shared doc with no history. You need a diff when a grade moves from C to A, and you need to see who moved it.
If the source column is empty, the claim does not ship. Not “we will find one later.” Later is how an unsupported claim ships.
The grade is a ceiling on the verb
Grade is the field people skip, and it is the one that does the work. It is not a star rating for how much you liked the source. It caps what the sentence is allowed to say.
Four classes are enough to start.
- A. Primary and checkable. The dataset, the filing, the paper itself with N and design, the dated export. Can carry a specific number and a scope.
- B. Reputable secondary. A serious outlet reporting a primary you have not opened. Can carry the number if you name the primary and the date it referred to. Cannot carry a causal verb.
- C. Internal operational count. Your CRM, your analytics, your invoices. Can carry “in our data, in this window.” Cannot carry “in the market” or “industry-leading.”
- D. Testimony. An interview, a practitioner claim, a conference remark. Can carry an attributed quote. Cannot carry a number.
Then one rule: the grade caps the verb and the scope. A grade D row can say “one operator told me.” It cannot say “operators report.” A grade C row can say “our close rate.” It cannot say “the benchmark.”
A common form of drift is not invented data. It is a real number promoted to a verb it cannot support somewhere between the sheet and the slide.
Write a retire condition you would trip over
“If it turns out to be wrong” is not a retire condition. It is a wish.
A usable one passes three tests.
- It names an observable. A new export, a corrected figure, a version bump, a date.
- You would meet it without hunting. Tied to work you already do monthly, or to a calendar date you can put in the file.
- It could actually happen. If nothing realistic would fire it, you did not write a condition. You wrote a defence.
A date is the cheap version. “Retire on 2027-01-15 unless re-sourced” costs nothing and quietly kills every stale number in the manuscript on one day.
What does not need a row
A ledger that tries to cover everything gets abandoned in a week.
Rows are for anything a stranger could reasonably ask you to prove: numbers, named third parties, dates, causal claims, quoted material, anything about a market or a population.
No row needed for your own definitions, your own framework names, or judgment marked as judgment. “I think positioning is a decision, not a discovery” is a claim about your opinion. It needs a clear voice, not a source.
The line is simple. If the sentence would embarrass you in a deposition, it needs a row. If it would only start an argument, it needs a byline.
Where it earns its keep
Use a ledger anywhere a fact will be copied.
Manuscripts and long memos. A chapter, a board pack, a fundraising note. The same N in two places with two different years is how a back cover lies.
Answer-shaped pages. GEO and AEO fail when the first screen quotes a number the rest of the site cannot defend. The capsule should point at a row, and the row key belongs in the page’s source notes.
Agent output. If a model answers from “our docs,” the inspectable object is the row, not the fluency. RAG names the passage. The ledger names whether that passage is allowed to carry the claim. That is the same discipline as scoring the reasoning instead of the prose.
Decisions. Pair it with calibration: the bet is the claim, the evidence is the row, the retire line is what would move you.
Start the moment a number, a quote, or a causal verb enters the draft. A second appearance is already drift.
Why it is powerful
A bibliography cannot tell you which sentence used which page. A PDF folder cannot tell you the grade. A meeting cannot show where a retired claim still appears.
Four practical effects:
- Drift becomes visible. Same figure, two N’s, two dates. The ledger shows the fork. Without it you argue from memory.
- Retirement is a field, not a fight. If the source is retracted or the locator was wrong, you kill the row and grep the key across every surface that pointed at it.
- Grade is a ceiling. A blog post cannot carry a causal claim about a market. A primary paper with N and design might. The row says so before the sentence ships.
- Reuse gets cheaper. The pitch, the article, and the agent share the row. They do not each invent a number.
That is why BooksOS treats the ledger as a gate, not as paperwork. Agents draft. The gate decides whether the claim survives. The Agentic Author is live.
Walk one number
Someone writes: “70 percent of our inbound leads close.”
Without a ledger that sentence will appear in a slide, a blog, and a model answer by Friday, each with a different denominator.
With a ledger:
- Key.
EL-2026-014. - Claim. 70 percent of inbound leads that reached a first call in Q1 2026 closed within 90 days.
- Source. CRM export, 2026-04-02, N = 40 first calls, 28 closed. Path in the row.
- Grade. C. Internal operational count. So the sentence may say “our”, may name the quarter, and may not say “industry-leading.”
- Retire. New export with N ≥ 40 and a close rate below 55 percent, or a definition change of “inbound.”
Now the capsule can reuse the sentence. The agent can repeat it. The back cover cannot inflate it, because the grade forbids the verb. If next quarter the rate is 48 percent, you retire EL-2026-014 and follow the key to every surface that used it. You do not hunt Slack.
Four ways a ledger goes bad
- It is written after the draft. Then it is a defence, not a gate. Sourcing backwards means you go looking for support for a sentence you have already decided to keep.
- Everything is grade A. Inflation makes the column decorative. If every row is an A, inspect the grading before you trust it.
- Nobody diffs it. A ledger in a shared doc with no version history cannot show you when a claim changed. Put it in the repo.
- The rows are sources. One row per PDF, four claims leaning on it, none of them checked against what the PDF actually measured.
A five-minute start
Open a table. Five columns. Ten live claims from this week’s draft.
Grade them honestly first, before you touch the wording. Then fix every sentence whose verb outruns its grade. That pass exposes scope inflation before it ships.
If you cannot fill the source column, cut the sentence or mark it unknown. Unknown is honest. A fluent number with no row is a liability.
A definition is not a citation-style manual. APA can wait. The row cannot.