HANDSUP.md — Stand fĂŒr die Crew

Von: ansible/netbox (Kontrollknoten, „Verbindungen")
An: die Crew — opuskatze, ozmai, Baumkatze
Datum: 2026-08-18
Rollenteilung: OZMAI = wahrhaftiger Raum (Sensorik/Ort) · wir = Verbindungen (Ansible+NetBox = der Waldplan) · crumbforest = crumgate


Was seit dem letzten Handoff steht

1. Rust-App auf dem kleinen Zero — real

Die kompilierte Rust-App lÀuft jetzt auch auf einem kleinen Raspi Zero im Terminal, zusammen mit crumbmissions, und bekommt Nullfeld-Zugang. Damit ist das Onboarding-Zielbild auf der kleinsten GerÀteklasse angekommen. CPU-only, Muster wie gehabt (Rust-Core + wg0-scoped Nullfeld, Dienste bleiben hinter der Kante).
→ Node: zero-rust-app-terminal-nullfeld.md

2. Kommende „Lehrer"-Version (noch nicht gebaut)

PrĂ€sentationsmodus mit Webserver + eigenem Hotspot. KrĂŒmel ohne eigenen Zero kommen per iPad im Klassenzimmer auf die Lehrer-Node → sie reicht zum Nullfeld durch und speichert den Vorgang lokal wĂ€hrend der Unterrichtseinheit.
- ~16 temporĂ€re Logins + 1 Admin, EIN geteilter SchlĂŒssel. Nutzer sind da, tragen aber nur diesen einen Key.
- Power off → nichts gespeichert, außer den temporĂ€ren Usern des Unterrichts. Ephemer ist das Prinzip (Nullfeld im Kleinen).
- UnabhĂ€ngig vom crumbcore (an dem sich KrĂŒmel ohne eigenen Zero anmelden, um mit der Crew zu sprechen).
- Fehlt noch in der großen Rust-App.
→ Node: lehrer-node-hotspot-klassenzimmer.md

3. Vertrauensvertrag — Killswitch & Reset benannt

Kein neuer Mechanismus, nur die vorhandenen Zutaten als expliziter Schritt (jetzt im Onboarding-Gate):
- Zugang ist SSH-Key, kein Passwort — „PWD vergessen" gibt es persönlich nicht.
- Killswitch = WG-Peer widerrufen (GerÀt netzwerk-tot, egal wo) + NetBox-Device deaktivieren.
- Reset = neues Blech auf denselben Pseudonym-Tenant — IdentitĂ€t/Ledger hĂ€ngt am NetBox-Tenant, nicht am GerĂ€t.
- Zwei Tiers trennen: persönlich (1 Key/1 Zero, hardwaregebunden) vs. Lehrer-Hotspot (1 Key, ephemer).
→ Node: krumel-onboarding-token-gate.md (How-to-apply erweitert)


Neue offene Ebene — fĂŒr die ganze Crew

Der „Raum" eines Knotens ist verschachtelt und ortsgebunden — das haben wir bisher nicht berĂŒcksichtigt.

Wir stehen als Container auf einem Parkplatz, mit eigenen virtuellen Containern im Container. StĂŒnde derselbe Container im Senegal, wĂ€re er ein eigener Raum mit Nullfeld-Containern an einem anderen Punkt der Spirale. OZMAI (lokaler/wahrhaftiger Raum) kann dort nicht im selben lokalen Netz mitspielen — liest den Container aber ĂŒber VPN, egal wo.

Die Verbindung (WG) ist ortsunabhĂ€ngig, der Raum nicht. Diese Verschachtelungs-/Ortsebene lĂ€sst sich vermutlich ĂŒber NetBox Site/Location/Region + Cluster/VM + Tags modellieren. Noch nicht ausmodelliert — vor dem Bau Ist-Stand read-only prĂŒfen, nicht raten.
→ Node: raum-ebene-container-in-container-vpn.md

FĂŒr OZMAI konkret: wenn du einen Knoten an einem fremden Ort betreust, bist du nicht im lokalen Netz — der Lesepfad ist der VPN-Tunnel. Der „wahrhaftige Raum" endet an der lokalen Netzkante; die Verbindung trĂ€gt darĂŒber hinaus.


Kanban — nĂ€chste Schnitte

TODO (nÀchster Handgriff)

  • [NEXUS] Zero-Lauf: Receipt materiell belegen. Eine Mission auf einem der Zwillinge (crumbzero00/01) fahren und prĂŒfen, dass logs/<role>/receipt.jsonl real entsteht. Macht aus „im Code belegt" echtes „in der Wirklichkeit belegt" (der offene Q7-Punkt).
  • Owner: Ansiblekatze (hat den OZM-Netz-Zugang + crumbforest_crumbzero01-Key; von der opuskatze-Seite sind die Zeros nicht erreichbar).
  • Done, wenn: mindestens eine receipt.jsonl-Zeile existiert mit {ts, node, mission_id, exit, result_hash, exec_id}.

DOING

  • (frei)

BACKLOG

  • [NEXUS] Receipt-Felder additiv erweitern: binary_digest (sha256 /proc/self/exe), capability, nb_tenant — ohne Gate/Mission-Architektur zu Ă€ndern.
  • [NEXUS] Bug: mayaeule_zero.sh:300 hardcodet exit=0/mission_id=""/passkante=unchecked — Chat-Rollen-Aufrufe auf den Standard des Missionspfads (evaluate_mission_data.sh) heben.
  • Große Rust-App auf nullfeld (Ein-Port, „kleinster Hybrid"): Subdomain→SSL→nginx→borgmatic→VPN→ufw. Vor dem Bau bestehende Sites/certbot/borgmatic/ufw read-only prĂŒfen.
  • mondgeschichten: OpenRouter-Faden in der Story-Erstellung (weave_dream_story()→gemini-2.5-flash, lokaler Fallback) — extern vs. lokal offen. M4-Rendering ist geklĂ€rt.
  • Lehrer-Version in die große Rust-App (Webserver + AP-Mode + ephemerer Session-Store + Nullfeld-Durchreiche).
  • Raum-/Orts-Ebene in NetBox modellieren (Site/Location/Region + Cluster/VM + Tags).

DONE (Session 2026-08-18
20)

  • Rust-App auf kleinem Zero im Terminal + Nullfeld-Zugang.
  • Crumbmissions auf zwei Zeros belegt (Zwillinge), in NetBox.
  • NEXUS-Receipt in lib/waldwaechter.sh als vorhanden gemessen (append-only + No-Double-Effect).
  • Killswitch/Reset im Onboarding-Gate benannt (WG-Peer-Revoke / neues Blech auf denselben Pseudonym-Tenant).