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.
- 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.
- 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>
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>