Bläddra i källkod

feat(capitalize): enforce English in all memory registry entries

Registries are re-read at every session start; consistency pays back
each time. Adding a single rule in CLAUDE.md § Memory registries
(authoritative) + a short reminder at the end of each CAPITALIZE
block (ship-feature, bugfix, hotfix, feat, commit-change, close).

Rationale: (1) model re-reads the registries more efficiently in a
single language, (2) lower token cost for English (model's primary
training language), (3) easier cross-project reuse. Interactive gates
may still mirror the user's language — only the written entry is
constrained.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
bastien 3 veckor sedan
förälder
incheckning
bfcca72fac
7 ändrade filer med 17 tillägg och 3 borttagningar
  1. 3 0
      CLAUDE.md
  2. 2 0
      agents/bugfixer.md
  3. 3 1
      agents/commit-changer.md
  4. 3 1
      agents/feater.md
  5. 2 0
      agents/hotfixer.md
  6. 1 0
      skills/close/SKILL.md
  7. 3 1
      skills/ship-feature/SKILL.md

+ 3 - 0
CLAUDE.md

@@ -67,6 +67,9 @@ Five append-only registries persist across sessions. Read all at session start.
 | `journal.md` | date heading | 3-5 lines/session — what was done, decided, blocked |
 | `evals.md` | EVAL-XXX | Quality check of Claude's output + method + anomalies + action |
 
+**Language — registries are ALWAYS written in English:**
+All persisted entries (decisions, learnings, blockers, journal, evals) must be in English. Rationale: consistent vocabulary for re-read efficiency, lower token cost, easier cross-project reuse. User-facing CAPITALIZE prompts may mirror the user's language; only the final written entry is English.
+
 **Routing — what goes where:**
 - Choice with tradeoffs you'd defend → `decisions.md`.
 - Pattern worth reusing → `learnings.md`.

+ 2 - 0
agents/bugfixer.md

@@ -148,6 +148,8 @@ A bugfix with an understood root cause is almost always worth one entry:
    ```
 4. Append approved entries + update the Index. Add a line to today's heading in `.claude/memory/journal.md`.
 
+**Language rule**: written entries are ALWAYS in English (see CLAUDE.md "Memory registries" § Language). The interactive gate may mirror the user's language; the appended entries must not.
+
 If the bug was trivial and the root cause not transferable → skip with `CAPITALIZE: trivial, skip`.
 
 ---

+ 3 - 1
agents/commit-changer.md

@@ -125,4 +125,6 @@ Valider ? (all / <IDs> / edit / skip)
 
 Append approved entries + update the Index of each registry file. Add a line to today's heading in `.claude/memory/journal.md` summarising the commit batch.
 
-If all commits are pure chore/docs/style with nothing to log → skip with `CAPITALIZE: rien à logger`.
+**Language rule**: written entries are ALWAYS in English (see CLAUDE.md "Memory registries" § Language). The interactive gate may mirror the user's language; the appended entries must not.
+
+If all commits are pure chore/docs/style with nothing to log → skip with `CAPITALIZE: nothing to log`.

+ 3 - 1
agents/feater.md

@@ -136,7 +136,9 @@ Valider ? (all / <IDs> / edit / skip)
 
 Always append a 1-line entry to today's heading in `.claude/memory/journal.md`.
 
-If no substantive capture candidate → skip with `CAPITALIZE: rien à logger`.
+**Language rule**: written entries are ALWAYS in English (see CLAUDE.md "Memory registries" § Language). The interactive gate may mirror the user's language; the appended entries must not.
+
+If no substantive capture candidate → skip with `CAPITALIZE: nothing to log`.
 
 ---
 

+ 2 - 0
agents/hotfixer.md

@@ -86,6 +86,8 @@ Ask the user only when there is an actual candidate to propose.
 
 Always append a 1-line entry to today's heading in `.claude/memory/journal.md` (even trivial hotfix — journal is timeline, not signal).
 
+**Language rule**: the journal line and any proposed BLK/LRN entries are ALWAYS written in English (see CLAUDE.md "Memory registries" § Language).
+
 ---
 
 ## RULES

+ 1 - 0
skills/close/SKILL.md

@@ -136,3 +136,4 @@ Prochaine session : lire `.claude/memory/` au démarrage pour rappel.
 - Never overwrite existing entries — append-only.
 - If the user says `skip-all` → still write the journal line and exit.
 - If `.claude/memory/` is missing → STOP at STEP 0, do not create it here (onboard / init-project responsibility).
+- **Language rule**: written entries are ALWAYS in English (see CLAUDE.md "Memory registries" § Language). The 3-question prompt may mirror the user's language; the appended entries must not.

+ 3 - 1
skills/ship-feature/SKILL.md

@@ -143,7 +143,9 @@ Feature shipped implies at least one design decision worth capturing. Run this b
 4. Append approved entries to the registries. Update the Index table at the top of each file.
 5. Append a one-line entry to `.claude/memory/journal.md` under today's date heading (`## YYYY-MM-DD`).
 
-If nothing substantive to log → print `CAPITALIZE: rien à logger (travail trivial)` and skip.
+**Language rule**: written entries are ALWAYS in English (see CLAUDE.md "Memory registries" § Language). The interactive gate above may mirror the user's language; the appended entries must not.
+
+If nothing substantive to log → print `CAPITALIZE: nothing substantive to log` and skip.
 
 ---