diff --git a/app/templates/v2/screens/methodik.html b/app/templates/v2/screens/methodik.html
index b808a74..2691d70 100644
--- a/app/templates/v2/screens/methodik.html
+++ b/app/templates/v2/screens/methodik.html
@@ -138,10 +138,12 @@
Was macht der Prüfer?
Die Matrix 2.0
Analyse-Pipeline
+ Stimmverhalten & Marker
LLM-Prompts
Qualitätssicherung
Einschränkungen
Datenquellen
+ Versionsstand
@@ -201,9 +203,14 @@
Jeder Antrag wird automatisch analysiert und erhält:
- GWÖ-Score (0–10) — wie stark fördert oder widerspricht der Antrag den fünf Gemeinwohl-Werten?
+ - Empfehlung & Bewertungs-Sicherheit — qualitative Einordnung („Uneingeschränkt unterstützen" … „Ablehnen") plus eine Sicherheits-Angabe (hoch/mittel/niedrig), wie selbstsicher das Sprachmodell in dieser Einordnung ist (wissenschaftlich: Konfidenz).
- 25-Felder-Matrix — detaillierte Bewertung für jede Kombination aus Berührungsgruppe und Wert
+ - Schwerpunkt-Felder — die Top-Felder der Matrix, die den Score am stärksten treiben
+ - Themen-Tags & Kernforderungen — automatische Themen-Klassifikation und Bullet-Liste der zentralen Forderungen des Antrags
- Wahlprogramm-Treue — wie gut passt der Antrag zu den Wahl- und Grundsatzprogrammen der Fraktionen, belegt mit verifizierten Zitaten?
- Verbesserungsvorschläge — konkrete Textänderungen im Redline-Format
+ - Abstimmungsergebnis & Wahlprogramm-Konflikt-Marker — fraktions-aggregierte Abstimmung aus dem Plenarprotokoll, plus Hinweis-Symbole, wenn eine Fraktion gegen das eigene Wahlprogramm stimmt (siehe Abschnitt Stimmverhalten).
+ - Ähnliche Anträge & News-Match — verwandte Drucksachen aus anderen Bundesländern (per Embedding-Ähnlichkeit) und aktuelle Pressemeldungen, die thematisch zu diesem Antrag passen.
Ziel ist Transparenz: Bürger:innen können nachvollziehen, welche
@@ -344,11 +351,16 @@
4
- Zitat-Verifikation
+ Zitat-Verifikation (partei-skopiert)
Jedes Zitat wird server-seitig verifiziert: der Text muss
- als Substring im Original-PDF auffindbar sein. Quellenangabe und Seitenzahl
+ als Substring (oder 5-Wort-Anker) in einem retrieten Chunk
+ derselben Partei auffindbar sein. Quellenangabe und Seitenzahl
werden aus dem echten Treffer rekonstruiert — die Modell-Ausgabe wird für diese
- Felder verworfen.
+ Felder verworfen.
+ Wenn der Text wortgleich auch in einem fremden Programm vorkommt
+ (z. B. „Eine Schulden- und Haftungsunion lehnen wir ab" steht in mehreren Programmen), wird das Zitat
+ nicht mit fremder Quelle markiert — sondern verworfen. Lieber 0 Zitate als ein
+ Misattributions-Zitat.
@@ -366,6 +378,59 @@
+
+
+ Stimmverhalten & Marker
+
+
+ Wenn fraktions-aggregierte Plenum-Abstimmungen vorliegen, vergleicht der
+ Prüfer das Stimmverhalten jeder Fraktion mit ihrem eigenen Wahlprogramm-Score
+ für genau diesen Antrag und setzt — falls auffällig — kleine Hinweis-Symbole
+ neben den Fraktions-Pill:
+
+
+
+ | Symbol |
+ Konstellation |
+ Schwelle |
+ Wissenschaftlicher Begriff |
+
+
+ | ⚠ |
+ Fraktion stimmt mit Nein, obwohl der Antrag inhaltlich gut zu ihrem Wahlprogramm passt |
+ Wahlprogramm-Score ≥ 7 / 10 |
+ Heuchelei-Indikator |
+
+
+ | ! |
+ Fraktion stimmt mit Ja, obwohl der Antrag schlecht zum eigenen Wahlprogramm passt |
+ Wahlprogramm-Score < 3 / 10 |
+ Opportunismus-Indikator |
+
+
+
+ In der Bürger:innen-Ansicht (v3) werden beide Symbole unter dem neutraleren
+ Sammelbegriff „Wahlprogramm-Konflikt" geführt;
+ die wissenschaftliche Klassifikation erscheint im Tooltip beim
+ Hovern.
+
+
Konsistenz-Hinweis (Empfehlung vs. Beschluss)
+
+ Über jedem Abstimmungsergebnis steht ein Hinweis, ob die parlamentarische
+ Mehrheit der GWÖ-Empfehlung folgt. Beispiele:
+
+
+ - Mehrheit deckt sich mit GWÖ-Empfehlung — der Antrag wurde angenommen, und der Prüfer empfahl Zustimmung; oder umgekehrt.
+ - Mehrheit gegen GWÖ-Empfehlung — der Beschluss läuft inhaltlich der Gemeinwohl-Empfehlung entgegen.
+
+
+ Die Logik ist deterministisch (kein LLM beteiligt) und in
+ app/marker.py
+ dokumentiert + getestet.
+
+
+
+
LLM-Prompts
@@ -441,14 +506,12 @@
Qualitätssicherung
- - Automatische Zitat-Verifikation — jedes Zitat wird gegen das
- Original-PDF geprüft. Nicht-verifizierbare Zitate werden verworfen.
- - Typ-Filterung — nur abstimmbare Drucksachen (Anträge,
- Gesetzentwürfe) werden bewertet.
- - Automatische Neu-Analyse — wenn ein Zitat nicht auffindbar ist,
- wird der Antrag mit der aktuellen Pipeline neu analysiert.
- - Open Data — alle Bewertungen sind als JSON und CSV exportierbar
- (CC BY 4.0).
+ - Partei-skopierte Zitat-Verifikation — jedes Zitat wird gegen die Chunks derselben Partei geprüft (Substring oder 5-Wort-Anker). Wortgleiche Treffer in einem fremden Programm zählen nicht; das Zitat wird in dem Fall verworfen statt mit fremder Quelle markiert.
+ - Score-Cap-Invariante — ein einziges Matrix-Feld mit Rating ≤ −4 deckelt den Gesamt-Score auf maximal 3 / 10. Verstöße werden im Server-Log als Warning protokolliert.
+ - Typ-Filterung — nur abstimmbare Drucksachen (Anträge, Gesetzentwürfe) werden bewertet. Kleine Anfragen, Antworten und Bundesrats-Drucksachen werden übersprungen.
+ - Manuelle Neu-Analyse — auf jeder Detail-Seite gibt es einen „Neu analysieren"-Button, der den Antrag mit der aktuellen Pipeline frisch bewertet.
+ - Property-Tests & Fixture-Tests — Zitat-Binding, Marker-Logik und Score-Cap sind in
tests/ mit deterministischen Fixtures abgesichert (siehe ADR 0003 + 0008).
+ - Open Data — alle Bewertungen sind als JSON und CSV exportierbar (CC BY 4.0).
@@ -459,8 +522,11 @@
- Wertebasierte Einordnung, keine Rechtsprüfung
- KI-Bias — Sprachmodelle können systematische Verzerrungen aufweisen. Bewertungen sind Orientierung, nicht objektive Wahrheit.
- - Programmabhängig — Fraktionen ohne hinterlegtes Wahlprogramm erhalten keinen Programm-Vergleich.
+ - Programmabhängig — Fraktionen ohne hinterlegtes Wahlprogramm erhalten keinen Programm-Vergleich. Der Antrag-Detailseite zeigt diese Lücke explizit als Hinweis am Programm-Treue-Block.
+ - Aktuelles Programm, nicht historisch — derzeit wird jede Fraktion gegen das jeweils aktuell hinterlegte Wahl-/Grundsatzprogramm bewertet. Bei älteren Anträgen aus früheren Wahlperioden ist das u.U. nicht das Programm, das zum Zeitpunkt der Antragstellung galt
+ (Issue #186 — Behebung in Arbeit).
- Antragstext, nicht Umsetzung — bewertet wird was im Antrag steht, nicht ob es umgesetzt wird.
+ - Drucksachen-Eindeutigkeit — der Prüfer löst Drucksachen aktuell nur über die Nummer auf. In seltenen Fällen gleicher Nummern in verschiedenen Bundesländern wählt der Detail-Permalink den ersten DB-Match.
@@ -509,6 +575,26 @@
+
+ Versionsstand
+
+
+ | Komponente | Stand |
+ | Sprachmodell | {{ model_name }} |
+ | Embedding-Modell (READ) | {{ embedding_model }} (1024 Dimensionen) |
+ | Indexierte Programme | {{ programme_count }} mit {{ chunk_count }} Textabschnitten |
+ | Angebundene Parlamente | {{ adapter_count }} (16 Bundesländer + Bundestag) |
+ | GWÖ-Matrix | 2.0 Gemeinden (Arbeitsbuch 2017, Pilot 2.1.A 2023) |
+ | Bewertungs-Skala | −5 … +5 pro Matrix-Feld; 0 … 10 als Gesamt-Score |
+ | Citation-Verification | partei-skopiert seit Mai 2026 (Issue #175-bug fix) |
+
+
+ Diese Tabelle wird live aus dem System gerendert — die Werte sind genau die Konfiguration,
+ mit der Bewertungen jetzt erstellt werden.
+
+
+
+
{# .meth-body #}
{# .meth-layout #}