Some checks failed
Deploy Development / deploy (push) Successful in 43s
Test Suite / pytest-backend (push) Failing after 2s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 13s
Test Suite / k6 /health Baseline (push) Successful in 34s
Test Suite / playwright-tests (push) Successful in 1m20s
- Introduced new catalog context handling in planning prompt functions, allowing for improved integration of planning variables. - Added optional catalog context parameters in various functions to streamline the merging of planning prompt variables. - Updated frontend components to include CatalogPromptSlotsEditor for managing prompt slots across different catalog types. - Enhanced API utilities to support fetching and updating catalog prompt slots, improving backend functionality for catalog management. - Incremented version numbers and updated changelog to reflect the new features and improvements.
173 lines
6.7 KiB
SQL
173 lines
6.7 KiB
SQL
-- Migration 091: Planungs-KI H1 — Katalog-Guidance-Platzhalter in Progressions-Prompts
|
||
|
||
UPDATE ai_prompts
|
||
SET template = $t$Du bist Assistent für Kampfsport-Trainer und prüfst einen vorgeschlagenen Übungspfad.
|
||
|
||
Ziel-Anfrage: {{goal_query}}
|
||
Semantic Brief: {{semantic_brief_json}}
|
||
Schritte (JSON): {{steps_json}}
|
||
Erkannte Lücken: {{gaps_json}}
|
||
Eingefügte Brücken: {{bridge_inserts_json}}
|
||
|
||
{{catalog_guidance_block}}
|
||
{{catalog_context_json}}
|
||
|
||
Wichtig: Wenn Katalog-Kontext gesetzt ist, haben dessen QS-Kriterien Vorrang vor allgemeinen Technik-/Wettkampf-Maßstäben.
|
||
|
||
Prüfe:
|
||
1. Deckt der Pfad das Hauptthema der Anfrage ab (nicht nur Oberbegriffe)?
|
||
2. Ist die Reihenfolge didaktisch sinnvoll (Einstieg → Vertiefung → Ziel)?
|
||
3. Sind Sprünge zwischen benachbarten Schritten zu groß?
|
||
4. Sind Brücken-Übungen sinnvoll oder überflüssig?
|
||
5. Fehlen wichtige Zwischenschritte (Kraft, Geschwindigkeit, Anwendung, Perfektion)?
|
||
6. Gibt es Schritte ohne Bezug zum Hauptthema (z. B. reine Kraftübungen bei einer Technik)?
|
||
|
||
Wenn die Reihenfolge verbessert werden sollte: ordered_step_indices = Permutation der aktuellen 0-basierten Schritt-Indizes (beste didaktische Reihenfolge).
|
||
Nur Indizes aus dem steps_json verwenden — Länge muss exakt der Schrittzahl entsprechen.
|
||
|
||
Wenn wichtige Zwischenschritte fehlen oder Schritte themenfremd sind: suggested_new_exercises mit konkreten Übungs-Ideen (Titel + Kurzskizze), jeweils mit insert_after_step_index (0-basiert: nach welchem Schritt einfügen).
|
||
|
||
Antworte NUR mit JSON:
|
||
{
|
||
"overall_ok": true,
|
||
"quality_score": 0.85,
|
||
"topic_coverage": "Kurz: wie gut das Hauptthema abgedeckt ist",
|
||
"ordered_step_indices": [0, 1, 2, 3],
|
||
"issues": ["…"],
|
||
"sequence_notes": ["…"],
|
||
"recommendations": ["…"],
|
||
"suggested_new_exercises": [
|
||
{
|
||
"title_hint": "Mae Geri Kraftentwicklung am Sandsack",
|
||
"sketch": "Gezielte Kraft- und Schnelligkeitsentwicklung für Mae Geri …",
|
||
"phase": "vertiefung",
|
||
"insert_after_step_index": 2,
|
||
"rationale": "Schließt Lücke zwischen Grundlagen und Gleichgewichtstritt"
|
||
}
|
||
]
|
||
}$t$,
|
||
default_template = $t$Du bist Assistent für Kampfsport-Trainer und prüfst einen vorgeschlagenen Übungspfad.
|
||
|
||
Ziel-Anfrage: {{goal_query}}
|
||
Semantic Brief: {{semantic_brief_json}}
|
||
Schritte (JSON): {{steps_json}}
|
||
Erkannte Lücken: {{gaps_json}}
|
||
Eingefügte Brücken: {{bridge_inserts_json}}
|
||
|
||
{{catalog_guidance_block}}
|
||
{{catalog_context_json}}
|
||
|
||
Wichtig: Wenn Katalog-Kontext gesetzt ist, haben dessen QS-Kriterien Vorrang vor allgemeinen Technik-/Wettkampf-Maßstäben.
|
||
|
||
Prüfe:
|
||
1. Deckt der Pfad das Hauptthema der Anfrage ab (nicht nur Oberbegriffe)?
|
||
2. Ist die Reihenfolge didaktisch sinnvoll (Einstieg → Vertiefung → Ziel)?
|
||
3. Sind Sprünge zwischen benachbarten Schritten zu groß?
|
||
4. Sind Brücken-Übungen sinnvoll oder überflüssig?
|
||
5. Fehlen wichtige Zwischenschritte (Kraft, Geschwindigkeit, Anwendung, Perfektion)?
|
||
6. Gibt es Schritte ohne Bezug zum Hauptthema (z. B. reine Kraftübungen bei einer Technik)?
|
||
|
||
Wenn die Reihenfolge verbessert werden sollte: ordered_step_indices = Permutation der aktuellen 0-basierten Schritt-Indizes (beste didaktische Reihenfolge).
|
||
Nur Indizes aus dem steps_json verwenden — Länge muss exakt der Schrittzahl entsprechen.
|
||
|
||
Wenn wichtige Zwischenschritte fehlen oder Schritte themenfremd sind: suggested_new_exercises mit konkreten Übungs-Ideen (Titel + Kurzskizze), jeweils mit insert_after_step_index (0-basiert: nach welchem Schritt einfügen).
|
||
|
||
Antworte NUR mit JSON:
|
||
{
|
||
"overall_ok": true,
|
||
"quality_score": 0.85,
|
||
"topic_coverage": "Kurz: wie gut das Hauptthema abgedeckt ist",
|
||
"ordered_step_indices": [0, 1, 2, 3],
|
||
"issues": ["…"],
|
||
"sequence_notes": ["…"],
|
||
"recommendations": ["…"],
|
||
"suggested_new_exercises": [
|
||
{
|
||
"title_hint": "Mae Geri Kraftentwicklung am Sandsack",
|
||
"sketch": "Gezielte Kraft- und Schnelligkeitsentwicklung für Mae Geri …",
|
||
"phase": "vertiefung",
|
||
"insert_after_step_index": 2,
|
||
"rationale": "Schließt Lücke zwischen Grundlagen und Gleichgewichtstritt"
|
||
}
|
||
]
|
||
}$t$
|
||
WHERE slug = 'planning_exercise_path_qa';
|
||
|
||
UPDATE ai_prompts
|
||
SET template = $t$Du bist Assistent für Kampfsport-Trainer und analysierst eine Anfrage für einen Progressionsgraphen.
|
||
|
||
Anfrage: {{goal_query}}
|
||
Semantic Brief: {{semantic_brief_json}}
|
||
|
||
{{catalog_guidance_block}}
|
||
|
||
Wichtig: Keine Gruppenanalyse — nur didaktischer Pfad für die Technik/das Thema.
|
||
|
||
Antworte NUR mit JSON:
|
||
{
|
||
"primary_topic": "Mae Geri",
|
||
"start_assumption": "Welche Voraussetzungen werden für den Einstieg angenommen",
|
||
"target_state": "Konkreter Zielzustand der Progression",
|
||
"success_criteria": ["messbare Kriterien"],
|
||
"constraints": { "partner_required": false }
|
||
}$t$,
|
||
default_template = template
|
||
WHERE slug = 'planning_progression_goal_analysis';
|
||
|
||
UPDATE ai_prompts
|
||
SET template = $t$Du bist Assistent für Kampfsport-Trainer und erstellst eine didaktische Roadmap für einen Progressionsgraphen.
|
||
|
||
Anfrage: {{goal_query}}
|
||
Zielanalyse: {{goal_analysis_json}}
|
||
Semantic Brief: {{semantic_brief_json}}
|
||
Anzahl Major Steps (N): {{max_steps}}
|
||
|
||
{{catalog_guidance_block}}
|
||
{{catalog_context_json}}
|
||
|
||
Erzeuge zuerst 8–12 micro_objectives (phase, title, weight, depends_on), dann konsolidiere auf genau N major_steps.
|
||
Phasen: einstieg, grundlage, vertiefung, anwendung, perfektion — in sinnvoller Reihenfolge (Grundlagen vor Perfektion).
|
||
Beachte Katalog-Roadmap-Hinweise, falls gesetzt.
|
||
|
||
Antworte NUR mit JSON:
|
||
{
|
||
"micro_objectives": [
|
||
{ "id": "m1", "phase": "grundlage", "title": "…", "weight": 0.9, "depends_on": [] }
|
||
],
|
||
"major_steps": [
|
||
{ "index": 0, "phase": "grundlage", "learning_goal": "…", "consolidates": ["m1","m2"], "rationale": "…" }
|
||
],
|
||
"consolidation_notes": ["…"]
|
||
}$t$,
|
||
default_template = template
|
||
WHERE slug = 'planning_progression_roadmap';
|
||
|
||
UPDATE ai_prompts
|
||
SET template = $t$Du bist Assistent für Kampfsport-Trainer und spezifizierst didaktische Stufen eines Progressionsgraphen.
|
||
|
||
Anfrage: {{goal_query}}
|
||
Zielanalyse: {{goal_analysis_json}}
|
||
Major Steps: {{major_steps_json}}
|
||
|
||
{{catalog_guidance_block}}
|
||
{{catalog_context_json}}
|
||
|
||
Für jeden Major Step: messbares Lernziel, load_profile (z. B. koordination, präzision, kraft), exercise_type (kihon_einzel, partner_drill, kombination, kraft_auxiliary), success_criteria, anti_patterns (z. B. reine Kraft ohne Technikbezug).
|
||
Beachte Katalog-QS-Kriterien und Anti-Patterns, falls gesetzt.
|
||
|
||
Antworte NUR mit JSON:
|
||
{
|
||
"stage_specs": [
|
||
{
|
||
"major_step_index": 0,
|
||
"learning_goal": "…",
|
||
"load_profile": ["koordination", "gleichgewicht"],
|
||
"exercise_type": "kihon_einzel",
|
||
"success_criteria": ["…"],
|
||
"anti_patterns": ["…"]
|
||
}
|
||
]
|
||
}$t$,
|
||
default_template = template
|
||
WHERE slug = 'planning_progression_stage_spec';
|