{
  "schema": "amasworld-requirements-matrix",
  "schemaVersion": 1,
  "modelVersion": "2.2-behaviour",
  "generatorVersion": "2.0",
  "sourceBriefSha256": "faf201353eaeae6b216684293de42682f934549b4a547163137c0a2f65f54ae0",
  "sourceBriefTitle": "AMASWORLD — The Next Generation of Scenario Studio · Entwicklungsbrief vom 16. Oktober 2026",
  "evidenceBase": "Anwendungswurzel; Pfade relativ zu diesem Verzeichnis, nicht zum docs-Verzeichnis.",
  "auditScope": "Alle 27 Hauptabschnitte des vollständig gelesenen wiedergefundenen Briefs. Auditzeilen sind sachliche Bündelungen und keine rekonstruierte Liste der dort nur erwähnten 120 Designentscheidungen.",
  "statusDefinitions": {
    "software-verifiziert": "Implementiert / softwareverifiziert",
    "finale-freigabe-offen": "Implementiert bzw. vorbereitet / finale Freigabe offen",
    "menschliche-pruefung-offen": "Menschliche oder schulische Prüfung offen",
    "zukunft-nicht-erforderlich": "Zukunft / nicht erforderliche Erweiterung"
  },
  "releaseState": "Entwicklungs-/Vorschaustand, keine finale Gesamtfreigabe. Vorliegender Produktionsbeleg betrifft noch 2.1-events.",
  "evidenceCaveat": "Artefakte belegen den jeweils protokollierten Quellstand. Seit dem Vierbrowserbeleg geänderte zitierte Quellen werden konservativ als finale-freigabe-offen geführt. Ein Pfad zu Anleitung oder Prüfwerkzeug belegt eine Vorbereitung, nicht die Durchführung menschlicher Arbeit.",
  "changedSourcesSinceBrowserEvidence": [
    "styles.css",
    "advanced.css",
    "advanced-ui.js",
    "analysis.js"
  ],
  "requirements": [
    {
      "id": "B1-01",
      "section": "1 Bestand",
      "requirement": "Vorhandenes Rechenmodell, sechs Variablen, vier Ereignisse und Normalvergleich erhalten; Originalstände wiederherstellbar halten.",
      "status": "software-verifiziert",
      "evidence": [
        "legacy-engine.js",
        "single-event.js",
        "event-reference.js",
        "tests/model.test.cjs",
        "tests/event-plan.test.cjs",
        "tests/expanded-model.test.cjs",
        "artifacts/unit-tests.json"
      ],
      "limitation": "Neutrale Gleichheit wird geprüft; bewusst aktivierte Zusatzregeln gehören zum neuen Modell 2.2, nicht nachträglich zum Original."
    },
    {
      "id": "B1-02",
      "section": "1 Bestand",
      "requirement": "Exporte, Importe, Diagramme, Präsentationsmodus, Offline-Nutzung und bestehende Tests bewahren.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "app.js",
        "storage.js",
        "tests/browser.cjs",
        "tests/storage.test.cjs",
        "artifacts/unit-tests.json",
        "docs/qa-evidence.json"
      ],
      "limitation": "Breite Browserbelege im älteren Sammelbericht betreffen 2.1; abschließender Durchlauf der finalen 2.2-Auslieferung bleibt offen."
    },
    {
      "id": "B1-03",
      "section": "1 Bestand",
      "requirement": "Vor Entwicklungsentscheidungen Code, Prüfungen und Dokumentation sichten; unnötigen Neuaufbau vermeiden.",
      "status": "software-verifiziert",
      "evidence": [
        "docs/IMPLEMENTATION-CONTRACT.md",
        "docs/report-update.md",
        "legacy-engine.js",
        "event-reference.js"
      ],
      "limitation": "Architektur und erhaltene Referenzen belegen das Vorgehen; nicht jede frühere Arbeitshandlung ist nachträglich unabhängig beweisbar."
    },
    {
      "id": "B1-04",
      "section": "1 Bestand",
      "requirement": "Regelbasiertes Modell nicht als 300 autonome KI-Personen darstellen.",
      "status": "software-verifiziert",
      "evidence": [
        "simulation.js",
        "docs/BEHAVIOUR-MODEL.md",
        "docs/AI-SECURITY.md"
      ],
      "limitation": "Keine Person betreibt ein Sprachmodell; optionale KI verändert keine numerischen Zustände."
    },
    {
      "id": "B2-01",
      "section": "2 Gesamtziel",
      "requirement": "Durchgängigen Weg Schule erzeugen → Personen erkunden → Ereignis rechnen → Verlauf und Normalvergleich analysieren → speichern anbieten.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "index.html",
        "app.js",
        "advanced-ui.js",
        "tests/cross-browser.cjs",
        "artifacts/cross-browser/results.json"
      ],
      "limitation": "Softwarebeleg, keine empirische Bestätigung realer Schulwirkungen. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (advanced-ui.js) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B2-02",
      "section": "2 Gesamtziel",
      "requirement": "Annahmen und Unterschiede zwischen Personen/Klassen verständlich zugänglich machen.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "analysis.js",
        "advanced-ui.js",
        "docs/BEHAVIOUR-MODEL.md",
        "tests/analysis-context.test.cjs"
      ],
      "limitation": "Softwarebeleg, keine empirische Bestätigung realer Schulwirkungen. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (advanced-ui.js, analysis.js) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B3-1-01",
      "section": "3.1 Erhaltung",
      "requirement": "Änderungen an Formeln bewusst versionieren und gegen unveränderte Referenzen testen.",
      "status": "software-verifiziert",
      "evidence": [
        "simulation.js",
        "event-reference.js",
        "tests/expanded-model.test.cjs",
        "tests/model.test.cjs"
      ],
      "limitation": "Softwarebeleg, keine empirische Bestätigung realer Schulwirkungen."
    },
    {
      "id": "B3-2-01",
      "section": "3.2 Nutzen",
      "requirement": "Große Funktionen an konkreten Unterrichtsfragen ausrichten und unnötige Komplexität vermeiden.",
      "status": "menschliche-pruefung-offen",
      "evidence": [
        "index.html",
        "docs/advanced-classroom-lesson.md",
        "docs/teacher-guide.md"
      ],
      "limitation": "Unterrichtsnutzen ist als Einsatzvorschlag beschrieben; echte Lehrkräftebewertung und Verständlichkeit sind nicht durch Softwaretests nachgewiesen."
    },
    {
      "id": "B3-3-01",
      "section": "3.3 Redlichkeit",
      "requirement": "Alle Skalen, Koeffizienten und Ergebnisse als erfundene Modellannahmen statt reale Messwerte oder Vorhersagen kennzeichnen.",
      "status": "software-verifiziert",
      "evidence": [
        "index.html",
        "docs/BEHAVIOUR-MODEL.md",
        "docs/model.md"
      ],
      "limitation": "Keine empirische Kalibrierung, Diagnostik oder wissenschaftliche Validierung."
    },
    {
      "id": "B3-4-01",
      "section": "3.4 Budget",
      "requirement": "Kern ohne Pflicht-API, Konten, bezahlten Server oder kostenpflichtige Bibliotheken nutzbar halten.",
      "status": "software-verifiziert",
      "evidence": [
        "package.json",
        "index.html",
        "storage.js",
        "docs/AI-SECURITY.md",
        "artifacts/cross-browser/results.json"
      ],
      "limitation": "Lokale Berechnung und Offline-Nutzung funktionieren unabhängig von optionaler Online-KI."
    },
    {
      "id": "B3-4-02",
      "section": "3.4 Budget",
      "requirement": "Zusatzbudget von ungefähr 20 € respektieren; keine Käufe oder neuen bezahlten Abonnements ohne Zustimmung.",
      "status": "menschliche-pruefung-offen",
      "evidence": [
        "docs/AI-SECURITY.md",
        "wrangler.toml"
      ],
      "limitation": "Kein neuer bezahlter Plan aktiviert. Abrechnungszugriff wurde mit 403 abgewiesen; Rechnung und Gesamtbudget sind nicht unabhängig geprüft. Isolate-Limits sind keine globale Kostengarantie."
    },
    {
      "id": "B3-5-01",
      "section": "3.5 Schulprojekt",
      "requirement": "Entscheidungen, Grenzen, Tests und wesentliche KI-Hilfe offen dokumentieren; Erklärung auf Schulniveau vorbereiten.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "docs/report-update.md",
        "docs/student-explanation.md",
        "docs/BEHAVIOUR-MODEL.md"
      ],
      "limitation": "Aktualisierung aller historischen Materialien auf den final ausgelieferten Stand steht noch aus."
    },
    {
      "id": "B3-5-02",
      "section": "3.5 Schulprojekt",
      "requirement": "Tatsächliches Verständnis und Erklärbarkeit durch die präsentierende Person sicherstellen.",
      "status": "menschliche-pruefung-offen",
      "evidence": [
        "docs/student-explanation.md",
        "docs/advanced-classroom-lesson.md"
      ],
      "limitation": "Eigenständige Erklärung, persönliche Reflexion und Vortrag können nicht durch generierte Texte abgenommen werden."
    },
    {
      "id": "B4-01",
      "section": "4 Module",
      "requirement": "Dashboard, Schulbau, Schulerkundung, Szenarien, Analyse, Methodik und Einstellungen als sieben klar getrennte Bereiche bereitstellen.",
      "status": "software-verifiziert",
      "evidence": [
        "index.html",
        "app.js",
        "tests/cross-browser.cjs",
        "artifacts/cross-browser/results.json"
      ],
      "limitation": "Softwarebeleg, keine empirische Bestätigung realer Schulwirkungen."
    },
    {
      "id": "B4-02",
      "section": "4 Module",
      "requirement": "Vorhandene HTML/CSS/JavaScript-Struktur modular erweitern statt großes Frontend-Framework einzuführen.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "package.json",
        "school.js",
        "simulation.js",
        "analysis.js",
        "storage.js",
        "app.js"
      ],
      "limitation": "Softwarebeleg, keine empirische Bestätigung realer Schulwirkungen. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (analysis.js) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B5-01",
      "section": "5 Gestaltung",
      "requirement": "Monochromes Design mit dunklem Hintergrund, Anthrazitflächen, weiß-grauer Typografie, subtilen Rahmen, Abständen und beschrifteten Symbolen umsetzen.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "styles.css",
        "advanced.css",
        "index.html",
        "artifacts/cross-browser/edge-desktop.png"
      ],
      "limitation": "Implementierte Gestaltung ist sichtbar; ästhetische Qualität und Eignung für Lehrkräfte sind keine objektive Testzertifizierung. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (advanced.css, styles.css) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B5-02",
      "section": "5 Gestaltung",
      "requirement": "Klare Navigation, kontextbezogene Arbeitsbereiche und eingeklappte erweiterte Einstellungen statt überladener Pflichtformulare anbieten.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "index.html",
        "app.js",
        "event-ui.js",
        "advanced-ui.js",
        "artifacts/cross-browser/results.json"
      ],
      "limitation": "Softwarebeleg, keine empirische Bestätigung realer Schulwirkungen. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (advanced-ui.js) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B5-03",
      "section": "5 Gestaltung",
      "requirement": "Desktop und schmale Bildschirmbreiten mit bedienbarer Navigation, Diagrammen und enthaltenen Tabellen unterstützen.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "styles.css",
        "advanced.css",
        "tests/cross-browser.cjs",
        "artifacts/cross-browser/results.json"
      ],
      "limitation": "Browser-Viewports sind keine echten Telefone; abschließende Langtabellenprüfung nach letzten CSS-Änderungen erforderlich."
    },
    {
      "id": "B5-04",
      "section": "5 Barrierearmut",
      "requirement": "Tastatur, sichtbaren Fokus, beschriftete Felder, semantische Tabellen/Dialoge, Diagrammbeschreibungen und nicht nur farbliche Unterschiede bereitstellen.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "index.html",
        "app.js",
        "advanced-ui.js",
        "styles.css",
        "tests/cross-browser.cjs",
        "artifacts/cross-browser/results.json"
      ],
      "limitation": "Automatisierte A/AA-Prüftags und Tastaturabläufe sind keine WCAG-Zertifizierung; Kontrastprüfungen enthalten manuell zu klärende incomplete-Befunde. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (advanced-ui.js, styles.css) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B5-05",
      "section": "5 Barrierearmut",
      "requirement": "Reduzierte Bewegung berücksichtigen; auf langsame dekorative Animationen verzichten.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "styles.css",
        "tests/browser.cjs",
        "docs/qa-evidence.json"
      ],
      "limitation": "Älterer breiter Browsernachweis; finalen 2.2-Stand erneut prüfen."
    },
    {
      "id": "B5-06",
      "section": "5 Barrierearmut",
      "requirement": "Lesbarkeit, Kontrast-Sonderfälle, echte Screenreader-Bedienung und Gebrauchstauglichkeit manuell bewerten.",
      "status": "menschliche-pruefung-offen",
      "evidence": [
        "artifacts/cross-browser/results.json",
        "docs/advanced-classroom-lesson.md"
      ],
      "limitation": "Nicht als bestanden ausgeben; automatisierte Scans lassen insbesondere Kontrastfälle offen."
    },
    {
      "id": "B6-01",
      "section": "6 Veröffentlichung",
      "requirement": "Kostenlose statische Hostingoptionen vergleichen und geeigneten HTTPS-Betrieb ohne laufenden Entwicklungsrechner dokumentieren.",
      "status": "software-verifiziert",
      "evidence": [
        "docs/DEPLOYMENT.md",
        "wrangler.toml",
        "tools/build.cjs"
      ],
      "limitation": "Cloudflare Pages ist gewählt; freie Bereitstellung ersetzt keine unabhängige Abrechnungsprüfung."
    },
    {
      "id": "B6-02",
      "section": "6 Veröffentlichung",
      "requirement": "Nur öffentliche relative Dateien veröffentlichen; keine lokalen Rechnerpfade, Geheimnisse oder Zugangsdaten im Websitepaket.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "tools/build.cjs",
        "_headers",
        "tests/delivery.test.cjs",
        "backend/assistant.js",
        "docs/AI-SECURITY.md"
      ],
      "limitation": "Öffentliche Allowlist statt gesamtem Projektverzeichnis. Finale Paketprüfung nach neuem Build erforderlich."
    },
    {
      "id": "B6-03",
      "section": "6 Veröffentlichung",
      "requirement": "Tatsächliche aktuelle öffentliche Version mit echten URL-, Asset-, HTTPS- und Bedienprüfungen bestätigen.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "tests/production-smoke.cjs",
        "tools/publication.cjs",
        "tests/publication.test.cjs",
        "artifacts/production-smoke/result.json"
      ],
      "limitation": "Hauptadresse https://amasworld-school-lab.pages.dev/ ist am Auditstand noch 2.1. Die geprüfte 2.2-Vorschau ist keine finale Produktionsfreigabe."
    },
    {
      "id": "B6-04",
      "section": "6 Veröffentlichung",
      "requirement": "Online-KI separat durch echte Anbieter-Inferenz prüfen, nicht nur durch Testersatz.",
      "status": "software-verifiziert",
      "evidence": [
        "tests/ai-production.cjs",
        "artifacts/ai-live/preview.json"
      ],
      "limitation": "Vier Vorschauprüfungen enthalten zwei echte Inferenzantworten. Das belegt Vorschauverfügbarkeit, keine dauerhafte Verfügbarkeit oder finalen Hauptadressenstand."
    },
    {
      "id": "B6-05",
      "section": "6 Veröffentlichung",
      "requirement": "Offline-Version neben Onlinebetrieb erhalten und Veröffentlichungsschritte einschließlich erforderlicher Kontoautorisierung erklären.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "docs/DEPLOYMENT.md",
        "tools/package-delivery.py",
        "tests/cross-browser.cjs",
        "artifacts/cross-browser/results.json"
      ],
      "limitation": "Offline-App ist geprüft; neues finales Archiv und dessen eigener Abnahmelauf fehlen noch."
    },
    {
      "id": "B7-1-01",
      "section": "7.1 Schnellstart",
      "requirement": "Prominenten Schnellstart mit vollständiger reproduzierbarer Schule und sinnvollen Standardwerten anbieten.",
      "status": "software-verifiziert",
      "evidence": [
        "index.html",
        "school.js",
        "app.js",
        "tests/cross-browser.cjs",
        "artifacts/cross-browser/results.json"
      ],
      "limitation": "Standard: 300 Modellpersonen und 12 Klassen. Die im Brief genannten Standardwerte sind Beispiele, keine Pflicht für jeden Versuch."
    },
    {
      "id": "B7-2-01",
      "section": "7.2 Eigene Schule",
      "requirement": "Schulname, Personen- und Klassenanzahl, eigene Klassengrößen, fiktive Altersgruppen und Schul-Seed konfigurieren.",
      "status": "software-verifiziert",
      "evidence": [
        "school.js",
        "app.js",
        "tests/model.test.cjs",
        "tests/advanced-school.test.cjs"
      ],
      "limitation": "Höchstens 24 nichtleere Klassen; manuelle Größen müssen sich exakt zur Gesamtzahl summieren; Alter 10–19 ist synthetische Metadateninformation."
    },
    {
      "id": "B7-2-02",
      "section": "7.2 Eigene Schule",
      "requirement": "Motivation, Organisation und Leistungsstartwerte sowie Stresssensitivität verständlich parametrieren.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "school.js",
        "advanced-ui.js",
        "tests/advanced-school.test.cjs",
        "docs/BEHAVIOUR-MODEL.md"
      ],
      "limitation": "Verschiebung −20 bis +20, Streuungsfaktoren 0–2 und Sensitivitätsvariation 0–0,4; keine beliebige empirische Verteilungsanpassung oder psychologische Diagnose. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (advanced-ui.js) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B7-3-01",
      "section": "7.3 Grenzen",
      "requirement": "Regulären unterstützten Bereich 50–300 beibehalten und kleinere Klassen nur ausdrücklich getestet ergänzen.",
      "status": "software-verifiziert",
      "evidence": [
        "school.js",
        "tests/advanced-school.test.cjs",
        "tests/expanded-model.test.cjs",
        "artifacts/cross-browser/results.json"
      ],
      "limitation": "Expliziter Klassenraummodus erlaubt 1–49; ohne Aktivierung bleiben Werte unter 50 ungültig."
    },
    {
      "id": "B7-3-02",
      "section": "7.3 Grenzen",
      "requirement": "Keine unbegründete Erweiterung über 300 Personen vornehmen.",
      "status": "zukunft-nicht-erforderlich",
      "evidence": [
        "school.js",
        "tests/advanced-school.test.cjs"
      ],
      "limitation": "Mehr als 300 ist weder erforderlich noch unterstützt. Erst gesonderte Modell-, Speicher- und Leistungsprüfung könnte eine künftige Erweiterung begründen."
    },
    {
      "id": "B7-4-01",
      "section": "7.4 Speicherung",
      "requirement": "Schulkonfiguration lokal speichern, laden und als JSON exportieren/importieren; keine Pflichtkonten oder Cloud-Datenbank.",
      "status": "software-verifiziert",
      "evidence": [
        "storage.js",
        "app.js",
        "tests/storage.test.cjs",
        "tests/workspace.test.cjs"
      ],
      "limitation": "Browserspeicher kann blockiert oder gelöscht werden; JSON zusätzlich sichern. Exporte sind unverschlüsselt."
    },
    {
      "id": "B7-5-01",
      "section": "7.5 Datenschutz",
      "requirement": "Nur synthetische Namen und Merkmale verwenden; vor realen Kinder- und Schuldaten warnen.",
      "status": "software-verifiziert",
      "evidence": [
        "school.js",
        "index.html",
        "docs/AI-SECURITY.md",
        "tests/assistant-schema.test.cjs"
      ],
      "limitation": "Frei eingegebener Text kann echte Angaben enthalten; keine vollständige automatische Anonymisierung zugesichert."
    },
    {
      "id": "B8-1-01",
      "section": "8.1 Identität",
      "requirement": "Eindeutige ID, fiktiven Namen, Klassenbezug und reproduzierbare individuelle Anfangswerte erzeugen.",
      "status": "software-verifiziert",
      "evidence": [
        "school.js",
        "tests/model.test.cjs",
        "tests/advanced-school.test.cjs"
      ],
      "limitation": "IDs sind maßgeblich; zufällige Übereinstimmung synthetischer Namen mit realen Namen bedeutet keine echte Identität."
    },
    {
      "id": "B8-2-01",
      "section": "8.2 Variablen",
      "requirement": "Motivation, Stress, Lernzeit, Fokus, Organisation und Modellleistung mit dokumentierten Einheiten und Grenzen erhalten.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "simulation.js",
        "analysis.js",
        "tests/model.test.cjs",
        "docs/BEHAVIOUR-MODEL.md"
      ],
      "limitation": "Lernzeit 0–6 h/Tag, übrige Werte 0–100 Modellpunkte. Organisation bleibt im Tagesmodell konstant. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (analysis.js) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B8-3-01",
      "section": "8.3 Merkmale",
      "requirement": "Akademische Stärken/Schwächen, Stresssensitivität, Anpassung, soziale Unterstützung und Lerngewohnheit operational definieren.",
      "status": "software-verifiziert",
      "evidence": [
        "school.js",
        "behaviour.js",
        "social.js",
        "docs/BEHAVIOUR-MODEL.md",
        "tests/behaviour.test.cjs"
      ],
      "limitation": "Drei synthetische Fachstartwerte liefern relative Stärken/Schwächen; Lernregulation ist ein Koeffizient, kein wissenschaftlich behaupteter Lerntyp."
    },
    {
      "id": "B8-3-02",
      "section": "8.3 Merkmale",
      "requirement": "Keine undefinierten oder wissenschaftlich unbelegten Lernstiltypen hinzufügen.",
      "status": "zukunft-nicht-erforderlich",
      "evidence": [
        "behaviour.js",
        "tests/behaviour.test.cjs",
        "docs/BEHAVIOUR-MODEL.md"
      ],
      "limitation": "Ein Klassifikationssystem für Lernstile ist bewusst nicht erforderlich und nicht implementiert."
    },
    {
      "id": "B8-4-01",
      "section": "8.4 Profile",
      "requirement": "Anklickbare Profile mit ID, Name, Klasse, Startmerkmalen, aktuellem Tag, Entwicklung, Normalvergleich und tatsächlicher Ereignisexposition anzeigen.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "app.js",
        "advanced-ui.js",
        "tests/browser.cjs",
        "tests/cross-browser.cjs",
        "artifacts/cross-browser/results.json"
      ],
      "limitation": "Profilwerte stammen aus generierten Merkmalen und gespeicherten Historien, nicht aus den illustrativen Zahlen des Briefs. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (advanced-ui.js) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B8-4-02",
      "section": "8.4 Profile",
      "requirement": "Numerische Entwicklung als Diagramm und zugängliche Tageswerttabelle darstellen.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "app.js",
        "advanced-ui.js",
        "tests/browser.cjs",
        "artifacts/cross-browser/results.json"
      ],
      "limitation": "Zusätzliche Fachzähler und Beziehungen sind eigene Modellgrößen; keine Noten oder tatsächlichen Freundschaften. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (advanced-ui.js) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B8-5-01",
      "section": "8.5 Einzelvergleich",
      "requirement": "Dieselbe Person in Szenario und Normalverlauf mit gleichen Startwerten und passenden Zufallsinputs vergleichen.",
      "status": "software-verifiziert",
      "evidence": [
        "simulation.js",
        "tests/model.test.cjs",
        "tests/expanded-model.test.cjs"
      ],
      "limitation": "Der Normalverlauf enthält dieselben aktivierten Zusatzregeln, aber keine direkten Ereignisterme."
    },
    {
      "id": "B8-6-01",
      "section": "8.6 Historien",
      "requirement": "Individuelle vollständige Tageshistorien mit Modellversion, Schul-/Versuchsseed und Einstellungen verbinden.",
      "status": "software-verifiziert",
      "evidence": [
        "simulation.js",
        "storage.js",
        "tests/model.test.cjs",
        "tests/storage.test.cjs"
      ],
      "limitation": "Tag 0 bis Endtag werden gespeichert; unabhängige Kopien verhindern versehentliche nachträgliche Änderung früherer Zustände."
    },
    {
      "id": "B8-6-02",
      "section": "8.6 Historien",
      "requirement": "Beim Wechsel von Person, Klasse, Kennzahl oder Tag gespeicherte Zustände auswerten statt neue Versuche rechnen.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "analysis.js",
        "app.js",
        "advanced-ui.js",
        "tests/cross-browser.cjs",
        "artifacts/cross-browser/results.json"
      ],
      "limitation": "Softwarebeleg, keine empirische Bestätigung realer Schulwirkungen. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (advanced-ui.js, analysis.js) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B9-01",
      "section": "9 Schulübersicht",
      "requirement": "Personen-/Klassenanzahl, Klassennamen, Merkmale, Versuchsstatus und ausgewählten echten Simulationstag anzeigen.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "app.js",
        "advanced-ui.js",
        "tests/browser.cjs",
        "artifacts/cross-browser/results.json"
      ],
      "limitation": "Softwarebeleg, keine empirische Bestätigung realer Schulwirkungen. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (advanced-ui.js) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B9-02",
      "section": "9 Klassenübersicht",
      "requirement": "Klassenauswahl, Personenliste, Suche nach Name/ID, Filter, Profile und Klassen-/Schulvergleich bereitstellen.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "app.js",
        "analysis.js",
        "tests/model.test.cjs",
        "tests/browser.cjs"
      ],
      "limitation": "Werte beziehen sich auf denselben ausgewählten Tag; eine fremde finale Schulkennzahl ersetzt keinen Klassenausschnitt. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (analysis.js) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B9-03",
      "section": "9 Sortierung",
      "requirement": "Nach jeder der sechs Kennzahlen und nach Differenz zum Normalverlauf sortieren.",
      "status": "software-verifiziert",
      "evidence": [
        "app.js",
        "index.html",
        "tests/browser.cjs"
      ],
      "limitation": "Kennzahl und Sortiermodus sind kombinierbar; die Rangliste beschreibt Modellwerte, keine realen Förderbedarfe."
    },
    {
      "id": "B9-04",
      "section": "9 Sprache",
      "requirement": "Hohe Stresswerte neutral als simulierte Skalenwerte beschreiben, nicht als psychische Erkrankung oder Lernbehinderung.",
      "status": "software-verifiziert",
      "evidence": [
        "index.html",
        "docs/BEHAVIOUR-MODEL.md",
        "docs/advanced-classroom-lesson.md"
      ],
      "limitation": "Softwarebeleg, keine empirische Bestätigung realer Schulwirkungen."
    },
    {
      "id": "B9-05",
      "section": "9 Zeitachse",
      "requirement": "Tag 0 sowie tatsächliche gespeicherte Zwischen- und Endtage untersuchen, ohne interpolierte Versuchsergebnisse zu erfinden.",
      "status": "software-verifiziert",
      "evidence": [
        "simulation.js",
        "app.js",
        "tests/model.test.cjs",
        "artifacts/cross-browser/results.json"
      ],
      "limitation": "Softwarebeleg, keine empirische Bestätigung realer Schulwirkungen."
    },
    {
      "id": "B10-01",
      "section": "10 Bestehende Szenarien",
      "requirement": "Normalverlauf, Prüfungsphase, Technikproblem, Schulschließung und Unterrichtsausfall erhalten.",
      "status": "software-verifiziert",
      "evidence": [
        "simulation.js",
        "tests/model.test.cjs",
        "tests/expanded-model.test.cjs"
      ],
      "limitation": "Normalverlauf bleibt Kontrollbedingung ohne direkte Ereignisse."
    },
    {
      "id": "B10-02",
      "section": "10 Neue Szenarien",
      "requirement": "Zusätzliche Hausaufgaben, späteren Schulbeginn und Stundenplanwechsel durch explizite hypothetische Terme abbilden.",
      "status": "software-verifiziert",
      "evidence": [
        "simulation.js",
        "tests/model.test.cjs",
        "docs/model.md"
      ],
      "limitation": "Späterer Beginn ist eine definierte Modellvariante, kein frei parametrierter realer Stunden-/Schlafplan."
    },
    {
      "id": "B10-03",
      "section": "10 Neue Szenarien",
      "requirement": "Unterrichtsmethode, Bewertungshäufigkeit und Pausen als nachvollziehbare Modellvarianten untersuchen.",
      "status": "software-verifiziert",
      "evidence": [
        "simulation.js",
        "tests/expanded-model.test.cjs",
        "docs/BEHAVIOUR-MODEL.md"
      ],
      "limitation": "Strukturierte Übungsphasen, zusätzliche Lernkontrollen je aktivem Tag und längere Pausen; insgesamt elf Szenarien einschließlich Normalfall. Keine empirische Methodenbewertung."
    },
    {
      "id": "B10-04",
      "section": "10 Konfiguration",
      "requirement": "Szenarioart, Intensität, Simulationsdauer, Start-/Endtag, Zielklassen und Versuchsseed validiert einstellen.",
      "status": "software-verifiziert",
      "evidence": [
        "simulation.js",
        "app.js",
        "tests/model.test.cjs"
      ],
      "limitation": "5–30 Tage; Intensität 0–3; Grenzen des Ereignisfensters sind einschließlich. Schulseed und Versuchsseed haben unterschiedliche Aufgaben."
    },
    {
      "id": "B10-05",
      "section": "10 Kontrollvergleich",
      "requirement": "Gleiche Population, Startmerkmale, Dauer, Hintergrundzufall und Modellversion in beiden Bedingungen verwenden und Unterschied erläutern.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "simulation.js",
        "analysis.js",
        "tests/model.test.cjs",
        "tests/expanded-model.test.cjs"
      ],
      "limitation": "Sechs passende Zufallsziehungen pro Person/Tag; bei aktiven Peerregeln können nicht direkt adressierte Klassen indirekt betroffen sein. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (analysis.js) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B10-06",
      "section": "10 Mehrere Ereignisse",
      "requirement": "Als fortgeschrittene Funktion ein Haupt- und bis zu vier Zusatzereignisse mit eigenen Zeiten, Intensitäten und Klassen kombinieren.",
      "status": "software-verifiziert",
      "evidence": [
        "simulation.js",
        "event-ui.js",
        "tests/event-plan.test.cjs",
        "docs/EVENT-PLAN.md"
      ],
      "limitation": "Direkte Terme werden vor einem einzigen Tagesschritt addiert. Alle Ereignisse teilen dieselbe dritte Tagesziehung; Differenzen der Endergebnisse sind nicht allgemein additiv."
    },
    {
      "id": "B10-07",
      "section": "10 Sprachereignisse",
      "requirement": "Erweiterbare Schnittstelle für sprachliche Wünsche ohne Erfindung beliebiger Formeln anbieten.",
      "status": "software-verifiziert",
      "evidence": [
        "assistant-schema.js",
        "assistant-ui.js",
        "tests/assistant-schema.test.cjs",
        "artifacts/cross-browser/results.json"
      ],
      "limitation": "Lokaler Parser erkennt einen begrenzten deutschen Wortschatz für vorhandene Szenarien. Prüfung, ausdrückliches Übernehmen und separates Berechnen bleiben erforderlich."
    },
    {
      "id": "B11-1-01",
      "section": "11.1 Übersicht",
      "requirement": "Nach Berechnung Szenario/Gesamtplan, Personen, Klassen, Dauer, Intensität, beide Seeds, Modellversion und Normalvergleich zusammenfassen.",
      "status": "software-verifiziert",
      "evidence": [
        "app.js",
        "simulation.js",
        "tests/browser.cjs",
        "tests/event-plan.test.cjs"
      ],
      "limitation": "Geänderte Eingabefelder dürfen die Kennzeichnung des zuletzt berechneten Versuchs nicht überschreiben."
    },
    {
      "id": "B11-2-01",
      "section": "11.2 Kennzahlen",
      "requirement": "Alle sechs Kennzahlen mit korrekten Einheiten und Differenz Szenario minus Normalfall ausweisen.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "analysis.js",
        "app.js",
        "tests/model.test.cjs"
      ],
      "limitation": "Lernstunden sind nicht mit 0–100-Modellpunkten austauschbar. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (analysis.js) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B11-3-01",
      "section": "11.3 Diagramme",
      "requirement": "Normal-/Szenarioverlauf, zeitliche Entwicklung, Einzelprofile, Klassenvergleiche und Population anzeigen; Kennzahlwechsel ohne Neuberechnung.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "analysis.js",
        "app.js",
        "tests/model.test.cjs",
        "tests/browser.cjs",
        "artifacts/cross-browser/results.json"
      ],
      "limitation": "Gespeicherte Zustände sind die Datenbasis; Diagramme sind keine unabhängige Messung. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (analysis.js) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B11-4-01",
      "section": "11.4 Verteilungen",
      "requirement": "Histogramme, Perzentile, Minima/Maxima und Verteilungsunterschiede statt ausschließlich Mittelwerte anbieten.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "analysis.js",
        "app.js",
        "tests/model.test.cjs"
      ],
      "limitation": "Perzentile beschreiben synthetische Variation, keine Unsicherheitsintervalle und keine repräsentativen Schülerdaten. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (analysis.js) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B11-5-01",
      "section": "11.5 Klassenvergleich",
      "requirement": "Klassenmittel und Unterschiede gegenüber dem Normalfall am gewählten Tag berechnen und durch Merkmale/Regeln einordnen.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "analysis.js",
        "app.js",
        "tests/model.test.cjs",
        "tests/analysis-context.test.cjs"
      ],
      "limitation": "Schulmittel gewichtet Personen, nicht jede Klasse gleich. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (analysis.js) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B11-6-01",
      "section": "11.6 Größte Änderungen",
      "requirement": "Personen nach Differenz zum Normalfall auffindbar machen und deren Profile öffnen.",
      "status": "software-verifiziert",
      "evidence": [
        "app.js",
        "index.html",
        "tests/browser.cjs"
      ],
      "limitation": "Eine große Modelländerung ist kein realer pädagogischer Befund."
    },
    {
      "id": "B11-7-01",
      "section": "11.7 Erklärungen",
      "requirement": "Deterministische Erklärung aus wirklichen Ergebnissen, ausgewähltem Tag/Klasse und aktiven Regeln vor optionaler KI anbieten.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "analysis.js",
        "simulation.js",
        "tests/analysis-context.test.cjs",
        "tests/event-plan.test.cjs"
      ],
      "limitation": "Regelerklärung erläutert programmierte Zusammenhänge, keine externe Kausalbestätigung. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (analysis.js) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B12-01",
      "section": "12 Sichtbarkeit",
      "requirement": "Profile, Klassen, Zeitachse, Vergleiche und Historien als erste Stufe einer lebendigeren Schule verbinden.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "app.js",
        "advanced-ui.js",
        "artifacts/cross-browser/results.json"
      ],
      "limitation": "Softwarebeleg, keine empirische Bestätigung realer Schulwirkungen. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (advanced-ui.js) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B12-02",
      "section": "12 Differenzierung",
      "requirement": "Individuelle Reaktionsunterschiede durch definierte Merkmale, Anpassung und Rückkopplung statt losgelöster KI-Geschichten erzeugen.",
      "status": "software-verifiziert",
      "evidence": [
        "school.js",
        "behaviour.js",
        "simulation.js",
        "tests/behaviour.test.cjs",
        "tests/expanded-model.test.cjs"
      ],
      "limitation": "Zusatzverhalten ist unabhängig abschaltbar und standardmäßig aus."
    },
    {
      "id": "B12-03",
      "section": "12 Beziehungen",
      "requirement": "Fiktive Verbindungen, Unterstützung, Einfluss und veränderliche Beziehungsstärken explizit modellieren.",
      "status": "software-verifiziert",
      "evidence": [
        "social.js",
        "simulation.js",
        "tests/social.test.cjs",
        "docs/BEHAVIOUR-MODEL.md"
      ],
      "limitation": "Topologie bleibt im Versuch fest; Gewichte können sich ändern. Neu entstehende/auflösende Freundschaften werden nicht behauptet."
    },
    {
      "id": "B12-04",
      "section": "12 Verhalten",
      "requirement": "Lernzeit und Motivation anhand früherer Modellleistung anpassen; individuelle Reaktion auf wiederholte Belastung und Unterstützung abbilden.",
      "status": "software-verifiziert",
      "evidence": [
        "behaviour.js",
        "social.js",
        "tests/behaviour.test.cjs",
        "tests/expanded-model.test.cjs"
      ],
      "limitation": "Rückkopplung nutzt den Vortag; Regelziel und Koeffizienten sind frei gesetzt, keine Psychologievalidierung."
    },
    {
      "id": "B13-01",
      "section": "13 Graph",
      "requirement": "Personen als Knoten und eindeutige ungerichtete Verbindungen mit numerischen Gewichten darstellen.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "social.js",
        "tests/social.test.cjs",
        "advanced-ui.js"
      ],
      "limitation": "Keine Selbstkanten; Gradobergrenze 0–8 kann unterschritten werden; Einzelpersonen und leere Graphen sind gültig. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (advanced-ui.js) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B13-02",
      "section": "13 Wirkungen",
      "requirement": "Dokumentierte, konfigurierbare, reproduzierbare und getestete Peerterme für Stress, Motivation und Lernzeit bereitstellen.",
      "status": "software-verifiziert",
      "evidence": [
        "social.js",
        "simulation.js",
        "tests/social.test.cjs",
        "tests/expanded-model.test.cjs",
        "docs/BEHAVIOUR-MODEL.md"
      ],
      "limitation": "Nur Vortageswerte; indirekte Ereignisausbreitung frühestens am Folgetag. Einfluss 0 oder Abschalten ergibt exakt null Peerterme."
    },
    {
      "id": "B13-03",
      "section": "13 Gewichte",
      "requirement": "Hypothetische Veränderung der Beziehungsstärken täglich getrennt für beide Bedingungen speichern.",
      "status": "software-verifiziert",
      "evidence": [
        "social.js",
        "simulation.js",
        "tests/social.test.cjs",
        "tests/expanded-model.test.cjs"
      ],
      "limitation": "Gewichte 0,1–1; Topologie ist fix. Die Regel ist keine empirische Freundschaftstheorie."
    },
    {
      "id": "B13-04",
      "section": "13 Visualisierung",
      "requirement": "Optionalen Netzwerkbereich als ergänzende Analyse, nicht als primäre Lehrkräfteoberfläche anbieten.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "advanced-ui.js",
        "advanced.css",
        "tests/cross-browser.cjs",
        "artifacts/cross-browser/results.json"
      ],
      "limitation": "Tastaturzugang, Profile und genaue Kantentabelle unterstützen den Graphen; Layout verändert keine Zahlen. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (advanced-ui.js, advanced.css) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B13-05",
      "section": "13 Umfang",
      "requirement": "Komplexe Gruppen-/Gesellschaftsdynamik und dynamische Neuzuordnung von Freundschaften nicht mit dem kleinen Graphmodell gleichsetzen.",
      "status": "zukunft-nicht-erforderlich",
      "evidence": [
        "docs/BEHAVIOUR-MODEL.md",
        "social.js"
      ],
      "limitation": "Eine detaillierte soziale Gesellschaftssimulation ist nicht zugesagt und bleibt mögliche Zukunftsarbeit."
    },
    {
      "id": "B14-01",
      "section": "14 KI-Strategie",
      "requirement": "Regelbasierten Kern ohne ein Sprachmodell je Person und ohne hunderte Anfragen pro Tagesschritt betreiben.",
      "status": "software-verifiziert",
      "evidence": [
        "simulation.js",
        "behaviour.js",
        "social.js",
        "tests/cross-browser.cjs",
        "artifacts/cross-browser/results.json"
      ],
      "limitation": "Gewöhnliche Simulationen benötigen weder API-Schlüssel noch Online-KI."
    },
    {
      "id": "B14-02",
      "section": "14 Optionale KI",
      "requirement": "Erklärungen, Annahmenhilfe, Vorschläge vordefinierter Experimente, Sprachwünsche und datenbezogene Zusammenfassungen außerhalb der Mathematik anbieten.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "assistant-schema.js",
        "assistant-ui.js",
        "backend/assistant.js",
        "tests/assistant-schema.test.cjs",
        "artifacts/ai-live/preview.json"
      ],
      "limitation": "Vorschau mit echten Antworten geprüft; kein beliebiger eigener Szenariocode. Finale Produktionsveröffentlichung noch offen."
    },
    {
      "id": "B14-03",
      "section": "14 Faktentrennung",
      "requirement": "Berechnete Fakten, dokumentierte Regeln und KI-Interpretation einschließlich Hypothesen/Grenzen getrennt anzeigen.",
      "status": "software-verifiziert",
      "evidence": [
        "assistant-schema.js",
        "assistant-ui.js",
        "backend/assistant.js",
        "tests/assistant-schema.test.cjs",
        "docs/AI-SECURITY.md"
      ],
      "limitation": "Ein korrektes JSON-Schema verhindert keine sprachlich falsche Interpretation; lokale Zahlen und Regelerklärung sind maßgeblich."
    },
    {
      "id": "B14-04",
      "section": "14 Sicherheit",
      "requirement": "Keine Frontend-Schlüssel; Same-Origin-Backend mit privater Anbieterbindung, Größen-/Tokenlimits, strikten Schemata und sicherer Textausgabe nutzen.",
      "status": "software-verifiziert",
      "evidence": [
        "backend/assistant.js",
        "assistant-schema.js",
        "wrangler.toml",
        "tests/assistant-backend.test.cjs",
        "artifacts/ai-live/preview.json"
      ],
      "limitation": "Origin/CORS ist keine Anmeldung. Absichtliche direkte HTTP-Anfragen sind dadurch nicht zuverlässig ausgeschlossen."
    },
    {
      "id": "B14-05",
      "section": "14 Zustimmung",
      "requirement": "Online-KI nur nach nicht gespeicherter Sitzungszustimmung und ausdrücklichem Klick senden; Offline-Simulation und lokale Erkennung erhalten.",
      "status": "software-verifiziert",
      "evidence": [
        "assistant-ui.js",
        "tests/cross-browser.cjs",
        "artifacts/cross-browser/results.json",
        "docs/AI-SECURITY.md"
      ],
      "limitation": "Erklärung übermittelt Gruppenmittel, nicht Einzelprofile; eigene Freitexte können dennoch persönliche Angaben enthalten."
    },
    {
      "id": "B14-06",
      "section": "14 Kostenkontrolle",
      "requirement": "Optionale KI begrenzen, Ausfälle ehrlich melden und kostenfreien Kern unabhängig nutzbar halten.",
      "status": "software-verifiziert",
      "evidence": [
        "backend/assistant.js",
        "tests/assistant-backend.test.cjs",
        "docs/AI-SECURITY.md"
      ],
      "limitation": "2 Anfragen/IP/Minute und 20/Isolate/UTC-Tag sind best effort, kein globales Abrechnungslimit; keine Rechnung unabhängig geprüft."
    },
    {
      "id": "B14-07",
      "section": "14 Freie KI-Ideen",
      "requirement": "Frei erfundene Formeln, autonome LLM-Personen und komplexe generative Gesellschaften nicht als Sprachassistenz ausgeben.",
      "status": "zukunft-nicht-erforderlich",
      "evidence": [
        "assistant-schema.js",
        "tests/assistant-schema.test.cjs",
        "docs/AI-SECURITY.md"
      ],
      "limitation": "Arbiträre natürliche Sprachereignisse bleiben nicht erforderlich; nur dokumentierte Szenarien werden vorgeschlagen."
    },
    {
      "id": "B15-01",
      "section": "15 Berechnung",
      "requirement": "Reproduzierbar bis 300 Personen und 30 Tage mit endlichen begrenzten Zuständen rechnen.",
      "status": "software-verifiziert",
      "evidence": [
        "tests/expanded-model.test.cjs",
        "tests/model.test.cjs",
        "artifacts/unit-tests.json"
      ],
      "limitation": "Bestehende Testgrenzen sind keine Geschwindigkeitsgarantie für jeden Schulrechner."
    },
    {
      "id": "B15-02",
      "section": "15 Leistungsmessung",
      "requirement": "Laufzeit, zwischengespeicherte Navigation und angemessenen Speicherbedarf messen statt pauschale Beschleunigung behaupten.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "simulation.js",
        "tests/browser.cjs",
        "tests/benchmark.json",
        "docs/qa-evidence.json"
      ],
      "limitation": "Vorliegende Benchmarkdaten sind 2.0, breite Browsermessungen 2.1. Finale 2.2-Messung samt erweitertem Verhalten/Graph und belastbarer Speicherbewertung noch offen."
    },
    {
      "id": "B15-03",
      "section": "15 Optimierung",
      "requirement": "Historien wiederverwenden und unnötige Wiederberechnung, DOM-Arbeit und Netzwerkanfragen vermeiden; keine unbegründete Infrastruktur.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "analysis.js",
        "app.js",
        "advanced-ui.js",
        "tests/cross-browser.cjs",
        "artifacts/cross-browser/results.json"
      ],
      "limitation": "Bis 300 Einträge; keine Behauptung virtueller Listen oder gemessener allgemeiner Optimierungsfaktoren. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (advanced-ui.js, analysis.js) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B15-04",
      "section": "15 Browser",
      "requirement": "Tatsächlich geprüfte aktuelle Edge-, Chrome-, Firefox- und WebKit-Versionen mit Prüfumfang ausweisen.",
      "status": "software-verifiziert",
      "evidence": [
        "tests/cross-browser.cjs",
        "artifacts/cross-browser/results.json"
      ],
      "limitation": "Edge 155, Chrome for Testing 155, Firefox 157 und WebKit 27.2 unter Windows; je zwölf Gruppen, kein echter Safari."
    },
    {
      "id": "B15-05",
      "section": "15 Reale Geräte",
      "requirement": "Schulrechner, echte Mobilgeräte und Safari prüfen, soweit verfügbar; nicht aus Viewport-/WebKit-Tests ableiten.",
      "status": "menschliche-pruefung-offen",
      "evidence": [
        "docs/advanced-classroom-lesson.md",
        "artifacts/cross-browser/results.json"
      ],
      "limitation": "Physische Geräte, macOS/iOS-Safari und schulische Netz-/Druckbedingungen sind nicht abgenommen."
    },
    {
      "id": "B16-01",
      "section": "16 Bestehende Datenwege",
      "requirement": "CSV-Mittelwerte, individuelle CSV-Tagesdaten, JSON-Versuche, JSON-Import, Druck und gespeicherte Einstellungen erhalten.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "app.js",
        "storage.js",
        "tests/storage.test.cjs",
        "tests/workspace.test.cjs",
        "tests/browser.cjs"
      ],
      "limitation": "Finale Browser-/Druckabnahme der ausgelieferten 2.2-Dateien noch ausstehend; frühere 2.1-Downloadbelege nicht als aktuelle Gesamtfreigabe verwenden."
    },
    {
      "id": "B16-02",
      "section": "16 Neue Datenwege",
      "requirement": "Schulkonfigurationen und individuelle Historien einschließlich Bedingung, Tag, IDs und Kennzahlen exportieren.",
      "status": "software-verifiziert",
      "evidence": [
        "app.js",
        "storage.js",
        "tests/storage.test.cjs",
        "tests/browser.cjs"
      ],
      "limitation": "CSV ist Auswertungsformat, kein Konfigurationsimport. Keine vollständige Netzwerk-/Fachhistorien-CSV zugesichert; JSON rekonstruiert aus Einstellungen."
    },
    {
      "id": "B16-03",
      "section": "16 Integrität",
      "requirement": "Importe streng prüfen und Schulen/Versuche aus validierten Konfigurationen neu berechnen statt fremden Ergebniszahlen zu vertrauen.",
      "status": "software-verifiziert",
      "evidence": [
        "storage.js",
        "school.js",
        "tests/storage.test.cjs",
        "tests/event-plan.test.cjs"
      ],
      "limitation": "Unbekannte Versionen, unzulässige Parameter und ungültige Größen werden abgewiesen."
    },
    {
      "id": "B16-04",
      "section": "16 Versionen",
      "requirement": "Schema-, Generator- und Modellversionen prüfen und historische Formate ausdrücklich migrieren.",
      "status": "software-verifiziert",
      "evidence": [
        "storage.js",
        "school.js",
        "tests/storage.test.cjs",
        "tests/advanced-school.test.cjs",
        "tests/event-plan.test.cjs"
      ],
      "limitation": "Generator 2.0, Schul-Schema 1, Versuchs-Schema 2, Modell 2.2-behaviour; alte Dokumente dürfen keine späteren Einstellungen behaupten."
    },
    {
      "id": "B16-05",
      "section": "16 Datenschutz",
      "requirement": "Standardmäßig lokal, kontenfrei und ohne Nutzungsanalyse bleiben; Datenlöschung auf app-eigenen Speicher beschränken.",
      "status": "software-verifiziert",
      "evidence": [
        "storage.js",
        "assistant-ui.js",
        "tests/storage.test.cjs",
        "docs/AI-SECURITY.md"
      ],
      "limitation": "Optionaler KI-Anbieter verarbeitet technische Verbindungsdaten; keine Behauptung, der Anbieter speichere überhaupt nichts."
    },
    {
      "id": "B17-01",
      "section": "17 Trennung",
      "requirement": "Simulation, Erzeugung, Schulkonfiguration, Szenarien, Aggregation, Oberfläche, Diagramme, Datenwege und Validierung sinnvoll trennen.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "school.js",
        "simulation.js",
        "analysis.js",
        "storage.js",
        "app.js",
        "event-ui.js",
        "advanced-ui.js",
        "assistant-schema.js"
      ],
      "limitation": "Szenariodefinitionen liegen in simulation.js und Diagramme in Oberflächenmodulen; nicht jeder Verantwortungsbereich benötigt eine eigene Datei. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (advanced-ui.js, analysis.js) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B17-02",
      "section": "17 Quellverwaltung",
      "requirement": "Echte Quellverwaltung, passende Ausschlüsse und erhaltene Referenzen verwenden; keine geheimen Daten oder erfundene Historie in öffentliche Pakete aufnehmen.",
      "status": "finale-freigabe-offen",
      "evidence": [
        ".gitignore",
        "tools/build.cjs",
        "tests/delivery.test.cjs",
        "event-reference.js",
        "docs/BEHAVIOUR-MODEL.md"
      ],
      "limitation": "Diese Matrix behauptet keinen neuen Commit; finale Paket-/Quellsnapshotprüfung und historische Ausschlusskontrolle bleiben Releaseaufgaben."
    },
    {
      "id": "B17-03",
      "section": "17 Modellversion",
      "requirement": "Jede relevante Formeländerung versionieren und Unterschiede gegenüber überprüften alten Kernen dokumentieren.",
      "status": "software-verifiziert",
      "evidence": [
        "simulation.js",
        "event-reference.js",
        "single-event.js",
        "legacy-engine.js",
        "tests/expanded-model.test.cjs",
        "docs/BEHAVIOUR-MODEL.md"
      ],
      "limitation": "Softwarebeleg, keine empirische Bestätigung realer Schulwirkungen."
    },
    {
      "id": "B18-01",
      "section": "18 Bestehende Tests",
      "requirement": "Bestehende automatische Tests erhalten und zusammen mit neuen Suiten ausführen.",
      "status": "software-verifiziert",
      "evidence": [
        "tools/verify.cjs",
        "artifacts/unit-tests.json"
      ],
      "limitation": "Auditbeleg: 127 tatsächliche Tests, 127 bestanden, 0 fehlgeschlagen, 0 übersprungen. Kein neuer Gesamttestlauf durch diese Dokumentationsprüfung."
    },
    {
      "id": "B18-02",
      "section": "18 Generatorprüfung",
      "requirement": "Schulerzeugung, Klassenzuordnung, IDs, Grenzen, Seeds, neue Merkmale und kleine Klassen testen.",
      "status": "software-verifiziert",
      "evidence": [
        "tests/model.test.cjs",
        "tests/advanced-school.test.cjs",
        "artifacts/unit-tests.json"
      ],
      "limitation": "Softwarebeleg, keine empirische Bestätigung realer Schulwirkungen."
    },
    {
      "id": "B18-03",
      "section": "18 Modellprüfung",
      "requirement": "Historien, Normalvergleiche, Zeitplanung, Nullkontrollen, Wertebereiche, endliche Zahlen und unveränderte neutrale Referenzen prüfen.",
      "status": "software-verifiziert",
      "evidence": [
        "tests/model.test.cjs",
        "tests/event-plan.test.cjs",
        "tests/expanded-model.test.cjs",
        "artifacts/unit-tests.json"
      ],
      "limitation": "Softwarebeleg, keine empirische Bestätigung realer Schulwirkungen."
    },
    {
      "id": "B18-04",
      "section": "18 Erweiterungsprüfung",
      "requirement": "Beziehungsgraph, zeitverzögerten Einfluss, Gewichtsentwicklung, Verhaltensfeedback und Fachzähler testen.",
      "status": "software-verifiziert",
      "evidence": [
        "tests/social.test.cjs",
        "tests/behaviour.test.cjs",
        "tests/expanded-model.test.cjs",
        "artifacts/unit-tests.json"
      ],
      "limitation": "Softwarebeleg, keine empirische Bestätigung realer Schulwirkungen."
    },
    {
      "id": "B18-05",
      "section": "18 Datenprüfung",
      "requirement": "Validierung, Fehlerfälle, manipulationsresistenten Import/Export und erlaubten/blockierten Browserspeicher prüfen.",
      "status": "software-verifiziert",
      "evidence": [
        "tests/storage.test.cjs",
        "tests/workspace.test.cjs",
        "tests/assistant-schema.test.cjs",
        "tests/assistant-backend.test.cjs",
        "artifacts/unit-tests.json"
      ],
      "limitation": "Softwarebeleg, keine empirische Bestätigung realer Schulwirkungen."
    },
    {
      "id": "B18-06",
      "section": "18 Oberflächenprüfung",
      "requirement": "Reale Browser, Diagrammdaten, responsive Layouts, Tastatur, Downloads, Import und Fehlerbehandlung prüfen.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "tests/browser.cjs",
        "tests/cross-browser.cjs",
        "artifacts/cross-browser/results.json",
        "docs/qa-evidence.json"
      ],
      "limitation": "48 fortgeschrittene Gruppen sind aktuelle Browserbelege; 28 breite Edge-Gruppen im Sammelbericht sind älter. Zusammen sind sie keine pauschale finale 2.2-Abnahme."
    },
    {
      "id": "B18-07",
      "section": "18 Prüfbericht",
      "requirement": "Bestandene/fehlgeschlagene Prüfungen, Umfang, Versionen, bekannte Grenzen und ungeprüfte Bereiche ehrlich getrennt berichten.",
      "status": "software-verifiziert",
      "evidence": [
        "artifacts/unit-tests.json",
        "artifacts/cross-browser/results.json",
        "artifacts/ai-live/preview.json",
        "docs/REQUIREMENTS-MATRIX.md"
      ],
      "limitation": "Bestandene Softwaretests belegen keine realen Unterrichtsergebnisse oder vollständige Barrierefreiheit."
    },
    {
      "id": "B19-01",
      "section": "19 Materialien",
      "requirement": "Deutschen Bericht, Mathematik, Entwicklungsdarstellung, Prüfbericht, Anleitung, Präsentation, Evidenz und Quellen erhalten.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "docs/report-update.md",
        "docs/model.md",
        "docs/development-summary.html",
        "docs/QA-REPORT.md",
        "docs/teacher-guide.md",
        "docs/presentation-update.html",
        "docs/source-register.md",
        "docs/source-ledger.json"
      ],
      "limitation": "Vorhandene Berichte/Anleitung und gerenderte Dateien tragen teils noch 2.1; endgültige Synchronisierung und Rendering sind nicht durch diese Matrix abgeschlossen."
    },
    {
      "id": "B19-02",
      "section": "19 Änderungen",
      "requirement": "Profile, neue Variablen/Gleichungen, Szenarien, soziale Regeln und KI-Sicherheit nachvollziehbar dokumentieren.",
      "status": "software-verifiziert",
      "evidence": [
        "docs/BEHAVIOUR-MODEL.md",
        "docs/AI-SECURITY.md",
        "docs/EVENT-PLAN.md"
      ],
      "limitation": "Aktuelle Ergänzungen beschreiben 2.2; ältere Grundlagen müssen zusammen mit der Ergänzung gelesen werden, nicht als alleiniger aktueller Funktionsstatus."
    },
    {
      "id": "B19-03",
      "section": "19 Konsistenz",
      "requirement": "Abbildungen, relative Links, Modellangaben, Website, PDFs und Quell-/Evidenzstände vor finaler Lieferung abgleichen.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "docs/check-docs.py",
        "tools/print-docs.cjs",
        "tools/render-pdfs.ps1",
        "tools/publication.cjs"
      ],
      "limitation": "Abschlussprüfung und Neurendern nach finaler Veröffentlichung noch offen. Geplante Funktionen zählen nicht als Lieferbeleg."
    },
    {
      "id": "B19-04",
      "section": "19 Entwicklungsjournal",
      "requirement": "Entwicklungsjournal bewahren und Entscheidungen, Schwierigkeiten, Tests und wesentliche KI-Beiträge wahrheitsgemäß fortschreiben.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "docs/development-summary.html",
        "docs/report-update.md"
      ],
      "limitation": "Öffentliche Änderungszusammenfassung ist kein vollständiges Arbeitsjournal. Fortführung und Abgleich der tatsächlichen Prozessunterlagen bleiben offen; keine persönlichen Stunden oder Reflexionen werden nachträglich erfunden. Private Arbeitsaufzeichnungen gehören nicht in das Websitepaket."
    },
    {
      "id": "B20-01",
      "section": "20 Termine",
      "requirement": "Überlieferte Abgabe 26. Februar 2027 und Präsentation 22. April 2027 mit schulischer Vorgabe bestätigen.",
      "status": "menschliche-pruefung-offen",
      "evidence": [
        "docs/advanced-classroom-lesson.md",
        "docs/REQUIREMENTS-MATRIX.md"
      ],
      "limitation": "Daten sind aus dem Brief übernommen, nicht neu mit einer Lehrkraft bestätigt."
    },
    {
      "id": "B20-02",
      "section": "20 Bewertung",
      "requirement": "Überlieferte Gewichtung Dokumentation/Prozess 20 %, digitales Produkt 40 %, Präsentation 40 % gegen Lehrkraftvorgaben bestätigen.",
      "status": "menschliche-pruefung-offen",
      "evidence": [
        "docs/advanced-classroom-lesson.md",
        "docs/REQUIREMENTS-MATRIX.md"
      ],
      "limitation": "Keine neue Schulfreigabe oder bestätigte Bewertungsordnung vorhanden."
    },
    {
      "id": "B20-03",
      "section": "20 Lernziele",
      "requirement": "Modellierung, Regeln, kontrollierten Versuch, Reproduzierbarkeit, Datenanalyse, Testen und Grenzen sichtbar halten.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "docs/student-explanation.md",
        "docs/advanced-classroom-lesson.md",
        "simulation.js",
        "analysis.js"
      ],
      "limitation": "Die Materialien ermöglichen Übungen; tatsächlicher Lernerfolg ist nicht gemessen. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (analysis.js) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B20-04",
      "section": "20 Erklärmaterial",
      "requirement": "Auf Deutsch für die zehnte Klasse Agenten, Updates, Zufall, Normalvergleich, Ereignisterme, Mittelwerte und Prognosegrenzen erklären.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "docs/student-explanation.md",
        "docs/BEHAVIOUR-MODEL.md",
        "docs/advanced-classroom-lesson.md"
      ],
      "limitation": "Historische Schülererklärung vor finaler Abgabe auf aktuelle Zusatzregeln abstimmen."
    },
    {
      "id": "B20-05",
      "section": "20 Verständnis",
      "requirement": "Eigene mündliche Erklärung, nachvollziehbaren Beitrag und authentische Reflexion durch die präsentierende Person erarbeiten.",
      "status": "menschliche-pruefung-offen",
      "evidence": [
        "docs/advanced-classroom-lesson.md",
        "docs/student-explanation.md"
      ],
      "limitation": "Kein Tool kann persönliche Reflexion, selbstständige Autorenschaft oder tatsächliches Verständnis bescheinigen."
    },
    {
      "id": "B20-06",
      "section": "20 Integrität",
      "requirement": "KI-Beiträge offenlegen und schulische KI-/Formvorgaben klären; keine Arbeitsstunden, Freigaben oder Schülerbeiträge erfinden.",
      "status": "menschliche-pruefung-offen",
      "evidence": [
        "docs/report-update.md",
        "docs/advanced-classroom-lesson.md"
      ],
      "limitation": "Material enthält KI-Hinweise; persönliche Erklärung und schulische Zulässigkeit müssen menschlich bestätigt werden."
    },
    {
      "id": "B21-01",
      "section": "21 Phase 0",
      "requirement": "Aktive Ausgangsanwendung auditieren, Referenzexperiment prüfen, Bestand sichern und Architektur/Plan festhalten.",
      "status": "software-verifiziert",
      "evidence": [
        "legacy-engine.js",
        "docs/IMPLEMENTATION-CONTRACT.md",
        "docs/report-update.md",
        "tests/model.test.cjs"
      ],
      "limitation": "Erhaltene Referenz und Tests sind prüfbar; ein unverschlüsseltes Versionsarchiv ist kein verschlüsseltes Sicherheitsbackup."
    },
    {
      "id": "B21-02",
      "section": "21 Phasen 1–4",
      "requirement": "Produktgrundlage, Schulbau, Erkundung und erweiterte Analyse priorisiert bereitstellen.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "index.html",
        "app.js",
        "school.js",
        "analysis.js",
        "tests/cross-browser.cjs",
        "artifacts/cross-browser/results.json"
      ],
      "limitation": "Entspricht den Detailzeilen in Abschnitten 4–11; keine zusätzliche erfundene Anzahl von Designentscheidungen. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (analysis.js) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B21-03",
      "section": "21 Phasen 5–7",
      "requirement": "Zusätzliche Ereignisse, Merkmale, Verhalten, Beziehungen und optionale Sprachhilfe schrittweise mit eigener Prüfung ergänzen.",
      "status": "software-verifiziert",
      "evidence": [
        "tests/event-plan.test.cjs",
        "tests/expanded-model.test.cjs",
        "tests/assistant-schema.test.cjs",
        "docs/BEHAVIOUR-MODEL.md"
      ],
      "limitation": "Erhaltene Referenzkerne und getrennte Tests belegen Modellstufen; nicht jede historische Reihenfolge wird als unabhängig auditiert behauptet."
    },
    {
      "id": "B21-04",
      "section": "21 Phase 8",
      "requirement": "Finale Tests, Leistungsprüfung, Dokumente, Anleitung, Präsentation, Offlinepaket und bereitgestellte Website gemeinsam abnehmen.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "tools/verify.cjs",
        "tests/browser.cjs",
        "tests/production-smoke.cjs",
        "tools/package-delivery.py",
        "tests/delivery-smoke.cjs"
      ],
      "limitation": "Aktueller Vorschau-/Arbeitsstand ist noch kein final sourcegebundener Produktions- und Auslieferungsnachweis."
    },
    {
      "id": "B22-01",
      "section": "22 Prioritäten",
      "requirement": "P0/P1/P2 vor optionaler Komplexität stabilisieren; P3/P4 nicht als Pflicht zu beliebiger Größe oder Autonomie interpretieren.",
      "status": "software-verifiziert",
      "evidence": [
        "tests/expanded-model.test.cjs",
        "docs/BEHAVIOUR-MODEL.md",
        "docs/REQUIREMENTS-MATRIX.md"
      ],
      "limitation": "Ein Teil ursprünglich optionaler Ideen ist inzwischen begrenzt umgesetzt. Größere Population und komplexe Autonomie bleiben Zukunft, kein fehlendes Pflichtfeature."
    },
    {
      "id": "B23-01",
      "section": "23 Selbstständigkeit",
      "requirement": "Sichere normale Umsetzungsentscheidungen selbst treffen, Annahmen/Limitationen dokumentieren und wichtige Anforderungen nicht stillschweigend auslassen.",
      "status": "software-verifiziert",
      "evidence": [
        "docs/IMPLEMENTATION-CONTRACT.md",
        "docs/BEHAVIOUR-MODEL.md",
        "docs/AI-SECURITY.md",
        "docs/REQUIREMENTS-MATRIX.md"
      ],
      "limitation": "Diese Zuordnung macht auch menschlich offene Arbeit sichtbar; sie bestätigt keine Vollständigkeit jeder historischen Unterhaltung."
    },
    {
      "id": "B23-02",
      "section": "23 Grenzen der Zustimmung",
      "requirement": "Kosten, fremde Konten, irreversible Eingriffe, Identitätsveröffentlichung und materiell unklare Schulvorgaben nicht als Routineentscheidungen behandeln.",
      "status": "menschliche-pruefung-offen",
      "evidence": [
        "docs/AI-SECURITY.md",
        "docs/DEPLOYMENT.md",
        "docs/advanced-classroom-lesson.md"
      ],
      "limitation": "Technische Dokumentation ersetzt erforderliche persönliche Freigaben oder schulische Entscheidungen nicht."
    },
    {
      "id": "B24-01",
      "section": "24 Verbote",
      "requirement": "Keinen Bestand löschen, unnötig neu schreiben, Tests entfernen, Formeln unversioniert ändern oder Datenmigration umgehen.",
      "status": "software-verifiziert",
      "evidence": [
        "legacy-engine.js",
        "event-reference.js",
        "tests/expanded-model.test.cjs",
        "tests/storage.test.cjs",
        "artifacts/unit-tests.json"
      ],
      "limitation": "Erhaltungs- und Regressionstests belegen konkrete Grenzen, nicht eine forensische Prüfung jeder früheren Dateioperation."
    },
    {
      "id": "B24-02",
      "section": "24 Verbote",
      "requirement": "Keine reale Vorhersage, erfundene Evidenz, Wissenschaftsvalidierung, Lehrkraftfreigabe, bezahlte Freigabe oder ungeprüfte Veröffentlichung behaupten.",
      "status": "software-verifiziert",
      "evidence": [
        "docs/BEHAVIOUR-MODEL.md",
        "docs/AI-SECURITY.md",
        "tests/publication.test.cjs",
        "docs/REQUIREMENTS-MATRIX.md"
      ],
      "limitation": "Gültigkeit, Unterrichtserprobung, Abrechnung und finale Auslieferung bleiben ausdrücklich getrennte Fragen."
    },
    {
      "id": "B24-03",
      "section": "24 Verbote",
      "requirement": "Bedienbarkeit, Datenschutz, Leistung und mathematische Grenzen nicht zugunsten attraktiver Darstellung oder Featureanzahl opfern.",
      "status": "menschliche-pruefung-offen",
      "evidence": [
        "index.html",
        "docs/BEHAVIOUR-MODEL.md",
        "docs/AI-SECURITY.md",
        "artifacts/cross-browser/results.json"
      ],
      "limitation": "Subjektive Gebrauchstauglichkeit und reale Schulbedingungen bleiben menschlich zu prüfen."
    },
    {
      "id": "B25-01",
      "section": "25 Erfolgskriterien Software",
      "requirement": "Schule erstellen/erkunden, Experimente rechnen, Normalverläufe und Unterschiede analysieren, Annahmen lesen und Ergebnisse sichern ermöglichen.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "school.js",
        "app.js",
        "analysis.js",
        "storage.js",
        "artifacts/unit-tests.json",
        "artifacts/cross-browser/results.json"
      ],
      "limitation": "Softwareumfang ist implementiert; Endfreigabe und reale Nutzung sind getrennt, siehe Abschnitte 6, 18, 20 und 26. Implementierung vorhanden; seit dem Browserbeleg geänderte zitierte Quellen (analysis.js) benötigen die finale erneute Prüfung."
    },
    {
      "id": "B25-02",
      "section": "25 Erfolgskriterien Betrieb",
      "requirement": "Normalen Websitezugang und zuverlässige finale Auslieferung des aktuellen Modells ohne Pflichtkosten bereitstellen.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "tools/publication.cjs",
        "tests/production-smoke.cjs",
        "docs/AI-SECURITY.md"
      ],
      "limitation": "Öffentliche Hauptadresse am Auditstand noch 2.1; finale 2.2-Freigabe steht aus."
    },
    {
      "id": "B25-03",
      "section": "25 Erfolgskriterien Person",
      "requirement": "Glaubwürdige eigene Präsentation mit ehrlicher KI-Dokumentation tatsächlich halten können.",
      "status": "menschliche-pruefung-offen",
      "evidence": [
        "docs/advanced-classroom-lesson.md",
        "docs/student-explanation.md"
      ],
      "limitation": "Vortrag, Verständnis und Schulzulässigkeit sind nicht automatisiert nachgewiesen."
    },
    {
      "id": "B26-01",
      "section": "26 Anwendung/Original",
      "requirement": "Aktualisierte funktionierende Anwendung und erhaltenen verifizierten Originalkern liefern.",
      "status": "software-verifiziert",
      "evidence": [
        "index.html",
        "simulation.js",
        "legacy-engine.js",
        "single-event.js",
        "event-reference.js",
        "tests/expanded-model.test.cjs",
        "artifacts/unit-tests.json"
      ],
      "limitation": "Softwarebeleg, keine empirische Bestätigung realer Schulwirkungen."
    },
    {
      "id": "B26-02",
      "section": "26 Website/Paket",
      "requirement": "Hostingfähige Website und tatsächlich geprüfte Liveadresse sowie frisch verifiziertes Offline-/Quellpaket liefern.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "tools/build.cjs",
        "tools/package-delivery.py",
        "tests/delivery-smoke.cjs",
        "tests/production-smoke.cjs",
        "artifacts/delivery-manifest.json",
        "artifacts/source-archive-smoke.json"
      ],
      "limitation": "Vorhandene Archivnachweise sind historisch. Neues 2.2-Paket inklusive entpackter Quelltests und Produktionsnachweis bleibt offen."
    },
    {
      "id": "B26-03",
      "section": "26 Dokumente/Tests",
      "requirement": "Aktuelle Modell-/Funktionsdokumentation, passende Tests und klare Änderungszusammenfassung liefern.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "docs/BEHAVIOUR-MODEL.md",
        "docs/AI-SECURITY.md",
        "docs/development-summary.html",
        "artifacts/unit-tests.json"
      ],
      "limitation": "Tests sind ausgeführt; abschließende erzeugte Berichte und alle Versionsangaben nach finalem Stand aktualisieren."
    },
    {
      "id": "B26-04",
      "section": "26 Status/Grenzen",
      "requirement": "Verifiziertes, nicht vollständig Verifiziertes, Teilumsetzung, Nichtumsetzung und Zurückstellung ausdrücklich unterscheiden.",
      "status": "software-verifiziert",
      "evidence": [
        "docs/requirements-matrix.json",
        "docs/REQUIREMENTS-MATRIX.md"
      ],
      "limitation": "Status benennt die Abnahmeart; Teilumsetzungen und bewusst nicht unterstützte Varianten stehen zusätzlich im Feld limitation."
    },
    {
      "id": "B26-05",
      "section": "26 Schulmaterial",
      "requirement": "Bericht, Präsentation, Anleitung und Evidenzpaket auf tatsächlich ausgelieferten Stand bringen.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "docs/report-update.md",
        "docs/presentation-update.html",
        "docs/teacher-guide.md",
        "docs/QA-REPORT.md"
      ],
      "limitation": "Noch kein vollständig synchronisierter finaler 2.2-Dokument-/PDF-Satz."
    },
    {
      "id": "B26-06",
      "section": "26 Bedien-/Prüfanleitung",
      "requirement": "Start, Nutzung, Tests und Veröffentlichung nachvollziehbar erklären.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "README.md",
        "docs/teacher-guide.md",
        "docs/DEPLOYMENT.md",
        "package.json",
        "docs/advanced-classroom-lesson.md"
      ],
      "limitation": "Bestehende Anleitung und Beispielmaterialien vor Freigabe nochmals auf Versionskonsistenz prüfen."
    },
    {
      "id": "B27-01",
      "section": "27 Abschluss",
      "requirement": "Keine pauschale Fertigmeldung vor getesteten implementierten Funktionen und bereiten Endlieferungen; stabile nützliche Anwendung vor Umfang priorisieren.",
      "status": "finale-freigabe-offen",
      "evidence": [
        "docs/REQUIREMENTS-MATRIX.md",
        "artifacts/unit-tests.json",
        "artifacts/cross-browser/results.json",
        "artifacts/ai-live/preview.json"
      ],
      "limitation": "Technische Entwicklungsbelege liegen vor. Finale Veröffentlichung, Paketabnahme, menschliche und schulische Bestätigungen sind nicht abgeschlossen."
    }
  ]
}
