- Konzept/, didaktik_geografie/, didaktik_simulation/, v2-modules/, v2-platform/ - 12 code-workspace-Files - STATUS-*.md - viele M/D/R-Änderungen an bereits getrackten Files - .gitignore verstärkt: **/.humaninput/, **/secret_keys.txt Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
9.2 KiB
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
-
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. -
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/.
-
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.
-
Beispiel-Modul
hallo-weltist komplett: Manifest, i18n, Card-SVG, Game-HTML mit voller Telemetry/A11y/Easy-Sprache, Mock-Test-Harness. Lebende Referenz für alle Modul-Instanzen. -
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.
-
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:
# 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/<modul>/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)
glossarBegriffe→glossarSchwerpunkte(max 10, Validierung im Konformitäts-Check)lehrplanAnkerjetzt 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:
/api/student/meliefertlocale+country+ erweiterte A11y-Settings- Locale-Code-Format dokumentiert
In README.md + Verweis von Lehrplan-Anker-Anleitung:
- 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.localist gitignored) - ❌ Kein Modul-Code von Schwester-Instanzen
- ❌ Keine Spec-Änderung an strukturellen Dingen, die du noch nicht freigegeben hast
Bekannte Limitierungen / TODOs
- 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.
- 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?).
- 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.
- Asset-Gen-Tool (DALL-E + ElevenLabs Wrapper) ist Verzeichnis- stub, nicht ausimplementiert.
- Telemetry-Client-JS-Library (
v2-platform/lib/telemetry-client.js) ist noch nicht da — derzeit machen Module den Fetch direkt (siehehallo-welt/public/game.html). Helfer-Lib spart Boilerplate. - 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. - 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.
- Easy-Sprache von „Schüler*innen": Memory
feedback_keine_spielsprachenutzt 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)
- Spec-v1.0-stable festschreiben (alle [REVIEW]-Punkte beantwortet, kleine Iteration)
- Konformitäts-Check-Skript bauen (PHP, axe-core über headless Browser)
- Telemetry-Client-JS-Lib als ESM für Modul-Instanzen
- Asset-Gen-Tools (DALL-E + ElevenLabs CLI)
- V2-Login + V2-Cockpit (groß — eigene Session)
- 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