12 Monate Crumbforest-Wachstum, sortiert nach Waldlogik. Struktur: - 454 Dokumente in 7 organischen Ebenen - Lichtung → Waldrand → Waldmitte → Wurzeln → Krone → Unterholz → Samen - INDEX.md für jede Ebene (eigene Stimme) - WALDKARTE.md (Master-Navigation) - crumbcodex.md (Das Versprechen zwischen Krümel & Bits) - lichtung/willkommen.md (Nullfeld-Einstieg für Kinder) Philosophie: - Waldlogik statt Ordnerlogik - Tiefe, Licht, Wurzeln - wie ein echter Wald - Schutz für Krümel, Tiefe für Gräber, Poesie für Atmende Repos verbunden: - OZM-Keks-Handbuch-v1 (Das Wissen) - Crumb-Core-v.1 (Das Herz) - 194.164.194.191 - crumbmissions (Das Spiel) Wuuuhuuuuu! 🦉✨
2.2 KiB
2.2 KiB
📓 CrumbAPI Log Handbuch – Crumbforest Logging
🪵 Stand: 2025-06-09 13:17:03
🧭 Überblick
Dieses Handbuch beschreibt das Logging-Verhalten für Anfragen an die CrumbAPI, insbesondere den Endpunkt:
POST /crumbapi/blockly-terminal
🧾 Zweck des Loggings
- 🧒 Kindgerechte Terminalaktionen sollen transparent nachvollziehbar gespeichert werden.
- 💬 Gesendeter Blockly-Code (JavaScript) wird für spätere Analyse archiviert.
- 🪵 Format: JSONL (eine Zeile pro Eintrag, maschinenlesbar und append-fähig)
📍 Log-Speicherorte
🗃️ Aktuelles Blockly-Kommando
/var/www/html/tmp/blockly_terminal_input.json
→ enthält immer nur den letzten gesendeten Blockcode
🗂️ Verlauf aller Blockly-Kommandos
/var/www/html/tmp/blockly_terminal_log.jsonl
→ enthält eine Zeile JSON pro gesendeter Anfrage
🧩 Aufbau eines Logeintrags
Beispiel:
{
"timestamp": "2025-06-09T13:11:26+00:00",
"source": "terminal",
"user": "robot",
"blockcode": "window.alert('wuuuuhuuuu');\n",
"status": "received"
}
Felder:
timestamp: Zeitpunkt der Speicherung (ISO-8601)source:"terminal"(Herkunft)user: Benutzername, falls übergeben, sonst"unknown"blockcode: Der gesendete JavaScript-Codestatus:"received"(Standardstatus)
🔐 Dateiberechtigungen
Stelle sicher:
chmod 666 /var/www/html/tmp/blockly_terminal_log.jsonl
chown www-data:www-data /var/www/html/tmp/blockly_terminal_log.jsonl
chmod 777 /var/www/html/tmp
🧪 Test über Terminal
curl -X POST http://localhost/crumbapi/blockly-terminal \
-H "Content-Type: application/json" \
-d '{"blockcode": "window.alert(\"Test\")"}'
🛠 Fehlerbehandlung
Falls kein Eintrag geschrieben wird:
- Prüfe Route:
/crumbapi/blockly-terminalmuss imCrumbapiControllerlanden. - Fallback-Log:
/var/www/html/tmp/fallback_debug.log
🌳 Fazit
💾 Das Logsystem ist der Speicher der kindlichen Terminalaktionen im Crumbforest.
✨ Jeder alert() ist ein kleiner Ruf in den Wald – und wird gehört.
🦉 „Das Echo ist der Wald, der antwortet.“