# Blueprint: Memory-Stack (Memory + Learnings + Projects)

Version 1.0 · denzer.ai · Lizenz: frei nutzbar mit Quellenangabe

---

## Teil A — Für deinen Agent

### Ziel

Drei lebende Markdown-Dateien als Langzeitgedächtnis des Operators: **MEMORY.md** (permanente Entscheidungen und Vorlieben), **LEARNINGS.md** (Regeln aus Fehlern, Korrekturen), **PROJECTS.md** (laufender Projekt-Kontext). Keine Datenbank, keine Cloud. Lokal, portabel, vom Operator jederzeit editierbar.

### Erfolgskriterien

- Drei Dateien unter `<root>/brain/`: `MEMORY.md`, `LEARNINGS.md`, `PROJECTS.md`
- Jeder Eintrag im Format **Datum + Titel + 1–3 Sätze Inhalt + (optional) Quelle/Anlass**
- Vor jedem Schreiben **wird die Datei frisch eingelesen** (nicht aus Kontext-Cache), Duplikate vermieden
- Korrekturen ändern bestehende Einträge, nie nur neu anhängen
- Maximal eine A4-Seite pro Datei, sonst wird das Älteste in `brain/archive/` ausgelagert

### Aufbau der drei Dateien

**MEMORY.md** — permanente Entscheidungen und Vorlieben des Operators.

```markdown
## 2026-04-12 — Lieblings-Editor
Cursor, nicht VS Code. Wegen Multi-File-Edits.

## 2026-04-09 — Steuerberaterin
Frau Klein, Husum. Kontakt: ...
```

**LEARNINGS.md** — Regeln, die aus Fehlern entstanden sind.

```markdown
## 2026-04-15 — Server nie ohne Stream-Check restarten
Anlass: anderer Stream abgewürgt.
Regel: vor Restart `/api/active-streams` prüfen.
```

**PROJECTS.md** — laufender Kontext zu aktiven Projekten.

```markdown
## Projekt: {{name}}
Stand: {{Datum}}
Ziel: ...
Aktiv: ...
Offen: ...
```

### Eingabe-Schema

```yaml
trigger:
  type:       "manual_save" | "decision_detected" | "error_corrected"
  text:       string
  category:   "memory" | "learning" | "project"
  project_name: optional string      # bei category=project
files:
  memory:     "<root>/brain/MEMORY.md"
  learnings:  "<root>/brain/LEARNINGS.md"
  projects:   "<root>/brain/PROJECTS.md"
archive:      "<root>/brain/archive/"
```

### Verarbeitung

1. **Datei lesen** — frisch, nicht aus Kontext
2. **Klassifizieren** — passt der Eintrag zu Memory, Learning oder Project?
3. **Duplikate prüfen** — gibt es einen ähnlichen Eintrag? Wenn ja, ergänzen oder ersetzen
4. **Eintrag formen** — Datum, kurzer Titel, 1–3 Sätze, ggf. Anlass
5. **Schreiben** — am Anfang einsortiert (neueste oben)
6. **Größe prüfen** — wenn Datei > ~3000 Wörter: ältesten Block in `archive/<file>-<jahr>.md` auslagern

### Sicherheit / Konsistenz

- **Parallele Sessions**: kein File-Locking. Vor jedem Write die Datei nochmal lesen, eigenen Block dazu, nicht die ganze Datei neu schreiben
- Niemals Inhalte anderer Sessions überschreiben
- Backups einmal pro Tag in `brain/_backups/YYYY-MM-DD/` kopieren
- Sensible Inhalte (Passwörter, Tokens) werden im Memory verweigert, gehören in `.env`

### Fehler-/Edge-Cases

- Kein Datum erkennbar → heute setzen
- Operator sagt "vergiss das" → Eintrag finden und löschen, nicht ergänzen
- Konfligierende Einträge → den neueren behalten, alten in den Kommentar verschieben

---

## Teil B — Für dich

### Was ist das?

Ein Gedächtnis für deinen Agent, das du selbst lesen und korrigieren kannst. Drei einfache Textdateien. **MEMORY** für Sachen, die immer gelten ("ich trinke kein Milch"). **LEARNINGS** für Regeln, die aus Fehlern kommen ("nach Server-Restart erst Streams prüfen"). **PROJECTS** für was gerade läuft.

Der Sinn: dein Agent wird über Wochen besser, weil er nicht vergisst. Und du kannst jederzeit reinschauen und Sachen rausstreichen, die nicht mehr stimmen.

### Was brauchst du dafür?

- Ein Ordner für die Dateien (z. B. `~/brain/`)
- Einen Agent, der vor jeder Antwort die Dateien liest
- Die Disziplin, deinem Agent zu sagen "merk dir das" wenn etwas wichtig ist

### Wie startest du?

Du gibst die Vorlage deinem Agent. Der legt die drei leeren Dateien an. Bei deinen nächsten Gesprächen fragt der Agent gezielt nach: "Soll ich das merken?". Über die ersten zwei Wochen baut sich dein Gedächtnis auf.

### Wo sind die Grenzen?

Das ist kein autobiografisches Gedächtnis und keine Therapie. Es ist eine sehr nüchterne Notizdatei. Wenn du mit zehn Agents parallel arbeitest, die alle in dieselben Dateien schreiben, kann es Reihenfolge-Konflikte geben. Lösung steht oben (immer frisch lesen, nicht überschreiben).

### Was kostet das?

Nichts, wenn dein Agent eh läuft. Ein paar Modell-Tokens pro Eintrag.

### Wann lohnt es sich, wann nicht?

Lohnt sich, sobald du den gleichen Hinweis zum dritten Mal geben musst. Lohnt sich nicht, wenn du nur sporadisch mit einem Agent arbeitest.

---

## Teil C — Was du als Nächstes tust

1. Vorlage deinem Agent geben
2. Ordner und drei leere Dateien anlegen lassen
3. In den nächsten Tagen aktiv "merk dir" sagen wenn was zählt
4. Einmal pro Woche selbst kurz reinschauen und ausmisten
5. Nach einem Monat sind die Dateien dein zweites Hirn

Fragen: christian@denzer.ai
