# ADR 055: typos (Spell Checking)

- HTML version: https://robbiepalmer.me/projects/recipe-site/adrs/059-typos
- Project: Recipe Site (https://robbiepalmer.me/projects/recipe-site.md)
- Status: Accepted
- Date: 2026-07-20
- Inherited from project: personal-site (https://robbiepalmer.me/projects/personal-site/adrs/055-typos.md)

# Additional Context for Recipe Site

The recipe site adds the content type where spelling errors are most
user-visible: recipe titles, ingredient names, and instructions, rendered both
on the site and in the schema.org Recipe JSON twins consumed by other tools
(see [personal-site ADR 055](/projects/personal-site/adrs/055-typos)).
Ingredient vocabulary is also exactly where dictionary-based checkers drown in
noise — cuisine terms, brand names, non-English loanwords — which is why the
known-misspellings design matters doubly here.

The recipe-parsing package also demonstrates the config's judgement calls: its
diagnostics use "unparseable", a legitimate word typos' dictionary would
"correct", now allowlisted in `_typos.toml` rather than rewritten in
user-facing strings.

# Consequences

## Positive

* Typos in recipe content are caught before they ship to the site and its
  machine-readable JSON twins.

## Negative

* Loanword-heavy recipe vocabulary may occasionally need `_typos.toml`
  entries as content grows.

## Notes for Recipe Site

# Additional Context for Recipe Site

The recipe site adds the content type where spelling errors are most
user-visible: recipe titles, ingredient names, and instructions, rendered both
on the site and in the schema.org Recipe JSON twins consumed by other tools
(see [personal-site ADR 055](/projects/personal-site/adrs/055-typos)).
Ingredient vocabulary is also exactly where dictionary-based checkers drown in
noise — cuisine terms, brand names, non-English loanwords — which is why the
known-misspellings design matters doubly here.

The recipe-parsing package also demonstrates the config's judgement calls: its
diagnostics use "unparseable", a legitimate word typos' dictionary would
"correct", now allowlisted in `_typos.toml` rather than rewritten in
user-facing strings.

# Consequences

## Positive

* Typos in recipe content are caught before they ship to the site and its
  machine-readable JSON twins.

## Negative

* Loanword-heavy recipe vocabulary may occasionally need `_typos.toml`
  entries as content grows.

---

Markdown index of this site: https://robbiepalmer.me/llms.txt
