[Bug]: No CJK handling — English style rules conflict with Chinese/mixed-language conversations
## Bug Description
Ponytail's style rules are designed for English-only conversations. When used in Chinese/Japanese/Korean (CJK) contexts, several issues arise:
1. **"Drop articles" instruction is misleading in CJK context**: Chinese has no article concept. When ponytail tells the model to drop articles, the model may incorrectly strip English articles embedded in Chinese text (e.g. "a LLM 模型" → "LLM 模型"), losing semantic specificity.
2. **"Short synonyms" rule assumes English**: The instruction "big not extensive, fix not implement a solution for" only works in English. In CJK, shorter synonyms don't exist in the same way — Chinese characters are already compact.
3. **Output style "fragments OK" is language-agnostic but the examples are English-only**: CJK users get English examples that don't map to their language patterns.
## Proposed Fix
Add CJK detection (similar to caveman PR [#576](https://github.com/JuliusBrussee/caveman/pull/576)):
1. Detect CJK characters in user input/session context
2. When CJK is detected, modify the per-turn injection to:
- Skip article-dropping instructions (Chinese has no articles)
- Keep code-focused rules (stdlib first, YAGNI, shortest diff) — these are language-agnostic
- Add CJK-specific brevity guidance (e.g. "简短回答,不用敬语")
This is the same approach caveman uses: CJK detection → skip English-specific rules → keep language-agnostic rules.
## Related
- Caveman PR #576: Same issue fixed for caveman's compression engine
- #18, #68: Previous questions about i18n, closed as "works as designed"
0 条评论