Commit graph text_to_solver_program/tests/test_review.py
Author SHA1 Message Date
e80a104cf9 feat: Prüf-Prompt prüft Parametereinheit gegen ausdrückliche Textdefinition
Neuer Schritt 1b im Pruef-Prompt: jedes Parameter-Feld unit wird gegen
eine ausdrückliche Definition im Aufgabentext abgeglichen (Betrag→€,
Menge→Stück, Zeit→h). Widerspricht die unit der Definition (z. B.
unit 'Stück' bei einem als 'Betrag' definierten Parameter l_i/u_i),
wird ein missing_assumption-Eintrag gefordert – löst eine
Korrekturrunde aus, die die Parameter-Einheit anpasst.

Anlass: Portfoliomanagement §3 definiert l_i/u_i als Schranken für den
investierten Betrag; das Modell trug unit='Stück' ein, von keiner Prüfung
gefangen (Befund 1 aus STAND.md). Die vorherige Regel (Commit c99e6f6)
zielte auf Annahmen, nicht auf das Parameter-Feld unit.

Ausschlussliste angepasst: 'Einheit je Parameter' nur noch ausgeschlossen,
wenn der Text NICHT ausdrücklich definiert. 436 Tests grün.
2026-09-18 21:27:55 +02:00
0f1ab04a8d feat: Warnung bei ungeschützter Sandbox, Prüf-Regel für konstante Kosten, Grund je Korrekturrunde
- sandbox_warning: fehlt bubblewrap oder ist SOLVER_SANDBOX=aus, steht das im Log
  und in SolverRun.warnings (vorher lief der Code stillschweigend ungeschützt)
- Dijkstra-Markierung: der Report erklärt den Begriff selbst (DIJKSTRA_EXPLANATION),
  check_text_quality zählt das als Erklärung; Stamm 'markier' -> 'markierung'
- Pruef-Prompt Regel 7: entscheidungsunabhängige Terme ohne Zahlenwert dürfen
  weggelassen oder symbolisch mitgeführt werden (wagner_whitin_dijkstra: 1+1 statt
  2+1 Korrekturrunden, n=2)
- revision_reasons: jede Korrekturrunde nennt ihren Auslöser im Log

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 16:28:39 +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 test_review.py (Previous history)