Slice 8 of #789. Blocked on slices 4-6 (needs the surface to describe).
Documentation, per the standing rule that user-visible behaviour updates docs in the same PR as the behaviour.
Scope
specs/product/GLOSSARY.md: the concepts MCP introduces to a farm's vocabulary. At minimum: what an assistant connection is, what it can and cannot do, and that it acts as the person who connected it.
- The SPA Help page and in-app glossary: the same, in the words a farmer uses.
Three locales, and a trap that has already cost this repo
The catalogs are en, es, tl. catalogParity compares key sets, so a translated string that renames a control passes every gate. In #678 the es help text called the expiry field caducidad in one string and vencimiento in another while its label said Vencimiento. tl called it pagkaluma ("becoming obsolete"), which is not an expiry date.
Nothing enforces this. When help prose names a labelled control, look that label up in each locale and use its word. A locale must never disagree with itself about the same control. The mechanical fix was built and rejected on evidence (#688). Tagalog affixation defeats substring and stem matching, and tl is the locale the defect landed in.
If this slice changes any screen
It carries before/after screenshots captured from a stack rebuilt at the head under review, attached with gh pr comment --attach. Never commit them to a branch. A branch is deletable, and routine cleanup silently breaks images on a merged PR while the prose still claims they exist.
Also worth writing down
If #792's decision about farm-controlled free text reaching a model's context changes what a user is told, reflect it here.
Slice 8 of #789. Blocked on slices 4-6 (needs the surface to describe).
Documentation, per the standing rule that user-visible behaviour updates docs in the same PR as the behaviour.
Scope
specs/product/GLOSSARY.md: the concepts MCP introduces to a farm's vocabulary. At minimum: what an assistant connection is, what it can and cannot do, and that it acts as the person who connected it.Three locales, and a trap that has already cost this repo
The catalogs are
en,es,tl.catalogParitycompares key sets, so a translated string that renames a control passes every gate. In #678 theeshelp text called the expiry field caducidad in one string and vencimiento in another while its label saidVencimiento.tlcalled it pagkaluma ("becoming obsolete"), which is not an expiry date.Nothing enforces this. When help prose names a labelled control, look that label up in each locale and use its word. A locale must never disagree with itself about the same control. The mechanical fix was built and rejected on evidence (#688). Tagalog affixation defeats substring and stem matching, and
tlis the locale the defect landed in.If this slice changes any screen
It carries before/after screenshots captured from a stack rebuilt at the head under review, attached with
gh pr comment --attach. Never commit them to a branch. A branch is deletable, and routine cleanup silently breaks images on a merged PR while the prose still claims they exist.Also worth writing down
If #792's decision about farm-controlled free text reaching a model's context changes what a user is told, reflect it here.