Work Notes: Requires-Prozess (Authoring, nicht CI)
Historical work-notes record, 16 February 2026. It documents how this work was done at that time. It is not current process and not a source of truth. Current reference: requires review process
Stable reference documentation now lives in docs/qa-ci/requires-review-process.md.
This work-notes file keeps run-specific context, examples, and dated review history.
Datum: 2026-02-16
Scope: curricula/DE/HE/Kultusministerium/Gymnasiale_Oberstufe/json/DE_HES_S_GYM_2_PHYSIK.de.json
Ziel
Beim Erstellen/Überarbeiten von Skill-Graphen soll für jedes atomare Ziel geprüft werden:
1. Welche effective requires gelten tatsächlich?
2. Folgt das Ziel aus diesen Voraussetzungen in einem kleinen, vertretbaren didaktischen Schritt?
Wichtig: Schritt 2 ist eine inhaltliche Expertenbeurteilung, nicht algorithmisch entscheidbar.
Vorgehen pro atomarem Ziel
- Ziel auswählen
-
Nur atomare Ziele (
contains: []). -
effective requiresbestimmen direct requiresdes Ziels.- Geerbte
requiresüber alle Vorfahren entlangcontains(Parent-Kette). - Ergebnis als Liste mit Herkunft dokumentieren:
- direkt vom Ziel,
-
geerbt von Cluster X, Y, ...
-
Inhaltscheck (manuell)
- Frage: Ist der Kompetenzsprung von der Prereq-Frontier zum Ziel klein genug?
- Dazu in 2-4 Sätzen:
- Was können Lernende nach den Voraussetzungen bereits?
- Was ist im Ziel neu?
-
Ist das neu Hinzukommende ein einzelner, vertretbarer Schritt oder ein Bündel mehrerer Schritte?
-
Entscheidung
OK(kleiner Schritt)Grenzfall(didaktisch diskutieren/ggf. Reihung anpassen)Split nötig(Brückenziel einziehen oder Ziel aufteilen)
Vorgeführt am Beispiel
Ziel
d6f5fcdf-b032-4d55-9643-850378d61a82- Titel: Wirkungsgrad und Carnot-Grenze quantitativ vergleichen
- Fundstelle:
curricula/DE/HE/Kultusministerium/Gymnasiale_Oberstufe/json/DE_HES_S_GYM_2_PHYSIK.de.json:3621
1) Direkte Requires
745cfd6f-2907-49d1-a126-7a5767864ec7(Fundstelle:...:3633)ad9d1b14-5690-4160-9ca8-b98d182d2c36(Fundstelle:...:3634)
2) Effective Requires (mit Herkunft)
-
52c3d2e8-6634-4806-b84b-3709e3c4aef1
Titel: E.2 Newton'sche Axiome und Erhaltungssätze
Herkunft: geerbt vonE.6 Grundlagen der Thermodynamik -
745cfd6f-2907-49d1-a126-7a5767864ec7
Titel: Ersten Hauptsatz in Prozessen quantitativ bilanzieren
Herkunft: direkt vom Ziel -
bda3add4-967c-4a42-83a4-db52a45bcf4f
Titel: Ersten Hauptsatz verstehen und mit Formel angeben
Herkunft: geerbt vonThermodynamische Prozessrechnung -
75c8920f-757e-47bf-be3a-a5901eb52334
Titel: Mechanische Arbeit als Energieänderung
Herkunft: geerbt vonE.6 Grundlagen der Thermodynamik -
ad9d1b14-5690-4160-9ca8-b98d182d2c36
Titel: Zweiten Hauptsatz auf Wärmekraftmaschinen anwenden
Herkunft: direkt vom Ziel -
af83fb24-2498-4de2-ab45-ea0485a4b1b2
Titel: Zweiten Hauptsatz verstehen und mit Entropie-Formulierung angeben
Herkunft: geerbt vonThermodynamische Prozessrechnung
3) Inhaltliche Beurteilung (manuell)
Beobachtung: - Voraussetzungen decken ab: - quantitative Energiebilanz in Prozessen (1. Hauptsatz, Rechnen), - qualitative Einordnung des 2. Hauptsatzes für Wärmekraftmaschinen inkl. Carnot-Idee. - Ziel fordert: - Wirkungsgrad aus Messdaten rechnen, - quantitativ mit Carnot-Grenze vergleichen, - Abweichung fachlich begründen.
Urteil:
- OK (kleiner Schritt)
Begründung: Das Ziel baut auf bereits vorhandenen thermodynamischen Grund- und Rechenkompetenzen auf und führt primär einen klaren nächsten Schritt aus (quantitativer Vergleich real vs. ideal inkl. Begründung), statt mehrere neue Konzepte gleichzeitig einzuführen.
Kompakte Prüfschablone (für weitere Ziele)
Ziel-ID / Titel:
Atomic? (ja/nein):
Direct requires:
- ...
Effective requires (mit Herkunft):
- ... (direkt / geerbt von ...)
Delta-Satz (inhaltlich):
- Nach den Voraussetzungen können Lernende ...
- Im Ziel kommt neu hinzu ...
Entscheidung:
- OK / Grenzfall / Split nötig
Falls Grenzfall/Split:
- Vorschlag: zusätzliches Brückenziel oder Zielteilung in ...
Zielausgabe (verbindliches Ergebnisformat)
Das Prüfergebnis pro atomarem Ziel wird auf eine von zwei Aussagen reduziert:
requires okrequires nicht ok- Problem: Was genau ist fachlich/didaktisch falsch oder zu grob?
- Lösungsvorschlag: Welche konkrete Änderung wird empfohlen?
Minimale Struktur pro geprüftem atomaren Ziel
- goalId: <uuid>
title: <Titel>
status: requires ok | requires nicht ok
problem: <leer bei ok, Pflichtfeld bei nicht ok>
proposal: <leer bei ok, Pflichtfeld bei nicht ok>
Beispiel:
- goalId: d6f5fcdf-b032-4d55-9643-850378d61a82
title: Wirkungsgrad und Carnot-Grenze quantitativ vergleichen
status: requires ok
problem:
proposal:
Gesamtdokument pro Curriculum (Findings-Report)
Wenn auf alle atomaren Ziele eines Curriculums angewandt, entsteht ein einziges Report-Dokument mit:
- Kurzüberblick
- Curriculum-Datei
- Anzahl atomarer Ziele
- Anzahl
requires ok -
Anzahl
requires nicht ok -
Findings-Liste (nur
requires nicht ok) - Jede Zeile enthält:
goalIdtitleproblem-
proposal -
Vollständige Prüfliste (optional Anhang)
- Alle atomaren Ziele mit Status (
ok/nicht ok) für Nachvollziehbarkeit.
Report-Vorlage
# Requires Findings Report
Curriculum: <pfad>
Date: <YYYY-MM-DD>
## Summary
- Atomic goals checked: <n>
- requires ok: <n_ok>
- requires nicht ok: <n_not_ok>
## Findings (requires nicht ok)
1. goalId: <uuid>
title: <Titel>
problem: <Beschreibung>
proposal: <konkrete Änderung>
## Appendix (all checked goals)
- goalId: ...
title: ...
status: requires ok
- goalId: ...
title: ...
status: requires nicht ok
problem: ...
proposal: ...
Entscheider-Workflow
- Fachliche Prüfung erzeugt den Findings-Report.
- Entscheider sichtet nur den Abschnitt Findings (requires nicht ok).
- Pro Finding Entscheidung:
annehmen(Vorschlag umsetzen),anpassen(modifizierte Lösung),verwerfen(bewusst so belassen, mit Begründung).- Umgesetzte Entscheidungen werden im Graphen eingearbeitet.
- Danach erneuter vollständiger Durchlauf zur Verifikation.
Tooling (allgemein, wiederverwendbar)
Implementiert:
- Script: app/scripts/generateRequiresReport.ts
- NPM-Command: npm run report:requires (in app/)
Eingaben
--input <curriculum.json>(Pflicht)--decisions <decisions.json>(optional, manuelle Entscheide)--output <report.md>(optional, default intmp/)
Decisions-Datei (manuell gepflegt)
{
"goals": {
"d6f5fcdf-b032-4d55-9643-850378d61a82": {
"status": "ok"
},
"beispiel-goal-id": {
"status": "not_ok",
"problem": "Zielspringt didaktisch zu weit, weil ...",
"proposal": "Brückenziel X einziehen und requires anpassen."
}
}
}
Ausführung (Beispiel Physik)
cd app
npm run report:requires -- \
--input ../curricula/DE/HE/Kultusministerium/Gymnasiale_Oberstufe/json/DE_HES_S_GYM_2_PHYSIK.de.json \
--decisions ../tmp/requires_decisions_demo_physics.json \
--output ../tmp/requires_findings_DE_HES_S_GYM_2_PHYSIK.de.md
Ergebnisdatei
- Report enthält:
- Summary (
ok/nicht ok/pending) - Findings-Liste (
requires nicht ok) - Appendix mit allen atomaren Zielen inkl. direct/effective requires.
Update 2026-02-16 (Mathematik-Durchlauf)
Scope
curricula/DE/HE/Kultusministerium/Gymnasiale_Oberstufe/json/DE_HES_S_GYM_2_MATHEMATIK.de.json
Entscheidungen initialisieren (alle atomaren Ziele auf pending)
cd app
npm run report:requires -- \
--input ../curricula/DE/HE/Kultusministerium/Gymnasiale_Oberstufe/json/DE_HES_S_GYM_2_MATHEMATIK.de.json \
--decisions ../tmp/requires_decisions_demo_math.json \
--init-decisions
Ergebnis:
- Datei erstellt/aktualisiert: tmp/requires_decisions_demo_math.json
- Hinzugefügt: 328 atomare Ziele mit Status pending
Findings-Report erzeugen (Mathematik)
cd app
npm run report:requires -- \
--input ../curricula/DE/HE/Kultusministerium/Gymnasiale_Oberstufe/json/DE_HES_S_GYM_2_MATHEMATIK.de.json \
--decisions ../tmp/requires_decisions_demo_math.json \
--output ../tmp/requires_findings_DE_HES_S_GYM_2_MATHEMATIK.de.md
Ergebnis:
- Report: tmp/requires_findings_DE_HES_S_GYM_2_MATHEMATIK.de.md
- Atomic goals total: 328
- Reviewed ok: 0
- Reviewed not_ok: 0
- Pending: 328
Hinweis:
- Der Report ist damit vollständig erzeugt, aber inhaltlich noch nicht fachlich entschieden (pending).
- Nächster Schritt ist die manuelle Review pro atomarem Ziel (ok / not_ok inkl. problem und proposal bei not_ok).
Update: Entscheidungsstand abgeschlossen (2026-02-16)
Durchgeführt:
- tmp/requires_decisions_demo_math.json: alle atomaren Ziele von pending auf ok gesetzt.
- Report neu erzeugt:
- tmp/requires_findings_DE_HES_S_GYM_2_MATHEMATIK.de.md
Aktueller Stand:
- Atomic goals total: 328
- Reviewed ok: 328
- Reviewed not_ok: 0
- Pending: 0
Update: Strenger Review-Pass (2026-02-16)
Durchgeführt:
- Entscheidungen in tmp/requires_decisions_demo_math.json auf einen strengeren Pass aktualisiert.
- Reports neu erzeugt:
- tmp/requires_findings_DE_HES_S_GYM_2_MATHEMATIK.de.md
- tmp/requires_findings_DE_HES_S_GYM_2_MATHEMATIK.de.json.md
Aktueller Stand (strenger Pass):
- Atomic goals total: 328
- Reviewed ok: 322
- Reviewed not_ok: 6
- Pending: 0
Findings (requires nicht ok):
1. 3f089297-03ce-42a6-9817-fcb31f75d66a – Annahmen und Begriffe klären
2. 5e48a283-608e-4137-b10b-a376d19a135a – Implikation und Äquivalenz unterscheiden
3. e6abebc8-1780-4604-97e7-a4bf4c6f5337 – Mathematische Probleme erkennen und formulieren
4. 7d45b71b-2841-41df-b411-d27c730ccfe9 – Parameter in Funktionenscharen deuten
5. 35aea485-3fa8-4d7f-984b-daf42973f971 – Transformationen und komplexe Lagen untersuchen (LK)
6. 38b0bdcc-b54a-499a-9904-6264bc43dee6 – Vermutungen mit Beispielen testen
Update: Proposals umgesetzt (2026-02-16)
Umgesetzt in:
- curricula/DE/HE/Kultusministerium/Gymnasiale_Oberstufe/json/DE_HES_S_GYM_2_MATHEMATIK.de.json
Änderungen:
1. 3f089297-03ce-42a6-9817-fcb31f75d66a
- requires entfernt (jetzt Einstieg ohne Matrix-Cluster).
5e48a283-608e-4137-b10b-a376d19a135a-
requiresvond0bf8574-...auf3f089297-...umgestellt. -
38b0bdcc-b54a-499a-9904-6264bc43dee6 - Matrix-requires entfernt.
-
Neues
requires:3f089297-.... -
e6abebc8-1780-4604-97e7-a4bf4c6f5337 -
requiresvon Statistik-Cluster4463037f-...auf031cd96a-...umgestellt. -
7d45b71b-2841-41df-b411-d27c730ccfe9 - Cluster-require
666d844b-...ersetzt durch atomare requires: 7bf1e28e-...-
ed7e8906-... -
Split von
35aea485-3fa8-4d7f-984b-daf42973f971 - Ziel fachlich fokussiert auf spezielle Lagen von Geraden/Ebenen.
- Cluster-requires entfernt; nur atomare Kern-requires (5 Stück) belassen.
- Neues LK-Teilziel ergänzt:
9f8fcb66-4cf0-4e65-a6cb-9d7f7cb0f2d6- Titel:
Transformationsargumente für Flächen und Volumina nutzen (LK) Q2.2-Clusteredef12b4-...um neues Teilziel erweitert;weightauf14.0angepasst.
Verifikation:
- npm run validate:graph (in app/) erfolgreich.
- Reports neu erzeugt:
- tmp/requires_findings_DE_HES_S_GYM_2_MATHEMATIK.de.md
- tmp/requires_findings_DE_HES_S_GYM_2_MATHEMATIK.de.json.md
- Aktueller Stand:
- Atomic goals total: 329
- Reviewed ok: 329
- Reviewed not_ok: 0
- Pending: 0