-- Migration 075: Planungs-KI Phase E — Semantik-Enrichment + Pfad-QA Prompts

INSERT INTO ai_prompts (
    slug, display_name, description, template,
    category, output_format, output_schema, is_system_default, default_template, active, sort_order
)
SELECT
    'planning_exercise_query_semantics',
    'Planungs-Übungssuche Semantik',
    'Erweitert deterministisches Semantic Brief um must/exclude phrases und Entwicklungsbogen.',
    $t$Du bist Assistent für Kampfsport-Trainer bei der semantischen Analyse von Planungs-Anfragen.

Ziel: JSON für ein Semantic Brief — präzise Kernbegriffe, Ausschlüsse, Entwicklungsbogen.
Nutze das bestehende Brief als Basis; ergänze/verfeinere, ersetze aber keine eindeutige Technik-Identität.

Anfrage: {{search_query}}
Bestehendes Brief (deterministisch): {{semantic_brief_json}}

Regeln:
- must_phrases: konkrete Technik-/Themen-Phrasen aus der Anfrage (z. B. "mae geri", nicht nur "geri")
- exclude_phrases: konkurrierende Techniken/Themen, die NICHT gemeint sind
- development_arc: geordnete Phasen aus: einstieg, grundlage, vertiefung, anwendung, perfektion
- semantic_strength: 0.0–1.0 (höher bei spezifischer Technik/Thema)
- primary_topic: Hauptthema in wenigen Worten
- topic_type: technique | focus | method | skill | general

Antworte NUR mit JSON:
{
  "primary_topic": "Mae Geri",
  "topic_type": "technique",
  "must_phrases": ["mae geri"],
  "exclude_phrases": ["mawashi geri", "sakuto geri"],
  "development_arc": ["einstieg", "grundlage", "vertiefung", "perfektion"],
  "semantic_strength": 0.9,
  "rationale": "Kurz auf Deutsch"
}$t$,
    'training',
    'json',
    '{"type":"object","properties":{"must_phrases":{"type":"array"},"exclude_phrases":{"type":"array"},"development_arc":{"type":"array"},"semantic_strength":{"type":"number"}}}'::jsonb,
    true,
    NULL,
    true,
    12
WHERE NOT EXISTS (SELECT 1 FROM ai_prompts WHERE slug = 'planning_exercise_query_semantics');

INSERT INTO ai_prompts (
    slug, display_name, description, template,
    category, output_format, output_schema, is_system_default, default_template, active, sort_order
)
SELECT
    'planning_exercise_path_qa',
    'Planungs-Pfad QA',
    'Semantische Qualitätsprüfung eines vorgeschlagenen Übungspfads inkl. Lücken und Brücken.',
    $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}}

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?

Antworte NUR mit JSON:
{
  "overall_ok": true,
  "quality_score": 0.85,
  "topic_coverage": "Kurz: wie gut das Hauptthema abgedeckt ist",
  "issues": ["…"],
  "sequence_notes": ["…"],
  "recommendations": ["…"]
}$t$,
    'training',
    'json',
    '{"type":"object","required":["overall_ok"],"properties":{"overall_ok":{"type":"boolean"},"quality_score":{"type":"number"},"issues":{"type":"array"},"sequence_notes":{"type":"array"},"recommendations":{"type":"array"}}}'::jsonb,
    true,
    NULL,
    true,
    13
WHERE NOT EXISTS (SELECT 1 FROM ai_prompts WHERE slug = 'planning_exercise_path_qa');

UPDATE ai_prompts SET default_template = template
WHERE slug IN ('planning_exercise_query_semantics', 'planning_exercise_path_qa')
  AND (default_template IS NULL OR TRIM(default_template) = '');
