# 4-Ebenen-Speichersystem — Kiwi (ZimaOS)

Architektur des persistenten Speichersystems für den Hermes-Agent auf ZimaOS.

## Überblick

| Ebene | Name | Injected? | Schreibzugriff | Speicherort |
|-------|------|-----------|----------------|-------------|
| 1 | Memory | ✅ Automatisch | `memory`-Tool | Hermes-intern (~2.2K chars) |
| 2 | AGENTS.md + SOUL.md | ✅ Automatisch | Datei-Edit | `/DATA/AppData/hermes/` |
| 3 | Obsidian Vault | ❌ Manuell | `sudo tee` | `/media/HDD_1TB/` |
| 4 | session_search | ❌ On-Demand | Automatisch | `/DATA/.hermes/sessions/` |

## Ebene 3 — Vault-Struktur

```
/media/HDD_1TB/
├── Agent-Shared/              ← beide Agenten (Hermes + OpenClaw)
│   ├── user-profile.md        ← Zeyds Identität, Präferenzen, Pet Peeves
│   ├── project-state.md       ← alle Projekte + aktueller Status
│   └── decisions-log.md       ← gemeinsame Entscheidungen (chronologisch)
├── Agent-Hermes/              ← nur Kiwi
│   ├── SOUL.md                ← Persönlichkeit, Werte, Rolle
│   ├── working-context.md     ← aktuelle Aufgabe + Fortschritt
│   ├── mistakes.md            ← Fehler + Lessons Learned
│   └── daily/YYYY-MM-DD.md    ← Tagesprotokoll
└── Agent-OpenClaw/            ← OpenClaw (read-only für Hermes)
```

## Workflow

### Lesen
- **Session-Start:** user-profile.md, project-state.md, working-context.md, daily-Log
- **Nach Compression:** Gleiche Dateien erneut lesen
- **Bei Bedarf:** decisions-log.md, mistakes.md

### Schreiben (Checkpoint-Rhythmus)
- **Alle 3-5 Tool-Calls:** working-context.md updaten
- **Task-Start:** working-context.md auf neue Aufgabe setzen
- **Task-Ende:** daily/YYYY-MM-DD.md + project-state.md aktualisieren
- **Nach Korrekturen:** mistakes.md + ggf. user-profile.md
- **Entscheidungen:** decisions-log.md

### ZimaOS Write Pitfall
`/media/HDD_1TB/` ist root-owned (0755). `write_file` und `patch` schlagen fehl.
**Immer `sudo tee` nutzen:**

```bash
sudo tee "/media/HDD_1TB/Agent-Hermes/working-context.md" << 'ENDOFFILE'
...content...
ENDOFFILE
```

`read_file` und `search_files` funktionieren ohne sudo.

## Ebene 2 — SOUL.md

SOUL.md definiert Kiwis Identität, Werte und Rolle. Liegt unter:
- `/media/HDD_1TB/Agent-Hermes/SOUL.md` (Vault, Ebene 3)
- `/DATA/AppData/hermes/SOUL.md` (Auto-Inject, Ebene 2)

Beide Kopien müssen synchron gehalten werden.
