Files
geograsim/STATUS-2026-05-16-NACHTSCHICHT.md
Adminator 1e51ef7def Nachtrag: alle bisher untracked Ordner + hängende Änderungen mit-committen
- 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>
2026-07-08 02:27:02 +02:00

212 lines
9.2 KiB
Markdown

# 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/<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)
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