Initial commit: Crumbforest Architecture Refinement v1 (Clean)
This commit is contained in:
149
docs/crumbforest/baobab_rules.md
Normal file
149
docs/crumbforest/baobab_rules.md
Normal file
@@ -0,0 +1,149 @@
|
||||
````md
|
||||
---
|
||||
title: Baobab-Klausel – Früh entscheiden, weich landen
|
||||
slug: baobab_klausel
|
||||
lang: de
|
||||
summary: Leichtgewichtige Frühwarn-Regeln für Sessions mit Kindern, Maschinen und Wald. Entscheidungen bei schwachen Signalen, mit Respekt, Logs und sicheren Auswegen.
|
||||
tags: [Crumbforest, Leitplanken, Sicherheit, Education, Haltung]
|
||||
---
|
||||
|
||||
# 🌳 Baobab-Klausel – Früh entscheiden, weich landen
|
||||
|
||||
**Warum**
|
||||
Ein System, das erst handelt, wenn der Baobab brennt, war vorher schon taub.
|
||||
Die Baobab-Klausel macht Entscheidungen **früh, oft, klein** – bei schwachen Signalen.
|
||||
Mit Respekt für Kinderfragen. Mit Logs. Ohne Drama.
|
||||
|
||||
---
|
||||
|
||||
## 1) Frageminute (60 s Stille)
|
||||
- Jede Session startet mit **60 Sekunden Stille**.
|
||||
- Jede:r notiert **eine Frage** (Karte, Terminal, Zettel).
|
||||
- Fragen werden **ohne Rechtfertigung** protokolliert.
|
||||
|
||||
**Mini-Schema (MQTT/Log)**
|
||||
Topic: `crumb/log/question`
|
||||
Payload:
|
||||
```json
|
||||
{"who":"kid|crew","text":"…","ts":"<ISO8601>","session":"<slug>"}
|
||||
````
|
||||
|
||||
---
|
||||
|
||||
## 2) Eulen-Ampel (Grün / Gelb / Rot)
|
||||
|
||||
### 🟢 Grün – Alltag
|
||||
|
||||
* Beispiel-Signale: stabile Sensorwerte, WLAN ok.
|
||||
* Aktion: **weiter lernen**, normal loggen.
|
||||
|
||||
### 🟡 Gelb – schwaches Signal
|
||||
|
||||
* Beispiel-Trigger (eine reicht):
|
||||
|
||||
* Temp-Δ > **+2.0 °C** in **5 min** (OpenMV/ESP)
|
||||
* Device offline **> 3 min**
|
||||
* neue SSID im Umfeld / ungewöhnlicher Portscan
|
||||
* Aktion:
|
||||
|
||||
1. **kurz pausieren** (max 2 min)
|
||||
2. **laut erklären** (für Kinder verständlich)
|
||||
3. **loggen** (siehe Schema)
|
||||
4. falls nötig: **Safe-Mode vorbereiten**
|
||||
|
||||
**Event-Schema (Gelb)**
|
||||
Topic: `crumb/alert/warn`
|
||||
|
||||
```json
|
||||
{"src":"openmv-01","kind":"temp_delta","value":2.6,"window_s":300,"ts":"<ISO8601>"}
|
||||
```
|
||||
|
||||
### 🔴 Rot – Schutz
|
||||
|
||||
* Beispiel-Trigger (eine reicht):
|
||||
|
||||
* Rauch/Flamme erkannt (Vision/Detektor)
|
||||
* Temp > **60 °C** an kritischem Punkt
|
||||
* Sicherheitsregel verletzt (z. B. VLAN-Bypass)
|
||||
* Aktion (immer in dieser Reihenfolge):
|
||||
|
||||
1. **Safe-Mode** (Strom/Netz begrenzen, Kinder sammeln)
|
||||
2. **Alarm-Pfad** (betreute Evakuierung/Notruf)
|
||||
3. **Kurzansage**: „Wir gehen raus. Gründe später.“
|
||||
4. **Log** (siehe Schema)
|
||||
|
||||
**Event-Schema (Rot)**
|
||||
Topic: `crumb/alert/crit`
|
||||
|
||||
```json
|
||||
{"src":"ai-jetson-01","kind":"smoke_detected","confidence":0.92,"ts":"<ISO8601>"}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3) Krümelrecht (Respekt vor der Frage)
|
||||
|
||||
**Satz vor jeder Antwort:** „**Danke für das Signal.**“
|
||||
|
||||
* Fragen werden **nie** abgewertet.
|
||||
* Fehler sind **Einladungen**, kein Makel.
|
||||
* Kinder dürfen **abbruchsicher** „Stopp, ich verstehe nicht“ sagen.
|
||||
|
||||
---
|
||||
|
||||
## 4) Rück-Atmen (3-Satz-Log)
|
||||
|
||||
* **Was haben wir gesehen?**
|
||||
* **Was haben wir getan?**
|
||||
* **Was haben wir gelernt?**
|
||||
|
||||
**Mini-Schema**
|
||||
Topic: `crumb/log/decision`
|
||||
|
||||
```json
|
||||
{"level":"warn|crit","seen":"…","did":"…","learned":"…","ts":"<ISO8601>","by":"<crew|kid>"}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Technische Leitplanken (leicht umzusetzen)
|
||||
|
||||
* **VLAN**: ESP-Wald nur **DNS/DHCP → Router** und **MQTT → Broker**. Kein Internet.
|
||||
* **Topics (Konvention)**:
|
||||
|
||||
* `crumb/esp/<id>/status` (online/offline, LWT)
|
||||
* `crumb/esp/<id>/heartbeat` (uptime, 10 s)
|
||||
* `crumb/openmv/<id>/thermal` (tmax/roi)
|
||||
* `crumb/alert/warn|crit` (Gelb/Rot)
|
||||
* `crumb/log/*` (Fragen/Entscheidungen)
|
||||
* **Retain nur** für `status` und die **letzte Config**, nicht für Mess-Spam.
|
||||
* **Schwellen lokal** am Rand (ESP/OpenMV) prüfen → wenige, klare Events.
|
||||
|
||||
---
|
||||
|
||||
## 2-Min-Protokoll für Gelb (Klasse/Workshop)
|
||||
|
||||
1. Timer 120 s.
|
||||
2. **Laut erklären:** „Wir haben ein schwaches Signal (…); wir schauen kurz hin.“
|
||||
3. **Ein Kind wiederholt** in eigenen Worten.
|
||||
4. **Eine Crew-Person loggt** (Schema „warn“).
|
||||
5. **Weiter** – oder **Safe-Mode** vorbereiten.
|
||||
|
||||
---
|
||||
|
||||
## Poster (an die Wand)
|
||||
|
||||
**Frage → Dank → Entscheidung.**
|
||||
**Bei Gelb hören wir zu.**
|
||||
**Bei Rot schützen wir.**
|
||||
**Alles wird geloggt.**
|
||||
|
||||
---
|
||||
|
||||
**Merksatz**
|
||||
Nicht jede Frage verlangt sofort eine Lösung.
|
||||
Aber jede Frage verlangt **Respekt** – und einen **Log-Eintrag**.
|
||||
|
||||
```
|
||||
::contentReference[oaicite:0]{index=0}
|
||||
```
|
||||
Reference in New Issue
Block a user