Commit graph text_to_solver_program/solving/Solver-Prompt.txt
Author SHA1 Message Date
c99e6f6689 feat: drei Prompt-Regeln (entscheidungsunabhängige Terme, ausdrückliche Definitionen, Handverfahren benennen)
- Extraktions-Prompt: entscheidungsunabhängige Terme ohne Zahlenwert
  erfordern eine Annahme, die das Weglassen/Mitführen begründet (Wagner-Whitin
  Einkaufspreis, bisher je 2 Korrekturrunden).
- Prüf-Prompt: eine Annahme, die einer ausdrücklichen Definition im Text
  widerspricht, ist immer contradicts_task (Portfoliomanagement §3 l_i/u_i
  als Betrags- nicht Stückzahl-Grenzen).
- Solver-Prompt: verlangtes Handverfahren (Simplex-Iterationen, graphische
  Lösung) wird in der Antwort ausdrücklich als nicht gezeigt benannt.

Prompt-Kennung c75d411794ea (war 1268a894c043). 435 Tests grün.
2026-09-18 20:52:35 +02:00
20ac3f14d7 feat: fehlende Werte und simulierte Daten müssen ausgewiesen und genannt werden
- check_generated_data: nennt extracted_values einen Wert als fehlend („nicht genannt“,
  „unbekannt“, „offener Parameter“; Werte aus beigelegten Dateien ausgenommen) und
  data_assumptions ist leer -> undeclared_data (Reparatur, sonst unzuverlässig).
  An 211 gespeicherten Läufen 8 Treffer, alle echt.
- check_answers_disclose_assumptions: bei selbst erzeugten Daten muss Antwortsatz oder
  eine Antwort das sagen -> Reparatur, sonst Warnung. 1 Treffer, echt.
- Summenprüfung: bleibt nach Abzug der Summenzeilen keine Zeile, ist nur die
  Schlusszeile die Summe (Fehlalarm „Summe (0)“ kostete zwei Reparaturen).

Nachlauf 20260918-140124: ehrlich_fehlende_kursdaten und ehrlich_fehlender_bedarf 2/2.
Ändert die Prompt-Kennung (Solver-Prompt.txt).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-18 14:05:39 +02:00
6ecfdf6ae0 feat: Zielwert-Zerlegung als Reparaturgrund, SOLVER_TIMEOUT, Summenzeilen-Fehlalarm behoben
- check_objective_decomposition: bei LP/MILP/CP muss eine objective_column den Zielwert
  belegen, eine abweichende Beitragsspalte ist überall ein Befund -> Solver-Reparatur,
  bleibt es: Warnung. 90 von 90 linearen Läufen seit 17.09. hätten bestanden.
- Summenzeilen: „Gesamt…“/„Nutzen…“ nur noch in der letzten Zeile, einzelne Zeile nie,
  Zwischensummen nicht gegen die Gesamtsumme. Vorher 15 Rucksack-Läufe mit falschem
  „Summe (0) weicht vom Zielwert (51) ab“; von 17 Abweichungen bleibt 1 echte.
- SOLVER_TIMEOUT (Default 60) für alle Programmläufe und als {ZEITLIMIT} im Solver-Prompt
- Benchmark: dirty zählt nur versionierte Dateien; SOLVER_TIMEOUT in der Konfiguration

Ändert die Prompt-Kennung (Solver-Prompt.txt).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-18 13:24:46 +02:00
0582737b22 fix: Fachwort Fluss nicht mehr aus eigenen Prompts; englische Zahlen und Teilfragen
- Routing-Prompt verlangt bei Dijkstra Restriktionsnamen in der Sprache der Aufgabe
  statt Flusserhaltung; Solver-Prompt ohne Fachwort (löste Korrekturrunden aus)
- JARGON_EVERYDAY: beeinflusst/Einfluss/Überfluss zählen weder als Vorkommen noch als
  Erklärung eines Fachbegriffs
- normalize_number liest eindeutige englische Zahlen (1,234.56; 12,345,678) richtig
- QUESTION_PATTERN erkennt Part/Question/Task N

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 16:38:45 +02:00
4bd701c87e feat: Szenario ohne Ergebnis nicht mehr zuverlässig; Schlupf aus dem Solver-Prompt
check_scenarios_solved meldet Szenarien ohne Zielwert, die nicht belegt unlösbar
sind (beobachtet: SCIP-Zeitlimit ohne Lösung als 'keine Lösung' gemeldet);
Befund löst Solver-Reparatur aus, bleibt er, reliable=False. Solver-Prompt:
timelimit ohne Lösung ist keine Unlösbarkeit, Warmstart über createSol/addSol.
Der Fachbegriff Schlupf kam aus dem Prompt selbst und ist entfernt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 14:41:54 +02:00
c68a293755 feat: Erfundene Einheiten in Antworten prüfen; data_assumptions-Kanal klargestellt
check_answer_units meldet Einheiten hinter Zahlen, die weder Aufgabentext noch
Datenprofil hergeben (nach Größenart, GE/ME neutral bei Kosten-/Mengenwörtern);
Befund löst Solver-Reparatur aus, bleibt er, Warnung. Reparaturmeldung und
Solver-Prompt nennen data_assumptions jetzt als Antwortfeld, nicht report()-Argument.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 14:07:57 +02:00
0d9b5d718f fix: Umlaute im Code erlaubt, Lesertexte still berichtigt
Ursache der Umschreibungen ist kein Encoding-Problem: das LLM schreibt
im erzeugten Python-Code ASCII (Portfolio Nr. 2: Code-Strings 0 echte
gegen 60 umschriebene Umlaute, Spezifikation 128 echte). Die
Prompt-Regel wurde ignoriert, die Warnung stand in fast jedem Lauf.

- Solver-Prompt: Umschreibungen in Bezeichnern, DATA-Schluesseln,
  Restriktionsnamen und Kommentaren erlaubt; echte Umlaute nur in
  Lesertexten, Regel direkt bei den report()-Argumenten.
- check_text_quality meldet keine Umlaute mehr (Fachbegriffe bleiben).
- umlaut_map baut je Lauf ein Woerterbuch aus Aufgabe und Spezifikation;
  repair_texts wendet es vor UMLAUT_STEMS an. ASCII-Formen aus dem
  Aufgabentext (Namen) bleiben, Restriktions-/Variablennamen unberuehrt.

An vier gespeicherten Laeufen: alle Umschreibungen in Lesertexten
berichtigt, 11 Ersetzungen, keine falsch. Prompt-Kennung 694c3eb3d59a.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 13:28:43 +02:00
7459690bf5 refactor: Pipeline-Stufen in Ordner mit ihren Prompts
Im Wurzelverzeichnis liegt nur noch TextToModel.py (Ablauf und CLI).
Jede Stufe liegt mit Code und Prompt in einem eigenen Ordner: core,
understanding, modeling, checks, solving, reporting, data, benchmark;
Tests unter tests/, Aufgaben unter tasks/. understand_task,
text_to_model/revise_model und review_assumptions/needs_work/select_best
sind aus TextToModel.py zu ihren Prompts gewandert, inhaltlich
unveraendert. Prompt-Kennung des Benchmarks bleibt 93744636095a.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 12:11:51 +02:00
Renamed from Solver-Prompt.txt (Previous history)