# Course Glossaries

A course glossary tells a transcript editor, human or AI, which domain terms and proper-noun spellings are correct for a given course. Without one, an editor has to guess, and editors guess differently from each other. That is how "Tyra v. Cheney" turns into "Tira v. Cheney" in one cleaned file and stays correct in another.

## What goes in a glossary

Two sections.

**Domain vocabulary.** A flat list of terms specific to the course. This is reference material for the editor. The verifier does not parse it; it exists so the editor recognizes a term instead of "fixing" it into something else.

**Canonical spellings.** A fenced code block of `variant => canonical` pairs under a `## Canonical spellings` heading, one pair per line. Every proper noun, case name, or name with more than one plausible spelling goes here, mapped to the single spelling the course uses.

Example:

```
Tira v. Cheney => Tyra v. Cheney
Thompson v. Libbey => Thompson v. Libby
```

## How the verifier uses it

`scripts/verify_transcript_clean.py --glossary PATH` reads the `## Canonical spellings` block and checks a cleaned transcript for the variant forms on the left side of each pair. If a variant shows up in the output, the verifier prints a warning naming the canonical form on the right. The domain vocabulary list above that section is not read by the script; it is there for whoever, or whatever, is doing the cleanup.

## Writing one for a new course

Copy `law-contracts.md` as a starting template. Replace the vocabulary list with the new course's terms. Replace the canonical pairs with names that actually appear in that course's transcripts and have more than one plausible spelling. Skip names with only one reasonable spelling; they do not need an entry.
