Bug Description
Ponytail's style rules are designed for English-only conversations. When used in Chinese/Japanese/Korean (CJK) contexts, several issues arise:
-
"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.
-
"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.
-
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):
- Detect CJK characters in user input/session context
- 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
Bug Description
Ponytail's style rules are designed for English-only conversations. When used in Chinese/Japanese/Korean (CJK) contexts, several issues arise:
"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.
"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.
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):
This is the same approach caveman uses: CJK detection → skip English-specific rules → keep language-agnostic rules.
Related