Skip to content

Runbook für Lernziel-Quellenbegründungen

Generated artifact. Do not edit manually.

Generated by: scripts/build_compendia.py Regenerate with: python3 scripts/build_compendia.py --compendium qa-ci-lanes --web-and-tex Source of truth: docs/qa-ci/lanes-source/

Sprache / Language: Deutsch (DE) · English (EN) | PDF: Deutsches PDF · English PDF

Kompendium: §1 CI-Architektur · §2 Qualitätsdashboard · §3 Mapping-Workbench · §4 Paketbereitschaft · §5 Release-Modell-Konformität · §6 Duale Release-Verträge · §7 Relationsprüfungen · §8 Atomizitäts-Review · §9 Voraussetzungs-Review · §10 Menschliche Review-Gates · §11 MEM-SPARQL-Audit · §12 MEM-SPARQL-Runbook · §13 Quellenbegründungen-Runbook · §14 Abi-2026-DeepLink-QA


13. Runbook für Lernziel-Quellenbegründungen

Dieses Runbook beschreibt Erzeugung, Laufzeitbereitstellung und Prüfung menschenlesbarer Quellenbegründungen (generateGoalSourceRationales.ts) entlang der geprüften klassischen Kette canonical goal -> mapping review -> source extraction -> official source document (Fachkonzept siehe docs/concept/skill-graph/human-readable-source-rationales.md, Statusverzeichnis status/README.md).

13.1. PoC-, Zielmengen- und MEM/FWU-Showcase-Kommandos

Ausführung aus app/ für den Bayern-Mathematik-PoC (goal-source-rationales-poc.md + .json), benutzerdefinierte Zielmengen und die Bayern-LehrplanPLUS-Showcases mit Live-MEM/FWU-Abgleich (:plain blendet Ziel-UUIDs zugunsten des SkillPilot-Pfads aus und ergänzt konkrete SPARQL-Abfragen):

cd app
npm run quality:goal-source-rationales:poc
npx tsx scripts/generateGoalSourceRationales.ts \
  --jurisdiction=DE-BY --goals=<goal-id>,<another-goal-id>
npm run quality:goal-source-rationales:mem-examples
npm run quality:goal-source-rationales:mem-examples:plain

Wichtige CLI-Optionen: --landscape=<path>, --mapping-root=<path>, --output-json=<path>, --output-md=<path>, --no-md, --goals=source-backed | source-backed-relevant-leaves | all-relevant-leaves, --jurisdiction=all, --include-mem und --mem-config=<path>.

13.2. Öffentlicher Laufzeitindex (Repository- vs. Paketmodus) & Deployment-Smoke

  • Repository-Modus: Der Explorer lädt bei Bedarf genau zwei Kompatibilitätsindizes außerhalb von JS-Bundle und Service-Worker-Precache nach: /data/goal-source-rationales-math-public.json (bevorzugt DE-BY für sichtbaren MEM/FWU-Abgleich) und /data/goal-source-rationales-physics-public.json (die generische Deck-Route darf sie nicht abfangen).
  • Paketmodus: /data/** ist gesperrt; das UI ermittelt die Bindungen über Catalog API 1.2 (/api/ui/curriculum-catalog) und lädt Einzelziele generationsgebunden über /api/ui/curriculum-source-evidence/packages/{packageId}/{packageVersion}/goals/{goalId} ohne Repository-/Classpath-Fallback.

Erzeugung, Build-Artefaktprüfung und Live-Deployment-Smoke (automatisch im Deploy-Skript nach Service-Neustart ausgeführt; erkennt anhand von /api/ui/curriculum-catalog 404 vs. 1.2 den aktiven Modus):

cd app
npm run quality:goal-source-rationales:public
npm run check:goal-source-rationales:math-public
npm run check:goal-source-rationales:build-artifact
npm run smoke:goal-source-rationales:deployment
npm run smoke:goal-source-rationales:deployment -- --base-url=http://127.0.0.1:8080
cd ..
SKILLPILOT_BASE_URL=https://staging.example.org \
  ./deploy_skillpilot.sh --coach-variant openai-mcp

13.3. Review-Checkliste und Folge-Issues

Je gerendertem Ziel sind fünf Punkte zu prüfen:

  1. sourceRationaleStatus: classic_source_reviewed (regulär zulässig), classic_source_partial (nur mit nachvollziehbarer Teil-Begründung) oder classic_source_gap (erfordert nicht-blockierendes Folge-Issue).
  2. Originalquelle finden: Offizielle URL oder archivierter Quellpfad samt konkretem Such-/Abschnittshinweis vorhanden.
  3. Extrahierter Quellenbeleg: Dokumentmetadaten aufgelöst, sourceGoalId und Referenz konsistent, Markdown-Auszug knapp gehalten (Volltext nur im JSON).
  4. Begründung des SkillPilot-Ziels: Verständliche Zuordnungsbegründung ohne Übertreibung von partial-, split- oder aggregate-Mappings.
  5. MEM/FWU-SPARQL-Route: mem_sparql_unavailable im klassischen PoC bzw. mem_sparql_consistent im Bayern-Showcase (stets sekundäre Route, solange kein Scope als Primärquelle freigegeben ist; bei Widersprüchen oder fehlenden Metadaten manuelles Review-Issue anlegen).