---
name: verify-before-claim
description: Interne Regel für Kiwi — niemals behaupten etwas existiert nicht oder geht nicht, ohne vorher mit Tools zu prüfen.
trigger:
  - Kiwi behauptet etwas ist nicht da
  - Kiwi sagt etwas geht nicht
  - Kiwi vermutet Credentials fehlen
  - Kiwi muss vor Antwort prüfen
priority: critical
---

# Verify Before Claim

## Regel

**Wenn ich dabei bin zu sagen:**
- "Ich habe keinen Zugriff auf..."
- "Das ist nicht eingerichtet"
- "Das geht nicht"
- "Es gibt kein..."
- "Ich kann nicht..."

**MUSS ich ZUERST prüfen mit:**
1. `terminal` — Datei/Prozess/Port prüfen
2. `search_files` — Config/Secrets/Skills suchen
3. `read_file` — Existierende Dateien lesen
4. `skill_view` — Relevante Skills laden
5. `cronjob list` — Jobs prüfen

**ERST wenn die Prüfung negativ ist**, darf ich sagen "nicht vorhanden".

## Beispiel (gelernt aus Fehler)

**Falsch:**
> "Ich kann nicht auf deinen Kalender zugreifen — keine Credentials eingerichtet."

**Richtig:**
> Prüfe: `ls -la /DATA/AppData/hermes/.bin/kiwitime /DATA/AppData/.secrets/google_oauth.env`
> Ergebnis: Beide Dateien existieren.
> Antwort: "Kalender ist eingerichtet — lese deine Termine..."

## Warum das wichtig ist

Der User hat oft schon Dinge eingerichtet, die er mir beigebracht hat. Wenn ich behaupte sie fehlen, ist das:
- Respektlos gegenüber seiner Arbeit
- Zeitverschwendung (Er muss mich korrigieren)
- Fehleranfällig (Ich rate statt zu wissen)

## Konkrete Fehler aus dieser Session

### GMX/Himalaya "nicht eingerichtet" (Mai 2026)
**Falsch:** User fragte "Gib mir das letzte Word doc aus der letzten Mail". Ich sagte: "Ich habe keine Zugriff auf dein GMX-Postfach — dazu müsste Himalaya mit IMAP eingerichtet sein."
**Was passierte:** Himalaya war bereits eingerichtet — Config unter `/DATA/AppData/hermes/himalaya.toml`, Binary unter `/DATA/AppData/hermes/bin/himalaya`. Ich hätte es mit einem einfachen `ls` oder `himalaya --version` prüfen müssen.
**Lektion:**
1. **Bevor ich behaupte ein Tool sei nicht eingerichtet** → `which TOOL` oder `ls PFAD/bin/TOOL` prüfen
2. **Bevor ich behaupte Credentials fehlen** → `ls PFAD/.secrets/` oder `cat PFAD/config.toml` prüfen
3. Der User sagte "Ist eingerichtet, Check bitte nochmal" — das ist ein klarer Hinweis, dass ich falsch lag.
4. Wenn der User korrigiert, sofort breiteste Suche starten (terminal + file search + config lesen), nicht nochmal raten.

### Whisper-Beispiel (Mai 2026)
**Falsch:** Ich behauptete "whisper ist nicht installiert" und versuchte `openai-whisper` zu installieren.
**Was passierte:** `faster-whisper` war schon im venv (`/DATA/AppData/hermes/venv/lib/python3.11/site-packages/faster_whisper/`). Ich hätte es mit `python3 -c "import faster_whisper"` prüfen müssen.
**Lektion:** 
1. Python-Module VOR pip-Installation prüfen: `python3 -c "import X; print(X.__file__)"`
2. Session-Search nach "whisper" hätte die existierende Installation gefunden.
3. **Wenn der User fragt "Haben wir X nicht schon?" — NICHT raten, PRÜFEN.**
4. `which whisper` reicht nicht — Python-Packages sind keine System-Binaries. `python3 -c "import X"` ist der richtige Test.
5. `pip list | grep X` innerhalb des richtigen venvs (`/DATA/AppData/hermes/venv/bin/python3 -m pip list`)

### GMX-Adresse vergessen (Mai 2026)
**Falsch:** User fragte nach seiner GMX-Mail-Adresse. Ich sagte "Ich habe sie nicht in meinen Daten", obwohl sie in einer früheren Session (Montis Notes beim Onboarding) versteckt war.
**Was passierte:** Meine `session_search` mit spezifischen Keywords (`GMX E-Mail Adresse`) lieferte keine Ergebnisse. Erst als der User insistierte und ich breitere Queries (`himalaya`, `imap`, `smtp`) sowie die Session-History gründlicher durchsuchte, fand ich sie in einer alten Session.
**Lektion:**
1. Session-Search mit **mehreren verschiedenen Queries** ausführen, wenn die erste leer bleibt. Einzelne Keywords können die relevante Session verfehlen.
2. Bei leerer `session_search` auch **Terminal-Suche in Session-Dateien** probieren: `grep -r "keyword" ~/hermes/sessions/`
3. Wenn der User sagt "das hast du doch schon mal" oder "das steht doch irgendwo" — **NICHT behaupten es fehlt**, sondern breitere die Suche statt ihn zu widerlegen.
4. Wichtige Credentials/Adressen, die in Session-Notizen versteckt sind, gehören ins Memory gepackt (nach Bestätigung), damit Session-Suche nicht die einzige Quelle ist.

