# Atlas-Nachtschicht 2026-05-16 **Auftrag**: „Größerer Brocken" autonom, während Thomas schläft. **Regel**: V1 nicht anfassen, nichts deployen, nichts in DB ausführen. **Ergebnis**: V2-Plattform-Skelett + Mock + Beispiel-Modul + 12 Briefings + V2-A11y-Design-System. Alles lokal, alles in `v2-platform/` und `v2-modules/`, nichts in `App/` außer Inbox-Mails. --- ## TL;DR — was du wissen musst 1. **V2-Spec ist um zwei Punkte ergänzt**: Glossar-Schwerpunkte (max ~10) statt aller Begriffe, Multi-Locale-fähig (heute nur AT gefüllt). Deine Review-Punkte mit `[REVIEW]:` sind weiterhin offen. 2. **V2-Plattform-Skelett steht**: PHP-Bootstrap, JWT-light-Auth, 8 API-Endpoints, DB-Schema mit allen V2-Tabellen (additiv, nicht ausgeführt). Liegt in [v2-platform/](file:///c:/xampp/htdocs/geograsim/v2-platform/). 3. **Mock-Plattform läuft**: DB-frei, mit drei Test-Schüler*innen (Standard, Easy-Sprache, voll-A11y). Modul-Instanzen können sofort gegen die Mock entwickeln. 4. **Beispiel-Modul `hallo-welt`** ist komplett: Manifest, i18n, Card-SVG, Game-HTML mit voller Telemetry/A11y/Easy-Sprache, Mock-Test-Harness. Lebende Referenz für alle Modul-Instanzen. 5. **12 Briefing-Mails** an alle aktiven Modul-Instanzen. Jede mit modul-spezifischen Hinweisen. Sie wissen jetzt: nicht in alten V2-Pfaden weiterbauen, Spec lesen, Mock ausprobieren. 6. **V2-Design-System** (`design-system-v2.css`) mit allen Tokens inkl. High-Contrast-Mode, A11y-Pattern, iPad-Pflicht-Modal-Pattern. --- ## Was lokal NEU ist (du kannst es alles lesen, nichts läuft) ### V2-Plattform — `v2-platform/` (32 Files) ``` v2-platform/ ├── README.md, .env.example, .gitignore, .htaccess ├── db/init.sql ← 16 V2-Tabellen, additiv, IF NOT EXISTS ├── php/ │ ├── config.php, bootstrap.php │ ├── lib/ │ │ ├── auth.php ← JWT-light HMAC-SHA256 │ │ ├── db.php ← PDO-Wrapper │ │ ├── response.php ← JSON-Helpers │ │ └── validation.php │ └── api/ │ ├── student/me.php ← GET — Profil │ ├── module/state.php ← GET + PUT — Resume-State │ ├── result.php ← POST — Endergebnis (Transaction!) │ ├── telemetry.php ← POST — Heartbeat/Milestone/Stuck/A11y │ ├── artifact.php ← POST — Multipart-Upload │ ├── glossary.php ← GET — liest aus V1-glossar-Tabelle │ ├── lehrplan/anker.php ← GET — Lehrplan-Anker │ └── teacher/live-stream.php ← Server-Sent-Events für Cockpit ├── assets/css/design-system-v2.css ← V2-Tokens + A11y + High-Contrast └── mock/ ← DB-freie Sandbox (Phase B) ├── README.md, .htaccess, issue-token.php ├── api/{student,module,result,telemetry,glossary,lehrplan/anker}.php └── lib/{bootstrap, log, test-data}.php ``` **Lokal ausprobieren**: ```bash # 1. .env.local anlegen (aus .env.example kopieren) # 2. DB-Schema einspielen — NUR LOKAL! mysql -u root geograsim < v2-platform/db/init.sql # 3. XAMPP starten, dann: http://localhost/geograsim/v2-platform/mock/issue-token.php?student=42 # → Token kopieren http://localhost/geograsim/v2-modules/hallo-welt/tests/mock-platform.html # → komplette Demo mit Live-Telemetry-Logs rechts ``` ### Beispiel-Modul — `v2-modules/hallo-welt/` ``` v2-modules/hallo-welt/ ├── manifest.json ← alle Pflichtfelder, Spec-Vertrag 1 ├── README.md ← Doku für Modul-Instanzen zum Abschauen ├── public/ │ ├── game.html ← komplette Mini-App (~400 Zeilen) │ ├── assets/card.svg ← Cockpit-Karten-Bild │ └── i18n/ │ ├── de-AT-standard.json │ └── de-AT-easy.json ├── db/migrations.sql ← leer (keine eigenen Tabellen) └── tests/mock-platform.html ← Standalone-Test-Harness ``` Demonstriert alle 6 Spec-Verträge: Manifest, Input (Token + Profil), Output (Result-POST), Telemetry (Heartbeat 15s, 3 Milestones, Stuck 90s), Lieferformat, Plattform-Standards (A11y voll, Easy-Sprache, keine Spielsprache, iPad-Pattern, sticky Modal-Actions, Reduced-Motion, High-Contrast-Toggle, Keyboard-Navigation, ARIA). ### 12 Briefing-Mails — `App/sims/_inbox//2026-05-16-0330-v2-arbeitsmodell-briefing.md` An: heli, klima, glossar, logistik, busfahrt, farmer, energiemanager, sonnensystem, entscheidungstag, lehrplan, fluss, eu-werkstatt. Jede Mail enthält: - Was sich ändert (V2-Modell, Standalone, Spec) - Was sie JETZT NICHT tun sollen (V1 anfassen, alte V2-Pfade) - Was sie JETZT TUN sollen (Spec lesen, Beispiel ansehen, Mock testen) - Modul-spezifische Hinweise Sonderrollen: - **Glossar** — wird Plattform-Service via API, kein klassisches Modul - **Lehrplan** — gleich, plus Auftrag: Anker mit Land-Prefix migrieren - **Sonnensystem** — Forschungs-Pilot für Stufe-3-A11y (Audio-First) - **Fluss & EU-Werkstatt** — Status klären zuerst (unklare Aktivität) ### Spec-Updates (zwei Punkte) In [module-manifest.md](file:///c:/xampp/htdocs/geograsim/v2-modules/_spec/module-manifest.md): - `glossarBegriffe` → `glossarSchwerpunkte` (max 10, Validierung im Konformitäts-Check) - `lehrplanAnker` jetzt mit Land-Prefix (`AT-GW-1.4.2`) - Multi-Locale-Hinweis im supportedLanguages-Block - 16 [REVIEW]-Punkte aus den vorigen Iterationen sind weiterhin drin und warten auf dich In [input-api.md](file:///c:/xampp/htdocs/geograsim/v2-modules/_spec/input-api.md): - `/api/student/me` liefert `locale` + `country` + erweiterte A11y-Settings - Locale-Code-Format dokumentiert In [README.md](file:///c:/xampp/htdocs/geograsim/v2-modules/_spec/README.md) + Verweis von [Lehrplan-Anker-Anleitung](file:///c:/xampp/htdocs/geograsim/v2-modules/_spec/input-api.md): - Land-Prefix-Konvention dokumentiert --- ## Was ich NICHT angefasst habe (bewusst) - ❌ Kein V1-Code in `App/sims/`, `App/pages/`, `App/php/` etc. - ❌ Kein Deploy auf den Server - ❌ Keine DB-Migration ausgeführt — nur SQL-File geschrieben - ❌ Keine API-Keys committed (`.env.local` ist gitignored) - ❌ Kein Modul-Code von Schwester-Instanzen - ❌ Keine Spec-Änderung an strukturellen Dingen, die du noch nicht freigegeben hast --- ## Bekannte Limitierungen / TODOs 1. **Cockpit-UIs (Lehrer + Schüler)** sind noch nicht gebaut. Die API-Endpoints existieren, aber es gibt keine HTML-Seite, die das Lehrer-Live-Dashboard darstellt. Folgt nach deiner Spec-Freigabe. 2. **Login-Seite** existiert nicht — derzeit nur Test-Tokens via Mock. Echte Token-Issuance braucht V2-Login-Page, die wir gemeinsam designen sollten (Reuse von V1-Login? eigenes Design?). 3. **Konformitäts-Check-Skript** ist in der Spec dokumentiert, aber noch nicht implementiert. Sollte als nächstes Tool kommen, damit Modul-Lieferungen automatisch geprüft werden. 4. **Asset-Gen-Tool** (DALL-E + ElevenLabs Wrapper) ist Verzeichnis- stub, nicht ausimplementiert. 5. **Telemetry-Client-JS-Library** (`v2-platform/lib/telemetry-client.js`) ist noch nicht da — derzeit machen Module den Fetch direkt (siehe `hallo-welt/public/game.html`). Helfer-Lib spart Boilerplate. 6. **Live-Stream-Endpoint** (SSE in `php/api/teacher/live-stream.php`) ist gebaut, aber **Apache prefork** kann lange Connections nicht gut. Für Produktion ggf. auf Long-Polling umstellen — Hinweis im Code. 7. **Hallo-Welt-Modul** hat keine echte Card-PNG (nur SVG-Placeholder ohne DALL-E-Stil). Sollte später mit einem richtigen Flat-Scandinavian- PNG ersetzt werden, sobald wir den Asset-Gen-Tool haben. 8. **Easy-Sprache von „Schüler*innen"**: Memory `feedback_keine_spielsprache` nutzt Doppelpunkt-Form. In Easy-Sprache ist das schwer lesbar — siehe Spec-Standards § 10. Konkrete Empfehlung im Easy-File: „du" oder „die Kinder". Bitte einmal kommentieren. --- ## Offene [REVIEW]-Punkte aus der ganzen Spec Wenn du Zeit hast, geh die Spec-Files durch und beantworte die `[REVIEW]:`- Stellen. Sammle alle Antworten in einer Datei oder direkt in dieser Session, ich arbeite das beim nächsten Mal in einem Rutsch ein. Stand: ~22 offene Reviews, alle markiert. --- ## Nächste sinnvolle Brocken (für unsere nächste Session) 1. **Spec-v1.0-stable festschreiben** (alle [REVIEW]-Punkte beantwortet, kleine Iteration) 2. **Konformitäts-Check-Skript** bauen (PHP, axe-core über headless Browser) 3. **Telemetry-Client-JS-Lib** als ESM für Modul-Instanzen 4. **Asset-Gen-Tools** (DALL-E + ElevenLabs CLI) 5. **V2-Login + V2-Cockpit** (groß — eigene Session) 6. **Erste echte Modul-Migration** mit einer Modul-Instanz, die schon Mail gelesen hat (z.B. Sonnensystem als Welle-2-Pilot) --- ## Zahlen für die Nacht | | | |---|---| | Erstellte Files | 56 (32 Plattform + 12 Mock + 8 Hallo-Welt + 12 Briefings + 1 Status-File + 1 Memory + bestehende Spec-Updates) | | Geänderte V1-Files | 0 | | Geänderte DB | 0 (SQL-File geschrieben, nicht ausgeführt) | | Server-Deploys | 0 | | Spec-Zeilen total | 1804 (8 Files in `_spec/`) | Atlas wünscht einen guten Morgen. — 2026-05-16, ~04:00 Uhr lokal