In plain English
Add a distinct "Localization Suggestion" form type where users can suggest better translations or report wrong ones. Before submitting, three AI models independently validate the suggested translation, and the form clearly shows users which strings were auto-translated vs. human-maintained.
User story
As an app user who speaks a non-English language, I want to suggest a better translation for a string in the app so that the app reads naturally in my language — and I want to understand whether I'm correcting an AI translation or a human one.
Context
This is a distinct form variant layered on top of the core feedback form system. It adds:
- A "Localization Suggestion" type option in the feedback widget
- A translation provenance label (AI-driven vs. human-driven) shown per string
- A 3-model consensus check in the worker before the suggestion is filed as a GitHub issue
The 3-model consensus check happens server-side in the feedback worker (#109), not in the UI.
Part of: #46
Depends on: #109 (worker), #110 (gaming_app UI), #111 (book_app UI)
Acceptance criteria
Form UI (both gaming_app and book_app widgets)
Worker consensus check (#109 extension)
Provenance data
Technical notes
- Worker payload for localization type:
{ appId, type: "localization", locale, originalString, suggestedTranslation, i18nKey?, reason?, sessionLogs? }
- Three-model consensus: use Anthropic API with 3 separate calls; prompt asks "Is this translation of [originalString] into [locale] accurate and natural? Respond with valid: true/false and a brief reason."
- Consider using different temperatures (0.0, 0.3, 0.7) to get varied but independent assessments
- Provenance map location per app:
src/locales/provenance.json (keys match i18n key names, value: "ai" | "human")
- i18n: all new form copy uses
feedback namespace, add sub-keys under feedback.localization.*
Test coverage
Unit tests
E2E tests
Performance
Regression
Documentation to update
Unknowns / needs investigation
- How apps currently expose i18n key information at the component level — needed to pre-populate the i18n key field when a user triggers feedback from a specific translated string
- Whether gaming_app and book_app have a shared i18n key namespace or separate ones
Out of scope
- Automatic application of approved translations (human review still required before merging translation files)
- Crowdsourced voting on competing translation suggestions
- Real-time translation preview
Dependencies
Definition of done
In plain English
Add a distinct "Localization Suggestion" form type where users can suggest better translations or report wrong ones. Before submitting, three AI models independently validate the suggested translation, and the form clearly shows users which strings were auto-translated vs. human-maintained.
User story
As an app user who speaks a non-English language, I want to suggest a better translation for a string in the app so that the app reads naturally in my language — and I want to understand whether I'm correcting an AI translation or a human one.
Context
This is a distinct form variant layered on top of the core feedback form system. It adds:
The 3-model consensus check happens server-side in the feedback worker (#109), not in the UI.
Part of: #46
Depends on: #109 (worker), #110 (gaming_app UI), #111 (book_app UI)
Acceptance criteria
Form UI (both gaming_app and book_app widgets)
Worker consensus check (#109 extension)
type: "localization"and routes to consensus-check flowvalid: truefor the issue to be filed; if any returnsvalid: false, the submission is rejected with a human-readable explanation<details>block in the filed GitHub issue for transparencylocalizationin the target repoProvenance data
aiorhumanTechnical notes
{ appId, type: "localization", locale, originalString, suggestedTranslation, i18nKey?, reason?, sessionLogs? }src/locales/provenance.json(keys match i18n key names, value:"ai"|"human")feedbacknamespace, add sub-keys underfeedback.localization.*Test coverage
Unit tests
aiandhumankeysE2E tests
Performance
Regression
Documentation to update
CLAUDE.md— document localization suggestion flow and 3-model consensus in feedback worker sectionprovenance.jsonformat and update processUnknowns / needs investigation
Out of scope
Dependencies
Definition of done