chore(memory): MemPalace automatisch einbinden + Memory-Policy in CLAUDE.md
.claude/settings.json (committet) verdrahtet die MemPalace-Hooks (session-start lädt Kontext, stop/precompact persistieren) → künftige Claude- Sessions in diesem Ordner nutzen MemPalace automatisch (zusammen mit .mcp.json, das die 19 MCP-Tools bereitstellt; aktiv nach Claude-Neustart). CLAUDE.md: Abschnitt „Gedächtnis (MemPalace)" + Memory-Policy (WANN/WIE/WO eine Memory angelegt wird: durable & nicht-offensichtlich → Palast; kanonisch & projektweit → zusätzlich CLAUDE.md; Veraltetes per kg_invalidate beenden statt löschen). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
35
.claude/settings.json
Normal file
35
.claude/settings.json
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://json.schemastore.org/claude-code-settings.json",
|
||||||
|
"hooks": {
|
||||||
|
"SessionStart": [
|
||||||
|
{
|
||||||
|
"hooks": [
|
||||||
|
{
|
||||||
|
"type": "command",
|
||||||
|
"command": "mempalace hook run --hook session-start --harness claude-code"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Stop": [
|
||||||
|
{
|
||||||
|
"hooks": [
|
||||||
|
{
|
||||||
|
"type": "command",
|
||||||
|
"command": "mempalace hook run --hook stop --harness claude-code"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"PreCompact": [
|
||||||
|
{
|
||||||
|
"hooks": [
|
||||||
|
{
|
||||||
|
"type": "command",
|
||||||
|
"command": "mempalace hook run --hook precompact --harness claude-code"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
45
CLAUDE.md
45
CLAUDE.md
@@ -156,3 +156,48 @@ python test_extract.py test_extract_docx.py test_genotype.py test_merge_resol
|
|||||||
3. `dotnet build` + `dotnet test` grün.
|
3. `dotnet build` + `dotnet test` grün.
|
||||||
4. Bei Import-Änderungen: `python test_*.py` grün + `resolved_import.json` plausibel
|
4. Bei Import-Änderungen: `python test_*.py` grün + `resolved_import.json` plausibel
|
||||||
(Stichprobe), danach App neu starten + `POST /import/ingest-resolved`.
|
(Stichprobe), danach App neu starten + `POST /import/ingest-resolved`.
|
||||||
|
|
||||||
|
## Gedächtnis (MemPalace) — IMMER nutzen
|
||||||
|
|
||||||
|
Dieses Projekt nutzt **MemPalace** als KI-Langzeitgedächtnis (lokal, kein API-Key).
|
||||||
|
Die Anbindung ist im Repo persistiert und lädt automatisch:
|
||||||
|
- `.mcp.json` (committet) registriert den MCP-Server `mempalace-mcp` → **19 MCP-Tools**
|
||||||
|
(`mempalace_search`, `mempalace_kg_query/add/invalidate/timeline`, `mempalace_add_drawer`,
|
||||||
|
`mempalace_diary_*` …). Aktiv ab Claude-Neustart (MCP-Server einmal bestätigen).
|
||||||
|
- `.claude/settings.json` (committet) verdrahtet die Hooks
|
||||||
|
`mempalace hook run --hook {session-start,stop,precompact} --harness claude-code`:
|
||||||
|
**SessionStart** lädt relevanten Kontext automatisch, **Stop/PreCompact** persistieren.
|
||||||
|
- Voraussetzung: `mempalace` ist installiert und auf PATH (`~/.local/bin`). Nach `git clone`
|
||||||
|
ggf. MemPalace installieren; `mempalace.yaml` (Raum-Config) ist bewusst **gitignored**
|
||||||
|
(per-project, lokal). Der Palast selbst liegt lokal unter `~/.mempalace` (nicht im Repo).
|
||||||
|
|
||||||
|
**Arbeitsweise pro Session:** zu Aufgabenbeginn relevantes Wissen abrufen
|
||||||
|
(`mempalace_search` / `mempalace_kg_query`), bevor du im Code suchst; am Ende neue
|
||||||
|
durable Erkenntnisse ablegen.
|
||||||
|
|
||||||
|
### Memory-Policy — WANN / WIE / WO eine Memory anlegen
|
||||||
|
|
||||||
|
**WANN** (anlegen): nur **dauerhaft** nützliches, **nicht-offensichtliches** Wissen, das
|
||||||
|
künftige Sessions braucht — Architektur-/Design-Entscheidungen und ihr *Warum*, Domänenregeln
|
||||||
|
(z. B. 6-Jahre-Lebensspanne, Geschwisterverpaarung), Konventionen, Stolperfallen, bestätigte
|
||||||
|
Nutzer-Präferenzen, wiederkehrende Workflows.
|
||||||
|
**NICHT anlegen**: transienter Task-Status; was Code/Git/CLAUDE.md ohnehin festhalten;
|
||||||
|
Dinge, die nur für das aktuelle Gespräch zählen.
|
||||||
|
|
||||||
|
**WIE** (anlegen/pflegen):
|
||||||
|
- Fakt mit Gültigkeit → `mempalace_kg_add`. Freitext-Notiz/Erkenntnis → `mempalace_add_drawer`
|
||||||
|
(vorher `mempalace_check_duplicate`).
|
||||||
|
- Ändert/erledigt sich ein Fakt → `mempalace_kg_invalidate` (setzt End-Datum, **nicht löschen** —
|
||||||
|
der Graph ist temporal). So bleibt nichts veraltet stehen.
|
||||||
|
- Repo-Dateien werden über `mempalace mine <dir>` automatisch gefilet; `mempalace sync --apply
|
||||||
|
--wing gerbilmanager` entfernt Drawers gelöschter/verschobener Dateien.
|
||||||
|
|
||||||
|
**WO** (welcher Speicher):
|
||||||
|
- **MemPalace-Palast** (`~/.mempalace`, lokal): reichhaltiges, durchsuchbares Recall — der Default
|
||||||
|
für Memories.
|
||||||
|
- **CLAUDE.md** (Repo, committet): die **kanonischen** Projektfakten/Konventionen, die geteilt und
|
||||||
|
versioniert sein müssen. Wichtige durable Erkenntnisse hier spiegeln, damit sie im Repo (nicht nur
|
||||||
|
lokal) liegen.
|
||||||
|
|
||||||
|
Faustregel: durable + projektweit kanonisch → **CLAUDE.md** *und* Palast; sonstiges durable Wissen →
|
||||||
|
Palast; veraltetes → invalidieren, nicht stehen lassen.
|
||||||
|
|||||||
Reference in New Issue
Block a user