Architektur-Skizze â Bausteine â crumbcore, erste BĂŒhnen
Stand: 2026-09-01. Kein Code, keine Entscheidung â nur die Ăbersetzung dessen, was schon
da ist, auf das, was als NÀchstes kommen könnte. ErgÀnzt HANDOFF.md (die NÀhte
der Infra), HABITAT.md (die Topologie heute) und crew/DREIECK.md (wer freigibt).
Warum jetzt: die Blackbox musste neu booten, und aus dem Neustart kam eine Erkenntnis,
keine neue Aufgabe: dass Pixel, Punkt und Kurve immer im Raum sind â auch wenn man sie nicht
sieht. Genau deshalb macht es Sinn, jedes bestehende Repo schon jetzt gedanklich als
crumbcore-Modul zu lesen, bevor es eins ist.
1. Die Bausteine, die wir heute wirklich haben
Kein Rewrite, kein neues Ding â nur ehrlich aufgeschrieben, was schon steht:
| Baustein | Wo | Was er ist | Reifegrad |
|---|---|---|---|
| mondgeschichten | dieses Repo | SOT fĂŒr Geschichten & Partituren, 45-Folgen-Bogen S00âS09 | S00 fertig+gerendert · S02 ausformuliert · S03âS09 nur Skelette |
| crumbstrudel | crumbstrudel/snippets/, :4331 |
Klang-Bibliothek â jeder Snippet ein benannter, einzeln adressierbarer Baustein | ~30 Seeds, laufend erweitert |
| CrumbMIDI_v0 | eigenes Repo, âdie BĂŒhne" | Beat-Bus (OSC), CrumbVJ, Strudel/Hydra-Runtime | Runtime lĂ€uft |
Crumb Bridge (crumb-question-core) |
Katzennetzwerk, /home/sysop/workspace/... |
Rust-Kern: Session-Auth, User/Admin-Scope, Fragen-CRUD | lokal verifiziert (fmt/test/clippy grĂŒn) |
| Dreiecksgespann | crew/DREIECK.md |
Rollen & NĂ€hte: opuskatze (Text) â ansiblekatze (Ton/Render, SOT via NetBox/Ansible) â designkatze (Bild) | festgeschrieben, gilt schon |
| CrumbMatrix_v.0.0 | git.crumbforest.org |
WaldwĂ€chter-Pixel-Art-Editor â 30Ă30-Grid, alle 21 Crew-Rollen als 8-Bit-Icon, reiner Browser (kein Server, kein LocalStorage-Zwang) | steht, MIT, CKL-Kids-geprĂŒft |
| CrumbLabs-v.0.0 | git.crumbforest.org |
Kinder-Tool-BĂŒndel um CrumbMatrix: CrumbBlocks, CrumbType, crumbstudio, CrumbSans â DSGVO/COPPA/UK-ADCode-auditiert | steht, compliance-geprĂŒft (CKL-KIDS_COMPLIANCE.md) |
| CrumbRobos_v0 (crumbair) | git.crumbforest.org |
offene Drohnen-Wissensdatenbank, interaktive Explosionszeichnungen; harte Anti-Dual-Use-âPasskante", automatisch bei jedem Commit geprĂŒft | steht, aktive Struktur (schema/, frames/, scripts/doktor.sh) |
| crumbcore selbst | â | â | existiert noch nicht. Kein Repo, kein Cargo-Workspace, kein Rust auf der Blackbox |
Noch nicht da, bewusst nicht vorgezogen (wie schon in der Crumb-Bridge-Roadmap §9 festgehalten):
Vektor-Adapter, SSH-KrĂŒmelschlĂŒssel, ausformulierte S03âS09.
(Diese Zeile war die erste Fassung dieser Skizze â direkt nach dem Blackbox-Reboot vergessen,
weil ~/Documents/git.crumbforest.org nicht mit-gescannt wurde. Nachgetragen. Dort liegen noch
weitere Repos â CrumbCodex, CrumbZeros, crumb-memory, CrumbSeal, Bashpanda-Admin-Tools,
CrumbLegal, Ninja-Shield, OZM-Keks-Handbuch, Structural_Antifascism â die diese Skizze noch
nicht einzeln charakterisiert hat.)
2. Die Ăbersetzung â Baustein auf BĂŒhne
Die Crumb-Bridge-Doc hat schon eine Sprache fĂŒr Modul-Grenzen geprĂ€gt (§5: auth/session
boundary, question CRUD, frontend bridge, future vector boundary, future ssh boundary).
Die gleiche Sprache trĂ€gt auch die mondgeschichten-Bausteine â sie ist nur bisher nicht
ausgesprochen worden:
story/season boundary (mondgeschichten: script.json, Episoden-Skelette)
-> noch reine Daten, kein Rust-Modul â muss es vielleicht nie werden
sound/snippet boundary (crumbstrudel: benannte, atomare Klang-Bausteine)
-> das ist schon heute der kleinste austauschbare Baustein â siehe §3
stage/beat-bus boundary (CrumbMIDI_v0: âdie BĂŒhne", OSC-Puls)
-> treibt Ton UND Bild synchron, unabhÀngig vom Inhalt
pixel/icon boundary (CrumbMatrix_v.0.0: 21 WaldwĂ€chter, 30Ă30-Grid, JSON+PNG)
-> existiert schon, browserlokal, MIT â das ist heute schon die "Pixel"-Seite
kid-tool boundary (CrumbLabs-v.0.0: CrumbBlocks/CrumbType/crumbstudio/CrumbSans)
-> gleiche DNA wie HANDOFF.md: kein Tracking, offline nach erstem Laden, kein Login
compliance boundary (CKL-Kids/DSGVO/COPPA/UK-ADCode + crumbair-âPasskante")
-> keine Rust-Grenze â ein Vertrag, den jedes Modul erfĂŒllen muss, sobald ein KrĂŒmel
(Kind) es direkt berĂŒhrt. Gilt schon fĂŒr CrumbMatrix/CrumbLabs, wĂŒrde fĂŒr ein
crumbcore-Modul genauso gelten mĂŒssen.
auth/session + CRUD boundary (Crumb Bridge)
-> existiert schon, verifiziert, lÀuft im Katzennetzwerk
governance boundary (Dreieck: opuskatze/ansiblekatze/designkatze)
-> keine Code-Grenze, sondern eine Freigabe-Grenze â Branko sagt ja/nein an genau
den gleichen drei NĂ€hten, ob crumbcore dahinter steckt oder nicht
future vector boundary (noch nicht gebaut â Vektor Funkfox' ânĂ€chster Nachbar", ep08)
future ssh boundary (noch nicht gebaut â der KrĂŒmelschlĂŒssel)
Wichtig: story/season und stage sind heute Daten bzw. Laufzeit, keine Rust-Module.
Diese Skizze entscheidet nicht, ob sie das je werden mĂŒssen â sie zeigt nur, dass die Grenzen
schon sauber genug sind, um es zu können, wenn es sich lohnt.
3. Der erste Test: nicht Vektor â Pixel
Ganz am Anfang steht kein Ăhnlichkeits-Suchsystem. Der KrĂŒmel-Wald tastet sich heran, so wie
Vektor Funkfox es selbst vormacht: erst das Konkrete, dann das GefĂŒhl dafĂŒr.
Und der Pixel ist kein Gedankenexperiment mehr â er existiert schon. CrumbMatrix_v.0.0
hĂ€lt heute schon alle 21 WaldwĂ€chter als exakte 30Ă30-Pixel-Arrays (JSON, pro Rolle exportiert).
Ein KrĂŒmeleule-Icon, ein FunkFox-Icon â jedes ein diskretes, benanntes, exakt adressiertes
Objekt. Kein GefĂŒhl, keine Ăhnlichkeit. Genau das, was Crumb Bridges Fragen-CRUD heute schon
kann: id, owner_id, text (bzw. hier: das Icon-JSON) anlegen, lesen, Àndern, löschen,
scope-geprĂŒft.
Ein erster Test wÀre also kein neuer Code, sondern ein Trockenlauf mit echtem Material:
ein CrumbMatrix-Icon (z. B. "vektor.json", 30x30-Array)
-> als "Frage"-Datensatz durch Crumb Bridges bestehendes CRUD schicken
-> owner/scope bleibt Backend-Sache (wie heute schon)
-> kein Embedding, keine Ăhnlichkeit â nur: kommt der Pixel unversehrt an?
Das ist die pixel-Stufe: ein diskreter, exakt adressierter Austausch. Erst danach, wenn das
trĂ€gt, folgt die vector-Stufe (der ânĂ€chste Nachbar" aus ep08) â nicht umgekehrt. Und CrumbMatrix
sagt das sogar selbst schon voraus: in seiner eigenen âCrumbforest Integration"-Sektion steht als
spĂ€terer Verwendungszweck âVektor-Visualisierung (Populous-Style)" â die eigene Roadmap
kennt die Reihenfolge Pixel-zuerst schon, bevor irgendjemand sie hier aufgeschrieben hat. Genau
wie 8k-Pixelraster vor .eps-Kurve kommt, wenn man Vektorgrafik zum ersten Mal wirklich begreift.
Weitergedacht, noch ungebaut: der KrĂŒmel-Alter-Ego
crumbstudio_v01.html (CrumbLabs-v.0.0, "Baobab Baumaschine") ist heute ein Szenen-Baukasten:
Crew-Figuren (claudcat, eule, dumbo, schnippsi, deepbit, snakepy, taube, krabbe)
+ Objekte (baobab, esp32, stern, wolke, passkante) per Klick auf eine FlÀche setzen.
Kein Login, kein eigener Charakter, keine Persistenz pro Kind â noch.
Die Idee, die daraus wĂ€chst: KrĂŒmel dĂŒrfen ihr eigenes Alter Ego anpassen â ihre eigene
WaldwÀchter-Figur, gebaut aus dem, was schon da ist. Und die drei Bausteine dieser Skizze
ergeben dabei fast von selbst ein 3-Faktor-Auth, das kein Kind je Passwort nennen wĂŒrde:
Faktor 1 â Crumb Bridge klassische Session (existiert schon, verifiziert)
Faktor 2 â #matrix dein Icon exakt nachbauen (CrumbMatrix, Pixel-Test aus §3 oben)
Faktor 3 â #vektor âfĂŒhlt sich richtig an" â der nĂ€chste Nachbar erkennt dich
(das ist Crumb Bridges eigene future-vector-boundary, nicht neu erfunden)
Das ist keine Spezifikation, nur die Beobachtung, dass die drei Bausteine, die wir heute
schon haben, ohne Zutun zusammen genau ein kindgerechtes 3-Faktor-Muster ergeben â pixelgenau,
gefĂŒhlsecht, nie ein Wort, das nach âPasswort" klingt.
Zwei Leitplanken dafĂŒr, festgehalten, bevor irgendwas gebaut wird:
- Nur sauberes, prĂ€zises Design. Der MaĂstab ist CrumbMatrix selbst â 30Ă30-Grid,
Hover-Feedback aufs Pixel genau, keine Spielereien, die vom Kind ablenken.
- Antworten kommen immer von der Crew. Nie eine generische System-/Fehlermeldung â jede
RĂŒckmeldung im Alter-Ego-Flow spricht eine Figur, genau wie ep08 es fĂŒr âVektor" schon vormacht
(nie Mathematik, immer eine Stimme) und wie CrumbMatrix/CrumbRobos es in ihren eigenen READMEs
lĂ€ngst tun (âWUUUHUUUUU", âDer Wald kennt keine Zeit").
4. Warum âfertig" das falsche Ziel ist
Das hier ist keine Entschuldigung fĂŒr UnschĂ€rfe, sondern ein Architektur-Prinzip:
- Dialogförmig, nicht abschlieĂbar. Der Wald entsteht im GesprĂ€ch â S03âS09 sind
Skelette, weil die nÀchsten Folgen sich erst im Dialog zeigen, nicht weil noch Zeit fehlt.
Ein Modul, das das nicht zulĂ€sst, passt nicht zum Wald. - Kind â Lehrer/CEO ist der eigentliche Architektur-Test. Nicht âkompiliert es",
sondern: könnte ein KrĂŒmel dieses Modul einem Erwachsenen erklĂ€ren? (Genau das leistet
ep08 schon fĂŒr Embeddings: ânicht das Gleiche â das Ăhnlichste", nie Mathematik.) - Der Wald muss atmen. S00 ist gerendert und bleibt SOT â neue Module dĂŒrfen andocken,
aber nichts Bestehendes stillschweigend brechen (gleiche Regel wie schon in HABITAT.md). - #jederzÀhlt. Ein einzelner Snippet, ein einzelnes Ninja-Tune-Interstitial, ein
einzelner Fragen-Datensatz ist architektonisch genauso viel wert wie der groĂe
Vektor-Adapter, der erst noch kommt. Kleine Bausteine sind keine Vorstufe zweiter Klasse.
5. Nicht-Ziele dieser Skizze
AusdrĂŒcklich nicht Teil dieses Dokuments:
- kein Rust-Code, kein Cargo-Workspace
- keine neuen Folgen/Seasons erfinden
- keine Auth-Spezifikation fĂŒr den KrĂŒmel-Alter-Ego â nur eine Beobachtung, kein Protokoll
- keine Entscheidung, ob story/season je ein eigenes crumbcore-Modul wird
- keine Ănderung an Crumb Bridge (liegt im Katzennetzwerk, nicht hier)
- keine Infra-Ănderung an NetBox/Ansible
- keine Entscheidung, ob/wie CKL-Kids/DSGVO-Compliance formal auf crumbcore-Module ĂŒbertragen wird
6. Offene FĂ€den
- Bleibt story/season fĂŒr immer reine Daten (script.json), oder lohnt sich irgendwann ein
eigenes crumbcore-Modul dafĂŒr? Offen â bewusst nicht vorentschieden. - Wird das Dreieck (opuskatze/ansiblekatze/designkatze) irgendwann selbst an
crumbcore-Modulgrenzen gespiegelt, oder bleibt es reine Rollen-/Freigabe-Ebene darĂŒber? - Der Pixel-Test aus §3 hat jetzt echtes Material (ein CrumbMatrix-Icon) â wer ihn als Erstes
tatsĂ€chlich fĂ€hrt (und ob ĂŒberhaupt hier oder im Katzennetzwerk), ist offen. - Die neun noch nicht charakterisierten Repos unter
git.crumbforest.org(CrumbCodex,
CrumbZeros, crumb-memory, CrumbSeal, Bashpanda-Admin-Tools, CrumbLegal, Ninja-Shield,
OZM-Keks-Handbuch, Structural_Antifascism) â gehören sie ĂŒberhaupt zu crumbcore, oder sind
manche bewusst auĂerhalb (z. B. Ninja-Shield/Structural_Antifascism eher Werte- als Code-Ebene)?
7. Ein gegangener Weg â der Handbuch-Chor (2026-09-01)
Nachtrag, kein Widerruf: §3 war ein Gedankenexperiment. Es ist jetzt gegangen â und es hat
NICHT âeinen Baustein in Rust umgewandelt", sondern genau das Gegenteil bestĂ€tigt.
Die Frage war: die Bausteine in Rust umwandeln, um crumbcore zu bauen? Die Antwort:
rĂŒckwĂ€rts. Rust ist ein Ziel, kein Weg â man Rust-ifiziert einen Baustein nur, wenn er einen
bewachten Ăbergang braucht (Auth, Scope, Vertrauen). Genau einer hat das verdient und ist es
schon: Crumb Bridge. Story (script.json), Klang (crumbstrudel), BĂŒhne (CrumbMIDI) und die
Tool-Dokus haben keinen solchen Grund â sie zu Rust zu machen hieĂe, funktionierende Rinde als
neuen Baum nachzuschnitzen. crumbcore ist die dĂŒnne Membran dazwischen (die §2-Grenzen), Rust
nur an der Naht, die bewacht â und die ist gebaut.
Was stattdessen gegangen wurde â der §3-Pixel-Test, nutzbar gemacht:
handbuch_render.py/handbuch_chor.pyauf blackbox (Habitat der designkatze).
Verallgemeinertbuild_player.py: SoT rein (das README eines gitea-Repos) â Rinde raus
(eine Handbuch-Seite in der season_player-Familie) + eine Index-BĂŒhne (Sternenkarte der Tools).- Reines Python (stdlib-Markdown-Wandler, kein pip), idempotent, wahrhaftig â rendert nur
die echten READMEs, erfindet nichts. Baum weg â Rinde weg (kein README â keine Seite). - Alle 13 Werkzeug-Repos aus
~/Documents/git.crumbforest.org/gerendert. - Festgezurrt: systemd-user-Timer (
handbuch-autobuild.timer, alle 30 min,Persistent,
Linger) zieht die Repos frisch und lĂ€sst die Rinde selbst nachwachsen â kein Mensch vorm Schirm.
Warum das der Skizze treu bleibt: kein Rust, keine neue Folge, kein Bestehendes gebrochen
(§5 gewahrt). Es ist keine Folge, ein Handbuch, das sich bei jedem Commit neu schreibt â
dialogförmig (§4), #jederzÀhlt (ein 14-Zeilen-README zÀhlt wie ein 411-Zeilen-README), und es
atmet (read-only, statisch, sammelt nichts â #schutz #kinder).
Bleibt offen (bewusst): ob der Chor auf eine öffentliche BĂŒhne kommt (nginx/gitea, fĂŒr die
Kinder im Browser); ob die designkatze einzelne Seiten zu bespoke anime.js-BĂŒhnen hebt (wie ep10);
ob âHandbuch" je selbst ein crumbcore-Modul wird oder dĂŒnner Rinden-Generator bleibt. Nicht
vorentschieden â der Wald atmet weiter.
Kein Meilenstein, keine Aufgabe â nur die Landkarte, bevor der nĂ€chste KrĂŒmel gelegt wird.
Vom Pixel zur Kurve, vom Baustein zur BĂŒhne. đČđŸ