Commit graph

7 commits

Author SHA1 Message Date
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
7aac3ff3ec fix: Vergleichstabellen nicht als Summenabweichung melden; Verstehen-Prompt in Prompt-Kennung
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 13:34:54 +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
8697400dc2 feat: Nicht-Optimierungsaufgaben ablehnen statt modellieren
Bisher erzeugte is_optimization_task=False nur eine Log-Warnung; eine
reine Gleichung wurde trotzdem in ein Optimierungsmodell gepresst.
Jetzt bricht run_pipeline direkt nach dem Verstehen ab: kein
Nachfassen, keine Extraktion, kein Solver. PipelineResult.rejected,
reliable=False, specification/review optional; Report "Aufgabe
abgelehnt", CLI-Exit-Code 3, Benchmark-Status "abgelehnt" (auch die
Ergebnistabelle verkraftet die Zeile), --von verweigert.

Der Verstehens-Prompt nennt reine Gleichungen/Rechenaufgaben als
Nicht-Aufgaben und Zulaessigkeitsfragen sowie moeglicherweise
unloesbare Planungen ausdruecklich als Aufgaben. Unvermessen;
Prompt-Kennung jetzt 0333bfd5f9fe.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 12:54:54 +02:00
cb402996ad docs: README auf aktuellen Stand, Ausgabeordner heisst output/
README: Ordner je Pipeline-Stufe im Diagramm, Eingangstor ehrlich
beschrieben (nur Hinweis), fehlende Umgebungsvariablen
(UNDERSTAND_RETRIES, LLM_REASONING_EFFORT), DATA-Woerterbuch,
aktuelle Report-Reihenfolge, Regel gegen erfundene Bedeutungen,
Benchmark-Ergebnisdateien, neuer Abschnitt "Erweitern".
Ausgabeordner ausgabe/ -> output/ in .gitignore und allen Kommandos.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 12:19:58 +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
b74445b8d6 Erste öffentliche Fassung: Math Model Generator & Solver
Übersetzt natürlichsprachige Optimierungsaufgaben (Deutsch) per LLM in
eine geprüfte Modellspezifikation, erzeugt Solver-Code und führt ihn in
einer bubblewrap-Sandbox aus. Deterministische Prüfungen ohne LLM,
Report als Markdown/HTML, Benchmark mit 19 verifizierten Fällen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 11:42:58 +02:00