Some checks failed
Deploy Development / deploy (push) Successful in 49s
Test Suite / pytest-backend (push) Failing after 43s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 15s
Test Suite / k6 /health Baseline (push) Successful in 44s
Test Suite / playwright-tests (push) Successful in 1m15s
- Introduced a roadmap-first approach for the planning AI, allowing for a structured progression graph that aligns with the overall project roadmap. - Added new functionality to strip off-topic steps from exercise paths, improving the relevance of generated exercise suggestions. - Implemented a detailed goal text generation for AI proposals, enhancing the context provided for new exercises. - Updated the ExerciseProgressionPathBuilder component to support new features, including roadmap previews and improved focus area handling. - Incremented application version to 0.8.205 and updated database schema version to 20260606086 to reflect these changes.
75 lines
2.9 KiB
SQL
75 lines
2.9 KiB
SQL
-- Migration 078: Planungs-KI Phase F — Progressions-Roadmap Prompts (Zielanalyse + Roadmap)
|
||
|
||
INSERT INTO ai_prompts (
|
||
slug, display_name, description, template,
|
||
category, output_format, output_schema, is_system_default, default_template, active, sort_order
|
||
)
|
||
SELECT
|
||
'planning_progression_goal_analysis',
|
||
'Progressions-Roadmap Zielanalyse',
|
||
'Phase A: Ist-/Soll-Zustand und Erfolgskriterien für einen Progressionsgraphen (ohne Gruppenkontext).',
|
||
$t$Du bist Assistent für Kampfsport-Trainer und analysierst eine Anfrage für einen Progressionsgraphen.
|
||
|
||
Anfrage: {{goal_query}}
|
||
Semantic Brief: {{semantic_brief_json}}
|
||
|
||
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$,
|
||
'training',
|
||
'json',
|
||
'{"type":"object","properties":{"primary_topic":{"type":"string"},"target_state":{"type":"string"},"success_criteria":{"type":"array"}}}'::jsonb,
|
||
true,
|
||
NULL,
|
||
true,
|
||
14
|
||
WHERE NOT EXISTS (SELECT 1 FROM ai_prompts WHERE slug = 'planning_progression_goal_analysis');
|
||
|
||
INSERT INTO ai_prompts (
|
||
slug, display_name, description, template,
|
||
category, output_format, output_schema, is_system_default, default_template, active, sort_order
|
||
)
|
||
SELECT
|
||
'planning_progression_roadmap',
|
||
'Progressions-Roadmap Major Steps',
|
||
'Phase B: 8–12 micro_objectives, Konsolidierung auf N major_steps.',
|
||
$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}}
|
||
|
||
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).
|
||
|
||
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$,
|
||
'training',
|
||
'json',
|
||
'{"type":"object","properties":{"micro_objectives":{"type":"array"},"major_steps":{"type":"array"},"consolidation_notes":{"type":"array"}}}'::jsonb,
|
||
true,
|
||
NULL,
|
||
true,
|
||
15
|
||
WHERE NOT EXISTS (SELECT 1 FROM ai_prompts WHERE slug = 'planning_progression_roadmap');
|
||
|
||
UPDATE ai_prompts SET default_template = template
|
||
WHERE slug IN ('planning_progression_goal_analysis', 'planning_progression_roadmap')
|
||
AND (default_template IS NULL OR TRIM(default_template) = '');
|