locale qa agent failed to catch pseudo locale expansion flagged as bug
Covers QA agents mistaking pseudo-locale expansion for bugs: detect pseudo and use expansion-aware assertions. Use it when pseudo runs fail overflow en masse. Not for real locale overflows.
Fix the locale QA agent flagging pseudo-locale expansion as a bug
TL;DR
Pseudo locales are supposed to be long, so teach the agent what pseudo text looks like instead of failing it. The agent sees 40 percent longer strings and cries overflow, but that is the pseudo locale doing its job. Detect the pseudo markers and apply expansion-aware assertions, or skip overflow checks for pseudo runs.
The error
Locale QA agent: pseudo locale flagged as bug, 120 overflow failures
every failure is expected pseudo expansionFix it
Step 1: Confirm the locale is pseudo
node -e "console.log('check the locale code: pseudo locales are usually named like en-XA or qps-ploc')"Expected: The failures are all in the pseudo locale.
Step 2: Detect pseudo markers in the agent
grep -n "locale" scripts/qa-agent.js | head -5Expected: You find where the agent reads the active locale.
Step 3: Apply expansion-aware assertions for pseudo
node -e "console.log('pattern: if locale is pseudo, allow 50 percent expansion before failing overflow')"Expected: Expected expansion stops failing.
Step 4: Re-run the pseudo QA pass
node scripts/qa-agent.js --locale en-XA | tail -3Expected: The pass is clean except for genuine breaks.
When to use this
- A QA agent flags pseudo-locale expansion as bugs
- Every pseudo run fails overflow checks
When NOT to use this
- Real locales overflow, those are genuine bugs
- The pseudo locale itself is broken, fix the generator
Tool and version compatibility
- Pseudo locales like en-XA, expansion testing
- Overflow assertions with locale awareness
Variant phrasings
pseudo failures drown out real ones
Separate the reports. Pseudo runs check layout robustness, real runs check correctness.
no pseudo markers to detect
Add them. A pseudo locale without markers is indistinguishable from bad translations.
Why it happens
Pseudo locales deliberately inflate strings to simulate languages like German. An overflow check tuned for real locales sees the inflation as breakage, because it does not know the locale is synthetic.
Edge cases
- Keep some strict checks on pseudo too, total breakage is still breakage
- Document the pseudo expansion factor so thresholds stay honest
- Real German still needs its own run, pseudo does not replace it
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_vKqNP4E0jNw1xlO3qTP6FQ