Repository navigation
The 1907 scan reads entry 22 as BROWN SAUCE OR ESPAQNOLE, so no name in that
witness carried the word Espagnole except a derivative's, and the mother bound
to LENTEN ESPAGNOLE with twelve preparations beneath it. The rule that bound it
is true of this book — Escoffier presents a base before its derivatives — and
it never checked the premise underneath: that the base is among the candidates
at all. This release is the guard for the witness where it is not. An entry
that says it is made from Espagnole is not Espagnole.
The scan lost one letter, and a derivative was crowned the mother sauce
The state this tag represents
escoffier-1909 151 sauces, 57 derived, 94 unresolved
escoffier-1907 140 sauces, 51 derived, 89 unresolved
export 293 lines, 271,737 bytes, identical SHA-256 on every run
import --check 2 catalogues and 291 preparations rebuilt. Nothing written.
diff 1907 1909 11 unmatched, 18 parent-changed, 35 ocr-suspected
A mother no longer binds by a name run to a preparation whose opening paragraph
states that mother. The statement test is ADR-0008's own — a whole run of words
inside one sentence of the opening paragraph — now shared by both readers
through a new module, saucier.domain.statement. In 1907 that removes the only
candidate for espagnole, the mother stays uncatalogued in that witness rather
than falling back to a derivative, and Lenten Espagnole takes the parent its
first sentence names.
There are ten mother bindings across the two witnesses. One is the exact name
ESPAGNOLE in 1909, which wins before the guard runs. One is the wrong 1907
binding this removes. The remaining eight are name runs that face the guard and
survive it, because Escoffier opens a base with its quantities rather than with
its name. So the whole change to the parsed data is one field: entry 24's
"parent": null becomes "parent": "espagnole", seven bytes on the 271,730
that v0.6.0 exported. The 1909 census does not move and its JSON is
byte-identical. See
ADR-0018.
Behaviour change: the 1907 Espagnole lookup now refuses
saucier show espagnole --source escoffier-1907 printed LENTEN ESPAGNOLE and
exited 0 through v0.6.0. It now prints no preparation named 'espagnole' and
exits 1. saucier tree espagnole --source escoffier-1907 heads on the bare
concept instead, with Lenten Espagnole among the children rather than above
them. Anything scripted against either command sees that. The commit landed
with a fix title and release-please derived a patch from it; the refused exit
code and the new public module are why this tag is 0.7.0.
Run it
No GPU, no API key, no database, no network. Both source texts are committed.
git clone https://github.com/Alberto-Codes/saucier
cd saucier && git checkout v0.7.0
uv sync && uv run saucier parse
sed -n 1730p corpus/escoffier-1907.txt
uv run saucier tree espagnole --source escoffier-1907
uv run saucier show lenten-espagnole --source escoffier-1907
uv run saucier show espagnole --source escoffier-1907 # refuses, exit 1
0.7.0 (2026-09-10)
Fixes
Chores
- release as 0.7.0 (eb30db4)