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>
3.9 KiB
3.9 KiB
| type | entry_prefix | schema | rules | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| decisions_registry | BDR |
|
|
Decisions registry (BDR)
Index
| ID | Date | Title | Status |
|---|---|---|---|
| BDR-001 | 2026-04-22 | Uniform --help helper via session-start hook (option C) | accepted |
| BDR-002 | 2026-04-23 | Move tasks/ + introduce memory + audits under .claude/ | accepted |
| BDR-003 | 2026-04-23 | Gitignore wildcard + negations pattern for .claude/ | accepted |
BDR-001 — Uniform --help helper via session-start hook (option C)
- Date: 2026-04-22
- Status: accepted
- Decision: every skill exposes
--helpvia a shared snippet injected by the session-start hook, rather than duplicating the helper in each SKILL.md. - Why: 25+ skills — keeping the same helper synced across every file guarantees drift. A single injection point = single source of truth.
- Alternatives rejected:
- Option A (copy the helper into each SKILL.md) — rejected: maintenance entropy.
- Option B (external wrapper
/help <skill>) — rejected: breaks the "one command = one skill" experience.
- Reference: commit
3968a29.
BDR-002 — Move tasks/ + introduce memory + audits under .claude/
- Date: 2026-04-23
- Status: accepted
- Decision: migrate
./tasks/to.claude/tasks/, create.claude/memory/(5 registries BDR/LRN/BLK/journal/EVAL) and.claude/audits/for AUDIT_* files. Adapt skills/agents/CLAUDE.md. Integrate a CAPITALIZE step into completion skills (ship-feature, feat, bugfix, hotfix, commit-change) and add a/closeskill for the session-end ritual. - Why: grouping all meta-project state (AI config + tasks + memory + audits) under
.claude/isolates Claude governance from real code. Aligned with the official Claude Code memory docs. Without integration in completion skills, the registries would stay empty (aspirational text). - Alternatives rejected:
- Keep
./tasks/at root — rejected: clutters the repo, mixes code signal with governance signal. - Use
.claude/agent-memory/for everything — rejected:agent-memory/has a distinct role (already used by other tools). - Ritual as aspirational text only in CLAUDE.md — rejected: zero execution guarantee, registries would stay empty.
Stophook to ask the 3 questions every turn — rejected: too noisy.
- Keep
BDR-003 — Gitignore wildcard + negations pattern for .claude/
- Date: 2026-04-23
- Status: accepted
- Decision: use
.claude/*(wildcard match of immediate children) + negations!.claude/tasks/,!.claude/memory/, etc., rather than.claude/(recursive ignore). - Why: when a parent is ignored via
.claude/, git does not descend into it (performance optimization) and negations on children are ignored — documented ingitignore(5). With.claude/*, git matches each child individually, making negations active. - Alternatives rejected:
.claude/+!.claude/tasks/(naive) — rejected: negations have no effect, everything stays ignored.- Drop
.claude/from gitignore entirely — rejected:.claude/settings.local.jsonand.claude/agent-memory/must stay ignored (per-machine). - Track paths via
.gitattributesor an external tool — rejected: over-engineering, git handles this natively.
- Reference: commit
499cd07,git check-ignore -vverified on 4 paths (2 tracked, 2 ignored).