ADR-0009: The source states its own identity, and a filename is not evidence¶
Status¶
Accepted.
Date¶
2026-08-21
Context¶
corpus/escoffier-1907.txt is Project Gutenberg ebook 71395. Its title page
is transcribed in the file this project ships. It reads:
NEW AND REVISED EDITION
[Logo: Windmill, 1920]
LONDON: WILLIAM HEINEMANN
_First Printed, May 1907
Second Impression, December 1907
New and Revised Edition, January 1909
New Impressions, August 1911, May 1913,
March 1916, January 1920._
_Copyright 1907 by William Heinemann._
The book is the January 1920 impression of the New and Revised Edition of
January 1909. 1907 is the copyright year on the verso. It is not the
edition.
Project Gutenberg's own metadata reads London: William Neinemann, 1907,
pubdate 1920. That field holds a copyright year and a printing year side by
side, and resolves to neither.
So escoffier-1907 named an edition this project had never read. The
identifier is load-bearing. It is stamped into every provenance record, and
two published posts quote it.
The claims themselves were sound. The line numbers are right, the entries are right, the derivations are right. The label on the book was wrong.
This is also ADR-0007 broken by its own author. ADR-0007 says the source decides what counts as a sauce. The source states its edition more plainly than it states anything else, on its own title page, and this project read a filename instead.
Decision¶
A source reports the edition it states, and its source_id derives from
that reading.
Four facts come out of the front matter, and they are recorded separately because one string cannot carry four facts.
| Fact | Read from | Escoffier, Gutenberg 71395 |
|---|---|---|
| Edition statement | A printing-history line naming an edition | New and Revised Edition, January 1909 |
| Edition year | The year of that statement | 1909 |
| Impression | The last printing the history records | January 1920 |
| Copyright year | The copyright line | 1907 |
The edition statement decides the year. With no edition stated, the copyright year decides it. A revision announces itself in the printing history. A first printing has no history to print. The Internet Archive witness of the 1907 first printing states no edition. Its year is the copyright year it does print.
A source that states neither is unreadable. read_edition raises
EditionUnstated rather than falling back to the path. A document with no
stated identity is a situation to report.
A source_id is the work name and the edition year, joined. The work
name is configured, because a title page names a book rather than a
repository. The year is read. escoffier plus 1909 gives escoffier-1909.
The corpus filename is renamed to agree, and a test proves the agreement.
tests/test_corpus.py asserts that each corpus file is named for the
source_id read out of it. The filename is a convenience for a reader with a
shell. It is never the evidence.
Consequences¶
Positive¶
- The catalogue names the edition it parsed.
escoffier-1909is checkable against the title page in the same file. escoffier-1907is free for the 1907 first printing, which ADR-0010 adds.- Adding a second edition of one work needs no new identifier scheme. Two witnesses of two editions get two ids, from two title pages.
- A corpus file swapped for a different printing fails a test rather than publishing a wrong citation.
Negative¶
- Every published provenance claim that names
escoffier-1907now names the 1909 revision under its old label. The correction is a release note and a post, not a silent edit. - Reading the front matter costs one pass over the head of the file before any extraction runs.
- The rule is Escoffier-shaped. A source whose printing history uses another
layout reads as unstated, and
read_editionraises rather than guessing. - The 1909 census is unchanged at 124 sauces, 50 derived, and 74 unresolved. A reader who only sees the identifier change may read the release as cosmetic.