Surfaced by a second pilot (Claude Sonnet 4.6 against examples/after/, 2026-05-24). Full feedback: examples/after/dialect-feedback.md.
Problem
dialect check's source_equality rule (translation equals source) currently has no in-ARB escape hatch. The dashboard's lock feature handles it, but if a developer isn't running dialect serve, the warning persists on every check run for known cognates/loanwords:
vi settingsEmail = "Email" — Email is a common loanword in Vietnamese
es checkoutTotal = "Total: ${amount}" — Total is a Spanish cognate
Suggested fix
Mirror the existing glossary_exempt: true pattern but allow a list of locales (since cognate-equality is locale-specific):
"@settingsEmail": {
"namespace": "settings",
"description": "Row label in settings.",
"source_equality_exempt": ["vi", "id", "ms"]
}
dialect check's source_equality rule respects the list — equal translations in those locales no longer warn.
Acceptance
- Source ARB
@key blocks accept source_equality_exempt: [<locale>, …].
dialect check's source_equality rule suppresses warnings for keys+locales in the list.
- Dashboard lock still works; the two mechanisms cover the same surface from different angles (in-ARB for keys you'd commit; dashboard lock for ad-hoc/review-flow).
Surfaced by a second pilot (Claude Sonnet 4.6 against
examples/after/, 2026-05-24). Full feedback:examples/after/dialect-feedback.md.Problem
dialect check'ssource_equalityrule (translation equals source) currently has no in-ARB escape hatch. The dashboard's lock feature handles it, but if a developer isn't runningdialect serve, the warning persists on everycheckrun for known cognates/loanwords:vi settingsEmail = "Email"—Emailis a common loanword in Vietnamesees checkoutTotal = "Total: ${amount}"—Totalis a Spanish cognateSuggested fix
Mirror the existing
glossary_exempt: truepattern but allow a list of locales (since cognate-equality is locale-specific):dialect check'ssource_equalityrule respects the list — equal translations in those locales no longer warn.Acceptance
@keyblocks acceptsource_equality_exempt: [<locale>, …].dialect check'ssource_equalityrule suppresses warnings for keys+locales in the list.