fix: Programm-Treue-Block bei BUND-/Antraegen mit komplett fehlenden Programmen ausblenden
User: '?? Hinweis: Für folgende Parteien lag kein Wahl-/Parteiprogramm
vor — keine Treue-Bewertung möglich: CDU, CSU, AfD, SPD, GRÜNE, LINKE,
BSW, FDP.' Vorher zeigte die UI den Disclaimer + trotzdem die LLM-
halluzinierten Programm-Treue-Scores aller 8 BT-Parteien — schlechte UX.
WAHLPROGRAMME['BUND'] ist aktuell leer (keine Bundestags-Wahlprogramme
indiziert), daher wird check_missing_programmes alle BT-Fraktionen als
'fehlend' markieren. Bisher wurden trotzdem die LLM-Scores rausgespielt.
Fix in v3/screens/antrag_detail.html und v3/pdf/antrag_pdf.html:
- Wenn _all_missing (alle Fraktionen fehlen) → ganze Programm-Treue-
Sektion ausblenden, nur klare Disclaimer-Box zeigen ('Programm-Treue
nicht verfuegbar — fuer dieses Parlament sind aktuell keine Programme
indiziert').
- Wenn nur einzelne Fraktionen fehlen → die einzelnen Karten via
{% if fs.fraktion not in _missing_set %} skippen, Disclaimer fuer
die wegfallenden Fraktionen zeigen ('werden hier nicht aufgefuehrt').
Damit keine LLM-halluzinierten Scores mehr gezeigt werden, wo es keine
Quelle gibt. Issue #186 (historische Programme indizieren) ist die
langfristige Loesung — diese Aenderung macht die UI bis dahin ehrlich.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
55423e92e3
commit
332453b940
@ -653,15 +653,30 @@
|
||||
|
||||
<!-- ─── Programm-Treue pro Fraktion ─────────────────────────────────── -->
|
||||
{% if assessment.wahlprogramm_scores %}
|
||||
{% set _missing_set = (assessment.fehlende_programme or []) | map('lower') | list %}
|
||||
{% set _all_missing = assessment.fehlende_programme and (assessment.wahlprogramm_scores | length == assessment.fehlende_programme | length) %}
|
||||
{% if _all_missing %}
|
||||
<div class="pdf-section">
|
||||
<h2 class="pdf-h2">Programm-Treue pro Fraktion</h2>
|
||||
<p style="font-size:9pt;color:#555;line-height:1.55;padding:6pt 10pt;background:rgba(247,148,29,0.08);border-left:3pt solid #bf6c10;border-radius:1pt;">
|
||||
<strong>Programm-Treue nicht verfügbar.</strong>
|
||||
Für dieses Parlament ({{ bundesland }}) sind aktuell keine Wahl- und
|
||||
Parteiprogramme indiziert. Eine inhaltliche Bewertung gegen die einzelnen
|
||||
Programme ist damit nicht möglich; um halluzinierte Scores zu vermeiden,
|
||||
wird die Programm-Treue-Sektion hier nicht ausgewiesen.
|
||||
</p>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="pdf-section">
|
||||
<h2 class="pdf-h2">Programm-Treue pro Fraktion</h2>
|
||||
{% if assessment.fehlende_programme %}
|
||||
<p style="font-size:9pt;color:#555;margin-bottom:6pt;">
|
||||
<strong>Hinweis:</strong> Für folgende Parteien lag kein Wahl-/Parteiprogramm vor:
|
||||
<strong>Hinweis:</strong> Für folgende Parteien lag kein Wahl-/Parteiprogramm vor — sie werden hier nicht aufgeführt:
|
||||
{{ assessment.fehlende_programme | join(", ") }}.
|
||||
</p>
|
||||
{% endif %}
|
||||
{% for fs in assessment.wahlprogramm_scores %}
|
||||
{% if fs.fraktion | lower not in _missing_set %}
|
||||
<div class="pdf-fraktion">
|
||||
<div class="pdf-fraktion-head">
|
||||
<span class="pdf-fraktion-name">{{ fs.fraktion }}</span>
|
||||
@ -694,9 +709,11 @@
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}{# fraktion not in fehlende_programme #}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}{# _all_missing-else #}
|
||||
{% endif %}{# wahlprogramm_scores #}
|
||||
|
||||
<!-- ─── Verbesserungsvorschläge (Redline-Diff) ─────────────────────── -->
|
||||
{% if assessment.verbesserungen %}
|
||||
|
||||
@ -180,18 +180,37 @@
|
||||
</section>
|
||||
{% endif %}
|
||||
|
||||
{# 6 ── Programm-Treue ─────────────────────────────────────────────── #}
|
||||
{# 6 ── Programm-Treue — wird komplett ausgeblendet wenn ALLE
|
||||
Fraktionen ohne Programm sind (typisch bei Bundestags-Antraegen,
|
||||
wo aktuell keine Programme indiziert sind), sonst werden nur
|
||||
die einzelnen Fraktionen ohne Programm gefiltert. #}
|
||||
{% if antrag.fraktions_scores %}
|
||||
{% set _missing_set = (antrag.fehlende_programme or []) | map('lower') | list %}
|
||||
{% set _all_missing = antrag.fehlende_programme and (antrag.fraktions_scores | length == antrag.fehlende_programme | length) %}
|
||||
|
||||
{% if _all_missing %}
|
||||
<section class="v3-section">
|
||||
<h3 class="v3-h3">Programm-Treue pro Fraktion</h3>
|
||||
<div class="v3-disclaimer">
|
||||
<strong>Programm-Treue nicht verfügbar.</strong>
|
||||
Für dieses Parlament ({{ antrag.bundesland }}) sind aktuell keine Wahl- und
|
||||
Parteiprogramme indiziert. Eine inhaltliche Bewertung gegen die einzelnen
|
||||
Programme ist damit nicht möglich; die Programm-Treue-Sektion wird nicht
|
||||
angezeigt, um halluzinierte Scores zu vermeiden.
|
||||
</div>
|
||||
</section>
|
||||
{% else %}
|
||||
<section class="v3-section">
|
||||
<h3 class="v3-h3">Programm-Treue pro Fraktion</h3>
|
||||
{% if antrag.fehlende_programme %}
|
||||
<div class="v3-disclaimer">
|
||||
<strong>Hinweis:</strong> Für folgende Parteien lag kein Wahl-/Parteiprogramm vor — keine Treue-Bewertung möglich:
|
||||
<strong>Hinweis:</strong> Für folgende Parteien lag kein Wahl-/Parteiprogramm vor — sie werden hier nicht aufgeführt:
|
||||
{{ antrag.fehlende_programme | join(", ") }}.
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="v3-fraktionen">
|
||||
{% for fs in antrag.fraktions_scores %}
|
||||
{% if fs.fraktion | lower not in _missing_set %}
|
||||
<div class="v3-fraktion">
|
||||
<div class="v3-fraktion-head">
|
||||
<span class="v3-fraktion-name">{{ fs.fraktion }}</span>
|
||||
@ -229,10 +248,12 @@
|
||||
</details>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}{# fraktion nicht in fehlende_programme #}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</section>
|
||||
{% endif %}
|
||||
{% endif %}{# _all_missing-else #}
|
||||
{% endif %}{# fraktions_scores #}
|
||||
|
||||
{# 7 ── Verbesserungsvorschläge — volle Breite, nicht kollabiert ───── #}
|
||||
{% if antrag.verbesserungen %}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user