Files
geograsim/STATUS-2026-05-17-SPEC-STABLE.md
T
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

4.8 KiB
Raw Blame History

Spec v1.0-stable — 2026-05-17

Alle [REVIEW]-Punkte mit Thomas geklärt, Spec einbau-fertig für Modul-Instanzen.

Was sich seit gestern geändert hat

Spec-Files: alle [REVIEW]-Stellen durch konkrete Entscheidungen ersetzt

File Entscheidung
README.md Status v1.0-stable, neue Sektion „Geklärt mit Thomas" mit allen 11 Kernentscheidungen
module-manifest.md adminFieldsFile als Pflicht-Feld, Difficulty-Level frei pro Modul
input-api.md Neue API /api/runtime-config, Profil liefert nachteilsausgleich + levelUnlocks, drei Modi mit Override
output-api.md Lehrplan-Codes mit Land-Prefix, Klarnamen bestätigt, Level-Unlock-Auto-Update server-seitig
telemetry-api.md Heartbeat-Frequenz aus runtime-config (1030s default), Stuck zentral konfiguriert
delivery-format.md Hybrid-Konformitäts-Check (PHP+Headless), Versionierungs-Update-Logik (Patch auto / Major Atlas-Review)
platform-standards.md API-Keys nur lokal, UI-Tokens strikt, Sound-Library Phase 2, Stimmen-Pool Atlas-gepflegt
migration-from-v1.md Wellen-Reihenfolge bestätigt, V1 bleibt parallel, kein Daten-Bridge (cleaner Schnitt)
NEU level-unlock-konzept.md Anhang: Drei Modi (frei / Auftrag / Nachteilsausgleich-Override), Auto-Unlock-Logik

Total: 9 Files, 2026 Zeilen Spec.

Plattform-Code (V2): neue Tabellen + APIs

DB-Schema in v2-platform/db/init.sql:

  • platform_config_v2 — 8 Default-Konfig-Einträge (Heartbeat, Token-TTL, Rate-Limits etc.) für Admin-Board-Tuning
  • health_metrics_v2 — Antwortzeit-Statistiken pro Endpoint (Vorbereitung für Phase-2-Auto-Tuning)
  • class_assignments_v2 — V2-Aufträge mit difficulty + custom_params (V3-Vorbereitung)
  • student_level_unlock_v2 — pro Schüler*in × Modul (highest_unlocked_level, highest_completed_level, best_score_per_level, attempts_per_level)
  • students.nachteilsausgleich — neue Spalte additiv

APIs:

  • NEU: v2-platform/php/api/runtime-config.php + Mock — liefert Plattform-Tuning-Werte
  • erweitert: /api/student/me liefert jetzt nachteilsausgleich + levelUnlocks (Map pro Modul)
  • Mock: dritte Test-Schüler*in Sofia hat nachteilsausgleich = true für Tests

Globale Begriffsänderung: Lehrkraft → Lehrperson

Alle V2-Spec-Files, Plattform-Code, Mock-Code, Briefings und Hallo-Welt-Modul auf „Lehrperson" umgestellt (Sed-Lauf über bekannte Pfade). V1-Code unverändert — alte Begriffe bleiben dort.

Plus neue Memory-Datei feedback_lehrperson_nicht_lehrkraft.md — Konvention dauerhaft festgehalten.

Was als nächstes ansteht

Aus deinem Auftragsstapel, Reihenfolge nach Sinn:

  1. Konformitäts-Check-Skript bauen (PHP + Headless-Chrome) — damit Modul-Instanzen ihre Lieferungen selbst prüfen können bevor sie an Atlas schicken
  2. Telemetry-Client-JS-Lib (v2-platform/lib/telemetry-client.js) — nimmt Modul-Instanzen Boilerplate ab (Heartbeat-Loop, Token-Refresh, Stuck-Detection)
  3. V2-Cockpit + Login — Lehrer-Live-Dashboard, Schüler-Cockpit mit Lerngeschichte, Modul-Auswahl, Admin-Board mit Plattform-Config-Sektion
  4. Meister informieren — sobald V2-Cockpit substantiv steht, briefen für /v2beta-Apache-Alias

Reihenfolge ist mein Vorschlag — du entscheidest. Mein Tipp: 1 + 2 sind klein und konkret (jeweils paar Stunden), 3 ist groß (Tage), 4 ist nur eine Inbox-Mail.

Offene Detail-Fragen für später

Drei Punkte, die jetzt entschieden sind, aber bei der Implementierung wahrscheinlich nochmal auftauchen:

  • Admin-Board-Konfig-UI: ich integriere sie ins bestehende V1-Admin-Board oder baue V2-eigenes Admin? V1 hat schon das admin-fields.json-Pattern, das wir wiederverwenden.
  • Konformitäts-Check Headless-Chrome: brauchen wir eine Node-Dependency oder können wir Playwright als Standalone-Binary nutzen? Ich tendiere zu Node-frei.
  • Token-Auto-Refresh-Logik: in der Telemetry-Client-Lib einbauen — Modul muss nichts machen. Lib pollt 5min vor Ablauf einen Refresh-Endpoint und tauscht Token transparent.

Diese Punkte muss ich nicht heute klären — kommt bei der Implementierung.

Test der Live-Mock (immer noch wie gestern)

Lokal: http://localhost/geograsim/v2-modules/hallo-welt/tests/mock-platform.html — funktioniert weiter, plus Sofia (Student 44) ist jetzt mit nachteilsausgleich = true markiert.

— Atlas, 2026-05-17