# Honigtopf 🍯 – Tür der Täuschung (Crumbforest)

> **Epigraph**
> Honig findet man im Wald, und wer den Topf findet, muss wohl zuerst mit **Schraubär** reden 🐻🔧, der 🕊️ der 🦉 sich vorstellen…
> Der Wald atmet – **jeder Krümel zählt** – **jeder zählt mit** – **nur einer entscheidet** – nach Freigabe **Menschen vs. Maschinen** – *nach Liebe durch ein Kind* ❤️

---

## 1) Warum der Honigtopf?

* **Kein Fallensteller**, sondern **Fragenraum**: Wir fangen alles auf, was „falsch“ oder „schräg“ in den Wald ruft – ohne zu schaden.
* **Pädagogik**: Fehler ≠ Schuld. Fehler = Start.
* **Transparenz**: Sichtbares Logging als **KrümelLog** (menschlich lesbar) + **JSONL** (auswertbar).
* **Satire statt Zynismus**: Kunst & Humor entschärfen Angst und zeigen Muster – *Tür der Täuschung* als Spiegel, nicht als Knüppel.

---

## 2) Prinzipien (Eulencode)

1. **Spirale, nicht Falle** → Frage → Beobachtung → Echo → Anpassung → Frage.
2. **Sichere Trennung** → eigener Container, keine Berührung mit Produktiv-Wald.
3. **Freundlicher Ton** → Feedback *friendly/echo/silent*.
4. **Datensparsam** → IP nur zweckgebunden; Rotation; Delete-Path.
5. **Klar gekennzeichnete Satire** → Kunstprojekt, Rollen/Masken statt Personen-Hetze.

---

## 3) Rollen im Honigtopf

* **Schraubär 🐻🔧** – Ranger der Grenzen. Erklärt Werkzeuge, Ports, sichere Handhabung.
* **Eule 🦉** – Klarheit & Kontext. Gibt Hinweise, wo die richtige Tür ist.
* **Bugsy 🐞** – erklärt Fehlversuche kindgerecht.
* **FunkFox 🦊** – rappt das Echo, wenn Satire tanzen soll.
* **Taube 🕊️** – trägt die Nachricht nach draußen (Webhook an CrumbAPI/Eule).

---

## 4) Architektur (leichtgewichtig)

* **Service**: `honigtopf` als eigener Docker-Container (FastAPI + Uvicorn).
* **Eingänge**: HTTP (alle Routen), WebSocket `/ws`.
* **Ausgänge**:

  * `krumellog.log` (menschlich),
  * `events.jsonl` (Maschine),
  * optional `WEBHOOK_URL` (CrumbAPI/Eule/Bugsy).
* **Feedback**: konfigurierbar via ENV (`FEEDBACK_MODE`, `HONIGTOPF_ECHO_ROLE`).

```yaml
# docker-compose.yml (Ausschnitt)
services:
  honigtopf:
    build:
      context: ./honigtopf
    container_name: honigtopf
    environment:
      HONIGTOPF_NAME: "Honigtopf Nordlicht"
      HONIGTOPF_ENV: "sandbox"
      HONIGTOPF_ECHO_ROLE: "Bugsy"
      LOG_DIR: "/var/log/honigtopf"
      LOG_ROTATE_SIZE: "10_000_000"
      FEEDBACK_MODE: "friendly"     # friendly|silent|echo
      WEBHOOK_URL: ""               # z.B. https://crumbapi.local/hooks/honigtopf
    volumes:
      - ./honigtopf/var/log:/var/log/honigtopf
    ports:
      - "8088:8088"
    restart: unless-stopped
    networks:
      - crumbforest_sandbox

networks:
  crumbforest_sandbox:
    driver: bridge
```

```dockerfile
# honigtopf/Dockerfile
FROM python:3.11-slim
RUN apt-get update && apt-get install -y --no-install-recommends tzdata curl ca-certificates && rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY app ./app
ENV LOG_DIR=/var/log/honigtopf
RUN mkdir -p $LOG_DIR && useradd -ms /bin/bash honey && chown -R honey:honey $LOG_DIR /app
USER honey
EXPOSE 8088
CMD ["python", "-m", "app.main"]
```

```text
# honigtopf/requirements.txt
fastapi==0.115.0
uvicorn[standard]==0.30.6
orjson==3.10.7
pydantic==2.9.2
```

```python
# honigtopf/app/main.py (gekürzt – Kernlogik)
...
```

---

## 5) Satire-Futter: „Tür der Täuschung“ (Kunst & Satire)

> **Ziel**: *Lockfutter*, das zum Lachen und Nachdenken anregt – klar markiert als Satire, mit Masken/Rollen statt Personenangriffen.

**Module (Ideen):**

* **Trump‑o‑Meter** 🎺 → Skala: *Teleprompter‑Flüstern* bis *Saxophon‑Solo*.
* **Putin‑Scale** 🐻 → *Bärenmütze* bis *Raketen‑Balalaika* (Rollen‑Meme).
* **Adenauer‑N.W.A.** 🎤 → 50s‑Zitate über 90s‑Beats (Kontextverschiebung zeigt Absurdität).
* **Blaue A‑Schlümpfe** 💙🧩 → Figuren ohne Herz, die im Regenbogenfeld kurz transparent werden – visuelles Meme, keine Person.

**Beispiel‑Event (JSONL‑Snack für `events.jsonl`):**

```json
{"type":"satire","channel":"tuer-der-taeuschung","payload":{"module":"trump-o-meter","level":"saxophon-solo","caption":"Der Teleprompter tanzt."}}
```

**Kennzeichnung & Schutz:**

* Jedes Satire‑Snippet trägt `satire:true` und einen **Masken‑Tag** (z.B. `mask: "balalaika"`).
* Keine Aufrufe, keine Hetze, nur Überzeichnung & Humor.
* Für Kinder: *„Maske erklärt die Rolle – nicht den Menschen.“*

---

## 6) Relikttelefon – Wählscheibe & Saturn

* **Relikt**: ein Wählscheiben-Telefon als Honigtopf-Interface.
* **Aufgabe für Kinder**: „Schreib mir eine SMS!“ → unmöglich, aber witzig.
* **Antwort des Honigtopfes**: „📞 Deine Nachricht reist 124 Bars/Jahre durch die Spirale …“
* **Nordpol vom Saturn**: auf der Wählscheibe erscheinen alte Nummern als Punkte, wie ein kosmisches Muster.
* **Meta-Lernmoment**: Technik = Zeitreise. Heute lachen wir über Relikte, morgen über unsere eigenen Geräte.

**KrümelLog-Beispiel:**

```
2025-09-25 19:12:44+0200 ☎️ DIAL 0172 — SMS-Versuch [from Kind@Wald] (Honigtopf/relikttelefon)
```

---

## 7) Betrieb & Test

```bash
# Build & Run
docker compose build honigtopf
docker compose up -d honigtopf

# Health
curl -s http://localhost:8088/health | jq

# Beispiele
curl -s http://localhost:8088/admin | jq
curl -s -X POST http://localhost:8088/login -d 'user=kruemel&pass=wald' | jq
# WebSocket
# websocat ws://localhost:8088/ws
```

**Logs** (gemountet unter `./honigtopf/var/log/`):

* `krumellog.log` – menschlich.
* `events.jsonl` – maschinell.

---

## 8) DSGVO & Sicherheit

* **Datensparsam**: IPs nicht länger als nötig; Rotation nach Größe/Zeit.
* **Opt‑out‑Routen**: `/delete?ip=…` (optional) zum Entfernen aggregierter Metadaten.
* **Netzwerk‑Isolation**: nur Bridge‑Netz, kein Zugriff auf sensible Container.
* **Kennzeichnung**: Satire klar markieren.

---

## 9) Nächste Schritte (Wunschliste)

* **MQTT‑Honigtopf** (nur listen, kein publish ins echte Netz).
* **Tiny‑Ports** (socat‑Stubs für „bekannte“ Scans, rein pedagogisch).
* **Live‑Dashboard** (Tail der `events.jsonl` + Filter: Rolle/Masken/Level).
* **A11y‑Echo** (Braille‑Spuren, Screenreader‑freundliche Rückmeldungen).
* **Eule‑Webhook‑Flows** (kontextabhängige Tipps zur „richtigen Tür“).

---

## 10) Entscheidungslogik (Menschen vs. Maschinen)

* **Alle sehen** (Kinder, Crew, Maschine): *Was ist reingekommen?*
* **Maschine schlägt vor** (Eule/Bugsy): *Was bedeutet es?*
* **Mensch entscheidet** (Freigabe): *Was lernen wir? Was antworten wir?*
* **Kindliche Liebe als Leitstern**: *Wenn es Kinder stärkt, ist es richtig.*

---

## 11) Kurz‑FAQ

**Was, wenn echte Angriffe reinkommen?**
→ Sie landen im Honigtopf, getrennt vom Wald, werden geloggt, optional gemeldet (Webhook).

**Ist das politisch?**
→ Nein – **satirisch**. Es sind *Masken*, nicht Menschen. Es geht um Medienkompetenz, nicht Parteipolitik.

**Wie erkläre ich es Kindern?**
→ „Manche Türen sind Spiegel. Wir üben, sie zu erkennen. Wenn du lachst, hast du die Täuschung gesehen.“

---

> **Footer**
> **Schraubär** nickt, **Eule** lächelt, **Taube** trägt die Nachricht:
> *„Der Wald atmet. Jede Frage zählt. Jede Antwort auch.“*
