Skip to content

Commit ac387e6

Browse files
committed
chore(config): collapse forced-Japanese chat to outputStyle only
outputStyle: "Japanese" in settings.json is sufficient on its own, so the redundant belt-and-suspenders is removed: the SessionStart language-policy printf and the CLAUDE.md "re-injected every session / turn 1 must be Japanese" enforcement are dropped. CLAUDE.md now documents the one setting + the settings.local.json per-machine override (clean English opt-out). D-565 item (7) forced-Japanese part discharged; handover brief + gate cadence hook output unchanged.
1 parent 65e9c07 commit ac387e6

3 files changed

Lines changed: 11 additions & 10 deletions

File tree

‎.claude/CLAUDE.md‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -99,12 +99,12 @@ per ADR-0025; existing chapters live read-only under
9999
Don't mix Japanese into English docs. In `docs/ja/`, body is Japanese;
100100
code blocks keep their original English identifiers.
101101

102-
The chat-reply-in-Japanese rule is enforced by the project output style
102+
Chat replies default to Japanese via the project output style
103103
[`.claude/output_styles/japanese.md`](../.claude/output_styles/japanese.md)
104-
(activated via `outputStyle: "Japanese"` in `.claude/settings.json`)
105-
plus a SessionStart hook that re-injects the directive on every session.
106-
Even with a slash command (e.g. `/continue`) as the very first input,
107-
turn 1 must be Japanese.
104+
(activated by `outputStyle: "Japanese"` in `.claude/settings.json`). That
105+
single setting is sufficient — the redundant SessionStart re-injection was
106+
removed. To work in another language, override `outputStyle` per-machine in
107+
`.claude/settings.local.json` (gitignored); code / commits / docs stay English.
108108

109109
## Working agreement
110110

‎.claude/settings.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
"hooks": [
6464
{
6565
"type": "command",
66-
"command": "printf '=== language policy ===\\nReply to the user in Japanese (画面表示は日本語). Code, identifiers, file paths, commit messages, and English docs stay in English. See .claude/output_styles/japanese.md.\\n\\n' && printf '=== gate cadence (dev efficiency — read BEFORE the first commit) ===\\nDo NOT run the full gate per commit (it is slow and kills iteration). Per commit: bash test/run_all.sh --smoke <changed-e2e-step> (~tens of sec; ADR-0107 — the smoke tier authorizes shared-code commits too, up to 5 before a forced full gate) and do not block. Batch the full bash test/run_all.sh --serial-e2e at the ceiling / phase boundary / pre-release (backgroundable as a look-ahead). If a full gate fails on ONLY a non-code check (e.g. check_debt_id_refs), fix it + re-smoke — do NOT re-run the whole full gate. SSOT: .claude/rules/gate_cadence.md + memory smoke_first_batch_full_gate.\\n\\n' && test -f $CLAUDE_PROJECT_DIR/.dev/handover.md && printf '=== .dev/handover.md ===\\n' && cat $CLAUDE_PROJECT_DIR/.dev/handover.md && printf '\\n=== git log -3 ===\\n' && git -C $CLAUDE_PROJECT_DIR log -3 --decorate --oneline; test -f $CLAUDE_PROJECT_DIR/.dev/.perf_campaign_active && test -f $CLAUDE_PROJECT_DIR/.dev/perf_campaign_essence.md && printf '\\n=== perf-campaign essence (§9.2.S — relentless lookahead, machine-injected) ===\\n' && cat $CLAUDE_PROJECT_DIR/.dev/perf_campaign_essence.md || true"
66+
"command": "printf '=== gate cadence (dev efficiency — read BEFORE the first commit) ===\\nDo NOT run the full gate per commit (it is slow and kills iteration). Per commit: bash test/run_all.sh --smoke <changed-e2e-step> (~tens of sec; ADR-0107 — the smoke tier authorizes shared-code commits too, up to 5 before a forced full gate) and do not block. Batch the full bash test/run_all.sh --serial-e2e at the ceiling / phase boundary / pre-release (backgroundable as a look-ahead). If a full gate fails on ONLY a non-code check (e.g. check_debt_id_refs), fix it + re-smoke — do NOT re-run the whole full gate. SSOT: .claude/rules/gate_cadence.md + memory smoke_first_batch_full_gate.\\n\\n' && test -f $CLAUDE_PROJECT_DIR/.dev/handover.md && printf '=== .dev/handover.md ===\\n' && cat $CLAUDE_PROJECT_DIR/.dev/handover.md && printf '\\n=== git log -3 ===\\n' && git -C $CLAUDE_PROJECT_DIR log -3 --decorate --oneline; test -f $CLAUDE_PROJECT_DIR/.dev/.perf_campaign_active && test -f $CLAUDE_PROJECT_DIR/.dev/perf_campaign_essence.md && printf '\\n=== perf-campaign essence (§9.2.S — relentless lookahead, machine-injected) ===\\n' && cat $CLAUDE_PROJECT_DIR/.dev/perf_campaign_essence.md || true"
6767
}
6868
]
6969
}

‎.dev/debt.yaml‎

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,11 @@ active:
5151
autonomous loop while README says PRs closed + handover says
5252
PAUSED/Stopped → readers over-estimate the live cadence. Add a one-line
5353
"maintenance mode" banner.
54-
(7) [onboarding, no CONTRIBUTING note] how to opt OUT of forced-Japanese
55-
chat (settings.json outputStyle + the SessionStart language hook); that
56-
the reference-clone SURVEY workflow needs the gitignored
57-
`.claude/settings.local.json` additionalDirectories + personal
54+
(7) [onboarding] forced-Japanese chat FIXED 2026-07-29 — reduced to the single
55+
`outputStyle` setting (the SessionStart language printf + CLAUDE.md
56+
re-injection removed), with the settings.local.json override documented.
57+
Residual CONTRIBUTING notes: the reference-clone SURVEY workflow needs the
58+
gitignored `.claude/settings.local.json` additionalDirectories + personal
5859
`~/Documents/OSS` clones (a fresh clone's Step-0 survey has nothing to
5960
read); undocumented external tools `clj` (hardcoded /opt/homebrew/bin/clj)
6061
+ `md-table-align`.

0 commit comments

Comments
 (0)