Decisions¶
Architecture decision records. Each one states a context, a decision, and the consequences accepted with it. A record is never edited to reflect a change of mind. It is superseded by a later record.
Decisions about the blog series rather than the code live in a separate repository, because they govern the writing rather than this implementation.
Records¶
- ADR-0001: The documentation stack. Why this site is pinned on both sides, and what to watch.
- ADR-0002: An unresolved parent is recorded as absent, never inferred. Why 95 preparations stay unresolved, and why raising that number by guessing fails a test.
- ADR-0003: Culinary terms carry a language tag and are never translated. Why mole is not "sauce", and what that costs.
- ADR-0004: Source material is committed, derived output is not . Why a clone runs offline, and what may enter the corpus.
- ADR-0005: Four layers and no runtime dependencies. What the structure buys against what arrives next.
- ADR-0006: Storage arrives in stages. Why each store waits for the previous one to fail, and why SQLite rather than DuckDB.
- ADR-0007: The source decides what counts as a sauce. Why the catalogue fell from 166 entries to 124, and why an ambiguous base resolves to nothing.
- ADR-0008: A parent may be any catalogued preparation. Why derived rose from 29 to 50, and which runs of words count as statements.
- ADR-0009: The source states its own
identity. Why
escoffier-1907named the wrong edition for two releases, and what replaced the filename. - ADR-0010: Fidelity is a property of the record. Why a transcription and a scan are not equal evidence, and where that is recorded.
- ADR-0011: Normalisation is an adapter that wraps a source. Where three lines of whitespace handling live, and the three places they do not.
- ADR-0012: A resolver may refuse, never rank. Why the unresolved count is an instrument, and what a model layer may not do to it.
- ADR-0013: Normalisation repairs structure, never content. Why a broken entry separator may be mended and a broken word may not.
- ADR-0014: A damaged witness cannot establish absence. Why the diff reports no additions, and what has to shrink before it can.
- ADR-0015: The chapter decides. Why the catalogue rose from 124 entries to 151, and why ten sauces lost a parent while derived rose by seven.
- ADR-0016: JSONL is the interchange, not a store. Why the append break ADR-0006 predicted never came, and what one record per line is for instead.
- ADR-0017: A procedure quotes its witness. Why Mornay's parent has a verb, why one preparation carries a procedure, and what the scan does to it.
- ADR-0018: A mother does not bind to its derivative. Why a stated derivative cannot supply a mother's identity when a scan loses its name.