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>
This commit is contained in:
Dieter Schlüter 2026-09-18 14:05:39 +02:00
commit 20ac3f14d7

View file

@ -396,3 +396,11 @@ def test_no_decomposition_needed_without_a_solution():
from solving.solver_stage import check_objective_decomposition
assert check_objective_decomposition(_lauf([], status="infeasible", objective=None), make_spec()) == []
assert check_objective_decomposition(_lauf([_tabelle([["Kosten", 51.0]])]), make_spec()) == []
def test_component_starting_with_summe_is_not_dropped():
# „Summe (0) weicht vom Zielwert ab“ in zwei Reparaturen von ehrlich_fehlende_kursdaten (20260918-140124)
from solving.solver_stage import check_table
rows = [["Summe der Varianzbeiträge", 0.0174321], ["Summe", 0.0174321]]
belegt, abweichung, _ = check_table(_tabelle(rows), 0.0174321)
assert belegt and abweichung is None