Skip to content

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

  1. Ziel auswählen
  2. Nur atomare Ziele (contains: []).

  3. effective requires bestimmen

  4. direct requires des Ziels.
  5. Geerbte requires über alle Vorfahren entlang contains (Parent-Kette).
  6. Ergebnis als Liste mit Herkunft dokumentieren:
  7. direkt vom Ziel,
  8. geerbt von Cluster X, Y, ...

  9. Inhaltscheck (manuell)

  10. Frage: Ist der Kompetenzsprung von der Prereq-Frontier zum Ziel klein genug?
  11. Dazu in 2-4 Sätzen:
  12. Was können Lernende nach den Voraussetzungen bereits?
  13. Was ist im Ziel neu?
  14. Ist das neu Hinzukommende ein einzelner, vertretbarer Schritt oder ein Bündel mehrerer Schritte?

  15. Entscheidung

  16. OK (kleiner Schritt)
  17. Grenzfall (didaktisch diskutieren/ggf. Reihung anpassen)
  18. 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)

  1. 52c3d2e8-6634-4806-b84b-3709e3c4aef1
    Titel: E.2 Newton'sche Axiome und Erhaltungssätze
    Herkunft: geerbt von E.6 Grundlagen der Thermodynamik

  2. 745cfd6f-2907-49d1-a126-7a5767864ec7
    Titel: Ersten Hauptsatz in Prozessen quantitativ bilanzieren
    Herkunft: direkt vom Ziel

  3. bda3add4-967c-4a42-83a4-db52a45bcf4f
    Titel: Ersten Hauptsatz verstehen und mit Formel angeben
    Herkunft: geerbt von Thermodynamische Prozessrechnung

  4. 75c8920f-757e-47bf-be3a-a5901eb52334
    Titel: Mechanische Arbeit als Energieänderung
    Herkunft: geerbt von E.6 Grundlagen der Thermodynamik

  5. ad9d1b14-5690-4160-9ca8-b98d182d2c36
    Titel: Zweiten Hauptsatz auf Wärmekraftmaschinen anwenden
    Herkunft: direkt vom Ziel

  6. af83fb24-2498-4de2-ab45-ea0485a4b1b2
    Titel: Zweiten Hauptsatz verstehen und mit Entropie-Formulierung angeben
    Herkunft: geerbt von Thermodynamische 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:

  1. requires ok
  2. requires nicht ok
  3. Problem: Was genau ist fachlich/didaktisch falsch oder zu grob?
  4. 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:

  1. Kurzüberblick
  2. Curriculum-Datei
  3. Anzahl atomarer Ziele
  4. Anzahl requires ok
  5. Anzahl requires nicht ok

  6. Findings-Liste (nur requires nicht ok)

  7. Jede Zeile enthält:
  8. goalId
  9. title
  10. problem
  11. proposal

  12. Vollständige Prüfliste (optional Anhang)

  13. 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

  1. Fachliche Prüfung erzeugt den Findings-Report.
  2. Entscheider sichtet nur den Abschnitt Findings (requires nicht ok).
  3. Pro Finding Entscheidung:
  4. annehmen (Vorschlag umsetzen),
  5. anpassen (modifizierte Lösung),
  6. verwerfen (bewusst so belassen, mit Begründung).
  7. Umgesetzte Entscheidungen werden im Graphen eingearbeitet.
  8. 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

  1. --input <curriculum.json> (Pflicht)
  2. --decisions <decisions.json> (optional, manuelle Entscheide)
  3. --output <report.md> (optional, default in tmp/)

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).

  1. 5e48a283-608e-4137-b10b-a376d19a135a
  2. requires von d0bf8574-... auf 3f089297-... umgestellt.

  3. 38b0bdcc-b54a-499a-9904-6264bc43dee6

  4. Matrix-requires entfernt.
  5. Neues requires: 3f089297-....

  6. e6abebc8-1780-4604-97e7-a4bf4c6f5337

  7. requires von Statistik-Cluster 4463037f-... auf 031cd96a-... umgestellt.

  8. 7d45b71b-2841-41df-b411-d27c730ccfe9

  9. Cluster-require 666d844b-... ersetzt durch atomare requires:
  10. 7bf1e28e-...
  11. ed7e8906-...

  12. Split von 35aea485-3fa8-4d7f-984b-daf42973f971

  13. Ziel fachlich fokussiert auf spezielle Lagen von Geraden/Ebenen.
  14. Cluster-requires entfernt; nur atomare Kern-requires (5 Stück) belassen.
  15. Neues LK-Teilziel ergänzt:
  16. 9f8fcb66-4cf0-4e65-a6cb-9d7f7cb0f2d6
  17. Titel: Transformationsargumente für Flächen und Volumina nutzen (LK)
  18. Q2.2-Cluster edef12b4-... um neues Teilziel erweitert; weight auf 14.0 angepasst.

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