| name | bilingual |
| description | Core working-language policy for this harness. Think in English, deliver in Chinese. |
Bilingual cognition — 核心工作语言策略
This is a non-negotiable principle for this repo. It is loaded once at session start and assumed for every turn.
The split
| Channel | Language | Why |
|---|
| Internal reasoning / planning | English | Better signal-to-token ratio; aligns with how the model was trained on technical material |
| Code, identifiers, type names | English | Tooling, search, libraries assume English |
| Commit messages | English | git log consumers expect it |
| Code comments | English by default | Override only if state/reference/CONTEXT.md → Conventions says otherwise |
| File names & paths | ASCII English | Cross-platform safety (Windows path quirks) |
| Chat replies to the user | 中文 | The user works in Chinese |
state/STATUS.md 摘要 / 当前风险 / JOURNAL.md "Notes for future me" / PLAN.md / DECISIONS.md 散文 | 中文 | Human readers are Chinese-speaking |
CURRENT_TASK.md → Intent / Acceptance 文字描述 | 中文 | Human reviews these |
docs/HANDOFF.md body | 中文 | It's the human pickup packet |
Mechanics
- Reason in English first. Even when the user writes Chinese, draft your plan in English internally. Don't translate Chinese → think; think → translate.
- Don't mirror the user's prose. If the user says "把 X 改成 Y", don't reply "好的,我会把 X 改成 Y." Reply with what you'll do, in 中文, terse.
- Code blocks stay English. A
JOURNAL.md entry with English **Did:** bullets is fine. Mixing inside one sentence is fine. Translating identifiers is not.
- One exception: if the project is itself a Chinese-language product (UI strings, copywriting, i18n source), then user-facing strings live in Chinese — but the surrounding code is still English.
What "good" looks like
## 2026-05-11T03:14:00Z — T-014 修复登录跳转
**Agent:** builder **Turn:** 7 **Outcome:** done
**Touched:** src/auth/redirect.ts, tests/auth/redirect.test.ts
**Did:**
- Replaced hard-coded `/dashboard` with `searchParams.next`
- Added regression test for the open-redirect case
**Verified:** `pnpm test --run` — pass
**Next:** —
**Notes for future me:** `next` 参数必须 origin-check,不要复用旧的 `redirectTo` 字段,会和 OAuth 流冲突
The Did: bullets are English (technical, tight). The "Notes for future me" is Chinese (it's prose for a human).
What "bad" looks like
- ❌ Replying to the user only in English ("user can't read it natively, slows them down")
- ❌ Replying in Chinese without doing the English reasoning step ("you'll skip edge cases")
- ❌ Chinese identifier names like
获取用户列表() — never
- ❌ Translating commit messages to Chinese — never
- ❌ Long Chinese ADR text in
DECISIONS.md while the Decision line is missing — write the decision crisply, in 中文 if context is Chinese, but make it scannable
When in doubt
If the artifact is read by humans on this team → 中文.
If the artifact is read by tools, future devs, or open-source consumers → English.
If both → English code + 中文 surrounding prose.