chore(memory): retrofit existing 9 entries to English
Apply the English-only rule (BDR/CLAUDE.md § Memory registries) retroactively to the 9 entries written before the rule was in place: - decisions.md: BDR-001, BDR-002, BDR-003 + index titles - learnings.md: LRN-001, LRN-002 body prose (LRN-002 was already half-English from the CAPITALIZE pass; now fully normalized) - blockers.md: BLK-001, BLK-002 + BLK-002 index row - journal.md: 2026-04-23 entry rewritten, + one bullet added noting the retrofit itself - evals.md: EVAL-001 + index row Content-preserving translation — same claims, same IDs, same dates, same file structure. YAML headers and schema sections untouched (they were already English). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.7
parent
617865cb07
commit
54602a9a3c
+17
-17
@@ -21,27 +21,27 @@ rules:
|
||||
| ID | Date | Friction | Status |
|
||||
|----|------|---------|--------|
|
||||
| BLK-001 | 2026-04-22 | `rtk curl` breaks JSON pipelines | upstream |
|
||||
| BLK-002 | 2026-04-23 | `rmdir` refusé en sandbox sur dossier vide | resolved (manual user step) |
|
||||
| BLK-002 | 2026-04-23 | `rmdir` denied in sandbox on empty directory | resolved |
|
||||
|
||||
---
|
||||
|
||||
## BLK-001 — `rtk curl` returns compressed schema in pipes
|
||||
|
||||
- **Date** : 2026-04-22
|
||||
- **Friction** : toute pipeline `rtk curl ... | python -c "json.load(sys.stdin)"` (ou `jq`, `awk`) échoue sans message clair.
|
||||
- **Cause réelle** : `rtk curl` auto-compresse stdout indépendamment du TTY — documenté dans `.claude/tasks/rtk-upstream-issue.md`.
|
||||
- **Solution** :
|
||||
- Workaround court terme : `exclude_commands=["curl"]` dans `~/.config/rtk/config.toml`.
|
||||
- Workaround alternatif : utiliser `rtk proxy`.
|
||||
- Fix upstream : issue reportée, voir `.claude/tasks/rtk-upstream-issue.md`.
|
||||
- **Statut** : upstream (bug chez `rtk`, workaround appliqué).
|
||||
- **Date**: 2026-04-22
|
||||
- **Friction**: any pipeline like `rtk curl ... | python -c "json.load(sys.stdin)"` (or `jq`, `awk`) fails without a clear error message.
|
||||
- **Real cause**: `rtk curl` auto-compresses stdout regardless of TTY — documented in `.claude/tasks/rtk-upstream-issue.md`.
|
||||
- **Solution**:
|
||||
- Short-term workaround: `exclude_commands=["curl"]` in `~/.config/rtk/config.toml`.
|
||||
- Alternative workaround: use `rtk proxy`.
|
||||
- Upstream fix: issue reported, see `.claude/tasks/rtk-upstream-issue.md`.
|
||||
- **Status**: upstream (`rtk` bug, workaround applied).
|
||||
|
||||
## BLK-002 — `rmdir` refusé en sandbox sur dossier vide
|
||||
## BLK-002 — `rmdir` denied in sandbox on empty directory
|
||||
|
||||
- **Date** : 2026-04-23
|
||||
- **Friction** : impossible de supprimer le dossier `./tasks/` une fois vidé (après migration vers `.claude/tasks/`). Commands `rmdir tasks` et `rm -r tasks` retournent "Permission denied" même si le dir est vide et que l'intent est non-destructif.
|
||||
- **Cause réelle** : la sandbox Claude Code bloque les commandes destructives (`rm`, `rmdir`, `rm -rf`) par défaut via le harness permission gate, indépendamment de la sémantique réelle. Le `git rm` via `git` lui passait (commit `c721a36`) — git est traité comme tool non-destructif.
|
||||
- **Solution** :
|
||||
- Cette session : `git rm tasks/*.md` a traité les fichiers individuellement (via `git rm`, passé par le gate). Ensuite git a auto-détecté les renames vers `.claude/tasks/`, donc le dir `tasks/` a été supprimé implicitement au commit.
|
||||
- Si le dir persiste vide après `git rm` : demander à l'user de lancer `rmdir tasks` manuellement.
|
||||
- **Statut** : resolved (résolu par `git rm` + auto-detect rename, pas de `rmdir` requis en pratique).
|
||||
- **Date**: 2026-04-23
|
||||
- **Friction**: couldn't delete `./tasks/` after emptying it (post-migration to `.claude/tasks/`). `rmdir tasks` and `rm -r tasks` returned "Permission denied" even with an empty dir and non-destructive intent.
|
||||
- **Real cause**: the Claude Code sandbox blocks destructive commands (`rm`, `rmdir`, `rm -rf`) by default via the harness permission gate, regardless of actual semantics. `git rm` through `git` passed (commit `c721a36`) — git is treated as a non-destructive tool.
|
||||
- **Solution**:
|
||||
- This session: `git rm tasks/*.md` handled files individually (via `git rm`, which cleared the gate). Git then auto-detected renames to `.claude/tasks/`, so the `tasks/` directory was removed implicitly at commit time.
|
||||
- If the dir persists empty after `git rm`: ask the user to run `rmdir tasks` manually.
|
||||
- **Status**: resolved (fixed via `git rm` + rename auto-detection; no `rmdir` needed in practice).
|
||||
|
||||
Reference in New Issue
Block a user