Goal Source Rationales Runbook
Generated artifact. Do not edit manually.
Generated by:
scripts/build_compendia.pyRegenerate with:python3 scripts/build_compendia.py --compendium qa-ci-lanes --web-and-texSource of truth:docs/qa-ci/lanes-source/
Language / Sprache: English (EN) · Deutsch (DE) | PDF: English PDF · Deutsches PDF
Compendium: §1 CI Architecture · §2 Quality Dashboard · §3 Mapping Workbench · §4 Package Readiness · §5 Release-Model Conformance · §6 Dual Release Contracts · §7 Relation Checks · §8 Atomic Review · §9 Requires Review · §10 Human Review Gates · §11 MEM SPARQL Audit · §12 MEM SPARQL Runbook · §13 Source Rationales Runbook · §14 Abi 2026 DeepLink QA
13. Goal Source Rationales Runbook
This runbook documents generation, runtime serving, and verification of human-readable source rationales (generateGoalSourceRationales.ts) along the reviewed classic chain canonical goal -> mapping review -> source extraction -> official source document (concept specification in docs/concept/skill-graph/human-readable-source-rationales.md; status registry in status/README.md).
13.1. PoC, Custom Goal Sets, and MEM/FWU Showcase Commands
Run from app/ for the Bavaria Mathematics PoC (goal-source-rationales-poc.md + .json), custom goal selections, and the Bavaria LehrplanPLUS live MEM/FWU showcases (:plain replaces UUIDs with readable SkillPilot paths and embeds concrete SPARQL queries):
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
Key CLI flags: --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, and --mem-config=<path>.
13.2. Runtime Public Index (Repository vs. Package Mode) & Deployment Smoke
- Repository mode: The Explorer source-rationale button lazily fetches two compatibility indexes kept outside the JS bundle and service-worker precache:
/data/goal-source-rationales-math-public.json(preferringDE-BYso aligned MEM/FWU examples stay visible) and/data/goal-source-rationales-physics-public.json(never intercepted by the generic deck route). - Package mode:
/data/**is disabled; the UI discovers bindings via Catalog API 1.2 (/api/ui/curriculum-catalog) and fetches generation-bound per-goal evidence from/api/ui/curriculum-source-evidence/packages/{packageId}/{packageVersion}/goals/{goalId}with zero repository/classpath fallback.
Regeneration, build-artifact verification, and live deployment smoke checks (invoked automatically by ./deploy_skillpilot.sh after service restart, auto-detecting 404 repository mode vs. Catalog API 1.2 package mode):
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 Checklist and Follow-Up Issues
Inspect five items on every rendered goal:
sourceRationaleStatus:classic_source_reviewed(ready for public index),classic_source_partial(usable only when the rationale explains the partial fit), orclassic_source_gap(open a non-blocking follow-up issue).- Reaching the original source: Official URL or retained source path plus a concrete section/search locator is present.
- Extracted source evidence: Document metadata resolves,
sourceGoalIdand reference match the mapping decision, and the Markdown excerpt stays concise (full text remains in JSON). - Why the SkillPilot goal is justified: Understandable mapping rationale that never overstates
partial,split, oraggregatemappings. - MEM/FWU SPARQL route:
mem_sparql_unavailablefor classic-only PoC runs andmem_sparql_consistentfor aligned Bavaria showcase items (treated strictly as a secondary route until a scope is approved as primary-ready; file a manual review issue on disagreements or missing metadata).