v2-Frontend (#139, ECOnGOOD CD Manual Juni 2024): - app/static/v2/: tokens.css, fonts.css, v2.css, Nunito-Sans woff2, Phosphor-Icons (21 SVGs) - app/templates/v2/: base.html + 11 Screens + 8 Component-Macros - AppShell mit Sidebar (Lesen/Pruefen/Daten/Admin), v2-Detail mit allen Features (ScoreHero, MatrixMini, QuoteCard, Redline, Fraktions-Scores) - v2 ist jetzt Default unter / — classic unter /classic - Login-Modal in v2-Topbar mit Tabs Anmelden/Registrieren (#129) - Phosphor-Icons in Sidebar + Topbar mit dynamischem Theme-Toggle - Keyboard-Shortcuts (j/k/Enter/Esc/?/path), Landtag-Suche, Antrag-Historie, Sort-Dropdown, Matrix-Feld-Info-Modal, Bookmarks/Comments/Voting/Share/Re-Analyze Backend-Erweiterungen: - main.py: ~30 neue Routes (/v2/*, /antrag/{ds}, /api/auth/{login,refresh,logout}, /api/me/merkliste/*, /api/admin/*, /v2/admin/*, OG-Cards, etc.) - og_card.py + og_template: Open-Graph-Bilder via Playwright (#141) - wahlprogramm_fetch.py + wahlprogramm-links.yaml: SHA-Gate Auto-DL (#138) - auswertungen.py: BL-Filter + get_wahlperioden Helper (#137) - auth.py: Direct-Access-Grant + Refresh-Token-Cookie Classic-Updates: - Header-DRY via _header.html, Auswertungen redirected, Batch-Inline raus Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
461 lines
28 KiB
HTML
461 lines
28 KiB
HTML
{% extends "v2/base.html" %}
|
||
|
||
{% block title %}Methodik — GWÖ-Antragsprüfer{% endblock %}
|
||
|
||
{% set v2_active_nav = "" %}
|
||
|
||
{% block head_extra %}
|
||
<style>
|
||
.meth-layout {
|
||
display: grid;
|
||
grid-template-columns: 220px 1fr;
|
||
gap: 2rem;
|
||
align-items: start;
|
||
}
|
||
@media (max-width: 720px) {
|
||
.meth-layout { grid-template-columns: 1fr; }
|
||
.meth-toc { display: none; }
|
||
}
|
||
.meth-toc {
|
||
position: sticky;
|
||
top: 72px;
|
||
font-size: 12px;
|
||
font-family: var(--font-mono);
|
||
line-height: 1.8;
|
||
border-left: 2px solid var(--ecg-green);
|
||
padding-left: 12px;
|
||
color: var(--ecg-dark);
|
||
opacity: 0.75;
|
||
}
|
||
.meth-toc a {
|
||
display: block;
|
||
color: inherit;
|
||
text-decoration: none;
|
||
opacity: 0.75;
|
||
transition: opacity 0.1s;
|
||
}
|
||
.meth-toc a:hover { opacity: 1; color: var(--ecg-green); }
|
||
.meth-toc .toc-section { font-weight: 700; margin-top: 8px; opacity: 1; }
|
||
.meth-body h2 {
|
||
font-family: var(--font-display);
|
||
font-size: 18px;
|
||
color: var(--ecg-teal);
|
||
margin: 2rem 0 0.75rem;
|
||
padding-bottom: 4px;
|
||
border-bottom: 2px solid var(--ecg-teal);
|
||
}
|
||
.meth-body h3 {
|
||
font-family: var(--font-display);
|
||
font-size: 14px;
|
||
color: var(--ecg-green);
|
||
margin: 1.25rem 0 0.4rem;
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.06em;
|
||
}
|
||
.meth-body p { margin-bottom: 0.6rem; }
|
||
.meth-body ul { margin: 0.4rem 0 0.8rem 1.4rem; }
|
||
.meth-body li { margin: 0.25rem 0; }
|
||
.meth-body a { color: var(--ecg-teal); }
|
||
.meth-body table {
|
||
border-collapse: collapse;
|
||
width: 100%;
|
||
font-size: 12px;
|
||
margin: 0.5rem 0 1rem;
|
||
}
|
||
.meth-body th, .meth-body td {
|
||
border: 1px solid var(--ecg-border);
|
||
padding: 6px 8px;
|
||
text-align: left;
|
||
}
|
||
.meth-body th { background: var(--ecg-bg-subtle); font-weight: 700; font-size: 11px; }
|
||
.meth-note {
|
||
background: rgba(136,158,51,0.1);
|
||
border-left: 3px solid var(--ecg-green);
|
||
padding: 10px 14px;
|
||
margin: 1rem 0;
|
||
font-size: 13px;
|
||
border-radius: 0 4px 4px 0;
|
||
}
|
||
/* Interactive matrix grid */
|
||
.gwoe-matrix-grid {
|
||
display: grid;
|
||
grid-template-columns: 110px repeat(5, 1fr);
|
||
gap: 2px;
|
||
font-size: 11px;
|
||
margin: 1rem 0;
|
||
}
|
||
.gwoe-matrix-grid .gc { padding: 5px 4px; text-align: center; background: var(--ecg-bg-subtle); border: 1px solid var(--ecg-border); }
|
||
.gwoe-matrix-grid .gh { background: var(--ecg-teal); color: #fff; font-weight: 700; }
|
||
.gwoe-matrix-grid .gr { background: var(--ecg-green); color: #fff; font-weight: 700; text-align: left; padding-left: 6px; }
|
||
.gwoe-matrix-grid .gc.clickable { cursor: pointer; transition: background 0.1s; }
|
||
.gwoe-matrix-grid .gc.clickable:hover { background: rgba(0,157,165,0.12); }
|
||
#field-explain {
|
||
display: none;
|
||
background: var(--ecg-bg-subtle);
|
||
border-left: 3px solid var(--ecg-green);
|
||
padding: 12px 16px;
|
||
margin: 0.5rem 0 1rem;
|
||
border-radius: 0 4px 4px 0;
|
||
font-size: 13px;
|
||
}
|
||
#field-explain strong { font-family: var(--font-display); }
|
||
.pipeline-step {
|
||
display: flex;
|
||
gap: 12px;
|
||
align-items: flex-start;
|
||
margin: 10px 0;
|
||
padding: 10px 12px;
|
||
background: var(--ecg-bg-subtle);
|
||
border-radius: 4px;
|
||
border-left: 3px solid var(--ecg-teal);
|
||
}
|
||
.step-num {
|
||
background: var(--ecg-teal);
|
||
color: #fff;
|
||
width: 26px; height: 26px;
|
||
border-radius: 50%;
|
||
display: flex; align-items: center; justify-content: center;
|
||
font-weight: 700; font-size: 12px; flex-shrink: 0;
|
||
font-family: var(--font-mono);
|
||
}
|
||
</style>
|
||
{% endblock %}
|
||
|
||
{% block main %}
|
||
<div style="padding:0 0 2rem;">
|
||
<h1 style="font-family:var(--font-display);font-size:22px;color:var(--ecg-teal);margin:0 0 4px;">Methodik</h1>
|
||
<p style="font-size:12px;font-family:var(--font-mono);color:var(--ecg-dark);opacity:0.6;">
|
||
GWÖ-Matrix 2.0 · Gemeinden · Transparenz-Dokumentation
|
||
</p>
|
||
</div>
|
||
|
||
<div class="meth-layout">
|
||
|
||
<!-- TOC -->
|
||
<nav class="meth-toc" aria-label="Inhaltsverzeichnis">
|
||
<div class="toc-section">Inhalt</div>
|
||
<a href="#gwoe">Was ist die GWÖ?</a>
|
||
<a href="#was-macht">Was macht der Prüfer?</a>
|
||
<a href="#matrix">Die Matrix 2.0</a>
|
||
<a href="#pipeline">Analyse-Pipeline</a>
|
||
<a href="#qualitaet">Qualitätssicherung</a>
|
||
<a href="#einschraenkungen">Einschränkungen</a>
|
||
<a href="#datenquellen">Datenquellen</a>
|
||
</nav>
|
||
|
||
<!-- Content -->
|
||
<div class="meth-body">
|
||
|
||
<section id="gwoe">
|
||
<h2>Was ist die Gemeinwohl-Ökonomie?</h2>
|
||
<div class="v2-kasten outline-blue">
|
||
<p>
|
||
Die <strong>Gemeinwohl-Ökonomie (GWÖ)</strong> ist ein Wirtschaftsmodell, das den
|
||
Erfolg wirtschaftlichen Handelns nicht am Gewinn, sondern am <strong>Beitrag zum
|
||
Gemeinwohl</strong> misst. Entwickelt von Christian Felber (2010), trägt die GWÖ
|
||
eine internationale Bewegung mit über 11.000 Unterstützer:innen,
|
||
4.500 Mitgliedern und 1.000 bilanzierten Organisationen.
|
||
</p>
|
||
|
||
<h3>Das Bewertungsmodell: die Gemeinwohl-Bilanz</h3>
|
||
<p>
|
||
Das Kernstück ist die <strong>Gemeinwohl-Bilanz</strong>: ein standardisiertes
|
||
Bewertungsverfahren nach einer Matrix aus fünf Werten
|
||
(Menschenwürde, Solidarität, ökologische Nachhaltigkeit, soziale Gerechtigkeit,
|
||
Transparenz & Demokratie) und fünf Berührungsgruppen.
|
||
Die aktuelle <strong>Unternehmens-Matrix (Version 5.1)</strong> ist in über 35 Ländern erprobt.
|
||
</p>
|
||
<p style="font-size:11px;">
|
||
→ <a href="https://germany.econgood.org/wp-content/uploads/sites/8/2025/02/ECOnGOOD_Arbeitsbuch_5_1.pdf" target="_blank">Arbeitsbuch Unternehmen 5.1 (PDF)</a> ·
|
||
<a href="https://germany.econgood.org/tools/gemeinwohl-matrix/" target="_blank">Matrix-Übersicht</a>
|
||
</p>
|
||
|
||
<h3>Adaption für die öffentliche Hand</h3>
|
||
<p>
|
||
Für <strong>Gemeinden</strong> gibt es seit 2017 das <strong>Arbeitsbuch für Gemeinden Version 2.0</strong>.
|
||
Es überträgt die Unternehmens-Matrix auf kommunale Handlungsfelder:
|
||
statt „Kund:innen" stehen <em>Bürger:innen</em> im Fokus, statt „Lieferkette"
|
||
geht es um <em>öffentliche Beschaffung</em>.
|
||
Eine aktualisierte Version 2.1.A läuft seit 2023 im Pilotbetrieb.
|
||
</p>
|
||
<p style="font-size:11px;">
|
||
→ <a href="https://germany.econgood.org/wp-content/uploads/sites/8/2022/05/Arbeitsbuch-Gemeinden_2.pdf" target="_blank">Arbeitsbuch Gemeinden 2.0 (PDF)</a> ·
|
||
<a href="https://germany.econgood.org/wp-content/uploads/sites/8/2024/04/20231103_Arbeitsbuch-2_1_A-final.pdf" target="_blank">Version 2.1.A Pilotfassung (PDF)</a>
|
||
</p>
|
||
|
||
<h3>Anwendung auf Parlamentsanträge</h3>
|
||
<p>
|
||
<strong>Dieser Antragsprüfer</strong> nutzt die Gemeinde-Matrix 2.0 als
|
||
Bewertungsrahmen und wendet sie systematisch auf Parlamentsanträge aller
|
||
deutschen Landtage und des Bundestags an. Parlamentsanträge gestalten die
|
||
Rahmenbedingungen, unter denen Gemeinden handeln — ihre Gemeinwohl-Wirkung
|
||
zu messen macht sie vergleichbar und transparent.
|
||
</p>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="was-macht">
|
||
<h2>Was macht der GWÖ-Antragsprüfer?</h2>
|
||
<div class="v2-kasten outline-green">
|
||
<p>Jeder Antrag wird automatisch analysiert und erhält:</p>
|
||
<ul>
|
||
<li><strong>GWÖ-Score (0–10)</strong> — wie stark fördert oder widerspricht der Antrag den fünf Gemeinwohl-Werten?</li>
|
||
<li><strong>25-Felder-Matrix</strong> — detaillierte Bewertung für jede Kombination aus Berührungsgruppe und Wert</li>
|
||
<li><strong>Wahlprogramm-Treue</strong> — wie gut passt der Antrag zu den Wahl- und Grundsatzprogrammen der Fraktionen, belegt mit verifizierten Zitaten?</li>
|
||
<li><strong>Verbesserungsvorschläge</strong> — konkrete Textänderungen im Redline-Format</li>
|
||
</ul>
|
||
<p style="margin-top:0.5rem;">
|
||
Ziel ist <strong>Transparenz</strong>: Bürger:innen können nachvollziehen, welche
|
||
Anträge dem Gemeinwohl dienen — und welche dagegen arbeiten.
|
||
Die Bewertungen sind öffentlich, maschinenlesbar (JSON/CSV/Atom-Feed) und unter CC BY 4.0 lizenziert.
|
||
</p>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="matrix">
|
||
<h2>Die GWÖ-Matrix 2.0 für Gemeinden</h2>
|
||
<div class="v2-kasten outline-blue">
|
||
<p><strong>5 Berührungsgruppen</strong> (Zeilen) × <strong>5 Werte</strong> (Spalten) = 25 Bewertungsfelder.
|
||
Jedes Feld wird von <strong>−5</strong> (fundamental widersprechend) bis <strong>+5</strong>
|
||
(stark fördernd) bewertet. Der GWÖ-Score (0–10) ist ein gewichteter Durchschnitt.</p>
|
||
</div>
|
||
|
||
<h3>Die fünf Werte (Spalten)</h3>
|
||
<table>
|
||
<tr><th style="width:30%;">Wert</th><th>Leitfrage</th></tr>
|
||
<tr><td><strong>1. Menschenwürde</strong></td><td>Werden Grundrechte geschützt? Rechtliche Gleichstellung? Schutz vor Diskriminierung?</td></tr>
|
||
<tr><td><strong>2. Solidarität</strong></td><td>Wird das Gemeinwohl gefördert? Mehrwert für die Gemeinschaft? Kooperation statt Konkurrenz?</td></tr>
|
||
<tr><td><strong>3. Ökologische Nachhaltigkeit</strong></td><td>Klimaschutz? Ressourcenschonung? Biodiversität? Kreislaufwirtschaft?</td></tr>
|
||
<tr><td><strong>4. Soziale Gerechtigkeit</strong></td><td>Gerechte Verteilung? Daseinsvorsorge? Soziale Absicherung? Chancengleichheit?</td></tr>
|
||
<tr><td><strong>5. Transparenz & Demokratie</strong></td><td>Bürgerbeteiligung? Offenlegung? Demokratische Prozesse? Rechenschaftspflicht?</td></tr>
|
||
</table>
|
||
|
||
<h3>Die fünf Berührungsgruppen (Zeilen)</h3>
|
||
<table>
|
||
<tr><th style="width:30%;">Gruppe</th><th>Wer ist gemeint?</th></tr>
|
||
<tr><td><strong>A · Lieferant:innen</strong></td><td>Externe Beschaffung, Lieferketten, Dienstleister:innen</td></tr>
|
||
<tr><td><strong>B · Finanzen</strong></td><td>Umgang mit öffentlichen Mitteln, Haushalt, Steuerzahler:innen</td></tr>
|
||
<tr><td><strong>C · Verwaltung</strong></td><td>Mandatsträger:innen, Mitarbeitende, Ehrenamtliche</td></tr>
|
||
<tr><td><strong>D · Bürger:innen</strong></td><td>Wirkung innerhalb der Grenzen, Daseinsvorsorge</td></tr>
|
||
<tr><td><strong>E · Gesellschaft & Natur</strong></td><td>Wirkung über die Grenzen hinaus, Zukunft</td></tr>
|
||
</table>
|
||
|
||
<h3>Alle 25 Felder</h3>
|
||
<p style="font-size:11px;opacity:0.7;margin-bottom:8px;">Klick auf ein Feld für Details.</p>
|
||
|
||
<div id="field-explain">
|
||
<div style="display:flex;justify-content:space-between;align-items:center;">
|
||
<strong id="field-explain-title"></strong>
|
||
<button onclick="document.getElementById('field-explain').style.display='none'"
|
||
style="background:none;border:none;cursor:pointer;color:var(--ecg-dark);opacity:0.5;font-size:14px;">✕</button>
|
||
</div>
|
||
<div id="field-explain-text" style="margin-top:8px;line-height:1.6;"></div>
|
||
</div>
|
||
|
||
<div class="gwoe-matrix-grid">
|
||
<div class="gc"></div>
|
||
<div class="gc gh">Menschen­würde</div>
|
||
<div class="gc gh">Solidarität</div>
|
||
<div class="gc gh">Ökol. Nachh.</div>
|
||
<div class="gc gh">Soz. Gerecht.</div>
|
||
<div class="gc gh">Transparenz</div>
|
||
|
||
<div class="gc gr">A · Lieferant:innen</div>
|
||
<div class="gc clickable" onclick="showField('A1')"><strong>A1</strong><br><small>Grundrechte Lieferkette</small></div>
|
||
<div class="gc clickable" onclick="showField('A2')"><strong>A2</strong><br><small>Nutzen Gemeinde</small></div>
|
||
<div class="gc clickable" onclick="showField('A3')"><strong>A3</strong><br><small>Ökol. Verantwortung</small></div>
|
||
<div class="gc clickable" onclick="showField('A4')"><strong>A4</strong><br><small>Soziale Verantwortung</small></div>
|
||
<div class="gc clickable" onclick="showField('A5')"><strong>A5</strong><br><small>Rechenschaft</small></div>
|
||
|
||
<div class="gc gr">B · Finanzen</div>
|
||
<div class="gc clickable" onclick="showField('B1')"><strong>B1</strong><br><small>Eth. Finanzgebaren</small></div>
|
||
<div class="gc clickable" onclick="showField('B2')"><strong>B2</strong><br><small>Gemeinnutz</small></div>
|
||
<div class="gc clickable" onclick="showField('B3')"><strong>B3</strong><br><small>Ökol. Finanzpolitik</small></div>
|
||
<div class="gc clickable" onclick="showField('B4')"><strong>B4</strong><br><small>Soz. Finanzpolitik</small></div>
|
||
<div class="gc clickable" onclick="showField('B5')"><strong>B5</strong><br><small>Partizipation</small></div>
|
||
|
||
<div class="gc gr">C · Verwaltung</div>
|
||
<div class="gc clickable" onclick="showField('C1')"><strong>C1</strong><br><small>Gleichstellung</small></div>
|
||
<div class="gc clickable" onclick="showField('C2')"><strong>C2</strong><br><small>Gemeinsame Ziele</small></div>
|
||
<div class="gc clickable" onclick="showField('C3')"><strong>C3</strong><br><small>Ökol. Verhalten</small></div>
|
||
<div class="gc clickable" onclick="showField('C4')"><strong>C4</strong><br><small>Gerechte Arbeit</small></div>
|
||
<div class="gc clickable" onclick="showField('C5')"><strong>C5</strong><br><small>Transparenz intern</small></div>
|
||
|
||
<div class="gc gr">D · Bürger:innen</div>
|
||
<div class="gc clickable" onclick="showField('D1')"><strong>D1</strong><br><small>Rechtsgleichheit</small></div>
|
||
<div class="gc clickable" onclick="showField('D2')"><strong>D2</strong><br><small>Gesamtwohl</small></div>
|
||
<div class="gc clickable" onclick="showField('D3')"><strong>D3</strong><br><small>Ökol. Leistung</small></div>
|
||
<div class="gc clickable" onclick="showField('D4')"><strong>D4</strong><br><small>Soz. Leistung</small></div>
|
||
<div class="gc clickable" onclick="showField('D5')"><strong>D5</strong><br><small>Demokratie</small></div>
|
||
|
||
<div class="gc gr">E · Gesellschaft</div>
|
||
<div class="gc clickable" onclick="showField('E1')"><strong>E1</strong><br><small>Zukunft</small></div>
|
||
<div class="gc clickable" onclick="showField('E2')"><strong>E2</strong><br><small>Beitrag Gesamtwohl</small></div>
|
||
<div class="gc clickable" onclick="showField('E3')"><strong>E3</strong><br><small>Ökol. Auswirkungen</small></div>
|
||
<div class="gc clickable" onclick="showField('E4')"><strong>E4</strong><br><small>Sozialer Ausgleich</small></div>
|
||
<div class="gc clickable" onclick="showField('E5')"><strong>E5</strong><br><small>Demokratie global</small></div>
|
||
</div>
|
||
|
||
<details style="font-size:12px;margin-top:8px;">
|
||
<summary style="cursor:pointer;color:var(--ecg-teal);font-weight:600;padding:4px 0;">Bewertungsskala</summary>
|
||
<table style="margin-top:6px;font-size:11px;">
|
||
<tr><th>Symbol</th><th>Rating</th><th>Bedeutung</th></tr>
|
||
<tr><td>++</td><td>+4 bis +5</td><td>Stark fördernd, vorbildlich</td></tr>
|
||
<tr><td>+</td><td>+1 bis +3</td><td>Fördernd</td></tr>
|
||
<tr><td>○</td><td>0</td><td>Neutral / nicht berührt</td></tr>
|
||
<tr><td>−</td><td>−1 bis −3</td><td>Widersprechend</td></tr>
|
||
<tr><td>−−</td><td>−4 bis −5</td><td>Stark widersprechend</td></tr>
|
||
</table>
|
||
</details>
|
||
</section>
|
||
|
||
<section id="pipeline">
|
||
<h2>Analyse-Pipeline</h2>
|
||
<div class="v2-kasten outline-blue">
|
||
<div class="pipeline-step">
|
||
<div class="step-num">1</div>
|
||
<div>
|
||
<strong>Antragstext laden</strong><br>
|
||
Der PDF-Volltext wird aus dem Landtags-Portal geholt
|
||
({{ adapter_count }} Parlamente angebunden). Nur echte Anträge und
|
||
Gesetzentwürfe werden analysiert — Kleine Anfragen werden übersprungen.
|
||
</div>
|
||
</div>
|
||
<div class="pipeline-step">
|
||
<div class="step-num">2</div>
|
||
<div>
|
||
<strong>Wahlprogramm-Passagen suchen</strong><br>
|
||
Per semantischer Suche ({{ embedding_model }}, 1024 Dimensionen) werden für
|
||
<strong>jede Fraktion</strong> die thematisch relevantesten Passagen aus
|
||
Wahl- und Grundsatzprogrammen gefunden. Aktuell {{ programme_count }} Programme
|
||
mit {{ chunk_count }} Textabschnitten indexiert.
|
||
</div>
|
||
</div>
|
||
<div class="pipeline-step">
|
||
<div class="step-num">3</div>
|
||
<div>
|
||
<strong>KI-Bewertung</strong><br>
|
||
Ein Sprachmodell ({{ model_name }}) bewertet den Antrag anhand der
|
||
GWÖ-Matrix und vergleicht ihn mit den gefundenen Programmpassagen.
|
||
Der Prompt erzwingt die Verwendung wörtlicher Zitate.
|
||
</div>
|
||
</div>
|
||
<div class="pipeline-step">
|
||
<div class="step-num">4</div>
|
||
<div>
|
||
<strong>Zitat-Verifikation</strong><br>
|
||
Jedes Zitat wird <strong>server-seitig verifiziert</strong>: der Text muss
|
||
als Substring im Original-PDF auffindbar sein. Quellenangabe und Seitenzahl
|
||
werden aus dem echten Treffer rekonstruiert — die Modell-Ausgabe wird für diese
|
||
Felder verworfen.
|
||
</div>
|
||
</div>
|
||
|
||
<details style="font-size:12px;margin-top:8px;">
|
||
<summary style="cursor:pointer;color:var(--ecg-teal);font-weight:600;padding:4px 0;">Technische Details</summary>
|
||
<table style="margin-top:6px;font-size:11px;">
|
||
<tr><th>Eigenschaft</th><th>Wert</th></tr>
|
||
<tr><td>Sprachmodell</td><td>{{ model_name }} (DashScope / Alibaba Cloud)</td></tr>
|
||
<tr><td>Embedding-Modell</td><td>{{ embedding_model }} (1024 Dimensionen)</td></tr>
|
||
<tr><td>Chunk-Größe</td><td>400 Wörter, 50 Wörter Overlap</td></tr>
|
||
<tr><td>Retry bei Parse-Fehlern</td><td>3 Versuche mit steigender Temperatur</td></tr>
|
||
<tr><td>Zitat-Verifikation</td><td>Substring- oder 5-Wort-Anker-Match gegen Original-PDF</td></tr>
|
||
</table>
|
||
</details>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="qualitaet">
|
||
<h2>Qualitätssicherung</h2>
|
||
<div class="v2-kasten outline-green">
|
||
<ul>
|
||
<li><strong>Automatische Zitat-Verifikation</strong> — jedes Zitat wird gegen das
|
||
Original-PDF geprüft. Nicht-verifizierbare Zitate werden verworfen.</li>
|
||
<li><strong>Typ-Filterung</strong> — nur abstimmbare Drucksachen (Anträge,
|
||
Gesetzentwürfe) werden bewertet.</li>
|
||
<li><strong>Automatische Neu-Analyse</strong> — wenn ein Zitat nicht auffindbar ist,
|
||
wird der Antrag mit der aktuellen Pipeline neu analysiert.</li>
|
||
<li><strong>Open Data</strong> — alle Bewertungen sind als JSON und CSV exportierbar
|
||
(CC BY 4.0).</li>
|
||
</ul>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="einschraenkungen">
|
||
<h2>Einschränkungen</h2>
|
||
<div class="v2-kasten outline-blue">
|
||
<ul>
|
||
<li><strong>Wertebasierte Einordnung, keine Rechtsprüfung</strong></li>
|
||
<li><strong>KI-Bias</strong> — Sprachmodelle können systematische Verzerrungen aufweisen. Bewertungen sind Orientierung, nicht objektive Wahrheit.</li>
|
||
<li><strong>Programmabhängig</strong> — Fraktionen ohne hinterlegtes Wahlprogramm erhalten keinen Programm-Vergleich.</li>
|
||
<li><strong>Antragstext, nicht Umsetzung</strong> — bewertet wird was im Antrag steht, nicht ob es umgesetzt wird.</li>
|
||
</ul>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="datenquellen">
|
||
<h2>Datenquellen</h2>
|
||
<div class="v2-kasten outline-green">
|
||
<p><strong>{{ adapter_count }} Parlamente</strong> angebunden:</p>
|
||
<table>
|
||
<tr><th>Parlament</th><th>System</th></tr>
|
||
{% for bl in bundeslaender %}
|
||
<tr><td>{{ bl.name }} ({{ bl.code }})</td><td>{{ bl.doku_system }}</td></tr>
|
||
{% endfor %}
|
||
</table>
|
||
<p style="margin-top:0.75rem;font-size:11px;">
|
||
<a href="/quellen">Programme & Quellen</a> ·
|
||
<a href="/api/auswertungen/export.json" download>Open Data (JSON)</a> ·
|
||
<a href="/api/feed.xml">Atom-Feed</a> ·
|
||
<a href="https://repo.toppyr.de/tobias/gwoe-antragspruefer" target="_blank">Quellcode</a>
|
||
</p>
|
||
</div>
|
||
</section>
|
||
|
||
</div>{# .meth-body #}
|
||
</div>{# .meth-layout #}
|
||
|
||
{% endblock %}
|
||
|
||
{% block body_scripts %}
|
||
<script>
|
||
const fieldInfo = {
|
||
"A1": { label: "Grundrechtsschutz in der Lieferkette", text: "<p><strong>Praxis:</strong> Wenn die öffentliche Hand Büromöbel, IT-Geräte oder Dienstkleidung beschafft: Unter welchen Bedingungen wurden diese hergestellt? Werden Lieferant:innen verpflichtet, Arbeitsschutzstandards und Menschenrechte einzuhalten?</p><p><strong>Theorie:</strong> Die GWÖ versteht Menschenwürde als unteilbar und kettenübergreifend. Das Feld A1 operationalisiert den Zusammenhang zwischen kommunaler Beschaffung und globalem Menschenrechtsschutz.</p>" },
|
||
"A2": { label: "Nutzen für die Gemeinde", text: "<p><strong>Praxis:</strong> Beauftragt die Kommune den Betrieb aus dem Ort — oder den billigsten Konzern aus dem Ausland? Bleiben Steuergelder in der Region?</p><p><strong>Theorie:</strong> Solidarität beginnt in der Nachbarschaft. Die GWÖ misst, ob die Beschaffungspolitik aktiv zur regionalen Wertschöpfung beiträgt.</p>" },
|
||
"A3": { label: "Ökologische Verantwortung in der Lieferkette", text: "<p><strong>Praxis:</strong> Werden bei öffentlichen Aufträgen Klimastandards verlangt? Kommt das Schulessen von regionalen Bauernhöfen?</p><p><strong>Theorie:</strong> Die ökologische Säule der GWÖ fordert, dass Umweltkosten nicht externalisiert werden.</p>" },
|
||
"A4": { label: "Soziale Verantwortung in der Lieferkette", text: "<p><strong>Praxis:</strong> Verdienen die Reinigungskräfte im Rathaus einen fairen Lohn? Werden Mindestlöhne kontrolliert?</p><p><strong>Theorie:</strong> Soziale Gerechtigkeit endet nicht am Werkstor.</p>" },
|
||
"A5": { label: "Rechenschaft und Mitsprache bei Beschaffung", text: "<p><strong>Praxis:</strong> Können Bürger:innen nachschauen, welche Firma den Auftrag bekommen hat — und warum? Gibt es ein öffentliches Vergaberegister?</p><p><strong>Theorie:</strong> Transparenz ist das Immunsystem der Demokratie. A5 misst, ob Beschaffungsprozesse nachvollziehbar sind.</p>" },
|
||
"B1": { label: "Ethisches Finanzgebaren", text: "<p><strong>Praxis:</strong> Liegt das Geld bei einer ethischen Bank — oder bei einer, die Waffengeschäfte finanziert? Gibt es ethische Anlagerichtlinien?</p><p><strong>Theorie:</strong> Die GWÖ betrachtet Geld als Mittel zum Zweck, nicht als Selbstzweck.</p>" },
|
||
"B2": { label: "Gemeinnutz im Finanzgebaren", text: "<p><strong>Praxis:</strong> Fließen Steuergelder in einen Radweg für alle — oder in eine Umgehungsstraße nur fürs Gewerbegebiet?</p><p><strong>Theorie:</strong> Solidarität in der Finanzpolitik heißt: öffentliches Geld dient öffentlichen Zwecken.</p>" },
|
||
"B3": { label: "Ökologische Verantwortung der Finanzpolitik", text: "<p><strong>Praxis:</strong> Investiert die Kommune in Solaranlagen? Werden Folgekosten des Klimawandels berücksichtigt?</p><p><strong>Theorie:</strong> Ökologische Nachhaltigkeit muss sich im Haushalt widerspiegeln.</p>" },
|
||
"B4": { label: "Soziale Verantwortung der Finanzpolitik", text: "<p><strong>Praxis:</strong> Bekommen ärmere Stadtteile genauso viel für Spielplätze wie reiche?</p><p><strong>Theorie:</strong> Soziale Gerechtigkeit erfordert bewusste Verteilungsentscheidungen.</p>" },
|
||
"B5": { label: "Partizipation in der Finanzpolitik", text: "<p><strong>Praxis:</strong> Gibt es einen Bürgerhaushalt? Werden Haushaltsentwürfe verständlich aufbereitet?</p><p><strong>Theorie:</strong> Demokratie braucht finanzielle Transparenz.</p>" },
|
||
"C1": { label: "Individuelle Rechts- und Gleichstellung", text: "<p><strong>Praxis:</strong> Werden Frauen gleich bezahlt? Gibt es Schutz vor Mobbing? Anonymisierte Bewerbungsverfahren?</p><p><strong>Theorie:</strong> Die Menschenwürde der Mitarbeitenden ist die Grundlage jeder guten Verwaltung.</p>" },
|
||
"C2": { label: "Gemeinsame Zielvereinbarung für das Gemeinwohl", text: "<p><strong>Praxis:</strong> Hat die Stadt ein Klimaschutzkonzept, das alle Ämter gemeinsam umsetzen?</p><p><strong>Theorie:</strong> Solidarität innerhalb der Verwaltung bedeutet: alle ziehen am selben Strang.</p>" },
|
||
"C3": { label: "Förderung ökologischen Verhaltens intern", text: "<p><strong>Praxis:</strong> Fahren Mitarbeitende mit dem Dienstrad oder dem SUV? Gibt es vegetarisches Essen in der Kantine?</p><p><strong>Theorie:</strong> Die Kommune hat eine Vorbildfunktion.</p>" },
|
||
"C4": { label: "Gerechte Verteilung von Arbeit", text: "<p><strong>Praxis:</strong> Können Eltern in der Verwaltung Teilzeit arbeiten ohne Karrierenachteile?</p><p><strong>Theorie:</strong> Soziale Gerechtigkeit beginnt beim eigenen Personal.</p>" },
|
||
"C5": { label: "Transparente Kommunikation intern", text: "<p><strong>Praxis:</strong> Können Bürger:innen die Sitzungsprotokolle online lesen?</p><p><strong>Theorie:</strong> Transparenz nach innen und außen ist die Voraussetzung für Vertrauen.</p>" },
|
||
"D1": { label: "Schutz des Individuums, Rechtsgleichheit", text: "<p><strong>Praxis:</strong> Werden Bürger:innen auf dem Amt fair behandelt — egal welchen Namen sie tragen?</p><p><strong>Theorie:</strong> Menschenwürde bedeutet: jeder Mensch hat den gleichen Wert.</p>" },
|
||
"D2": { label: "Gesamtwohl in der Gemeinde", text: "<p><strong>Praxis:</strong> Profitiert die ganze Stadt — oder nur ein Stadtteil, eine Altersgruppe?</p><p><strong>Theorie:</strong> Solidarität auf kommunaler Ebene heißt: das Gesamtwohl geht vor Partikularinteressen.</p>" },
|
||
"D3": { label: "Ökologische Gestaltung der öffentlichen Leistung", text: "<p><strong>Praxis:</strong> Kommt der Strom für die Straßenbeleuchtung aus Erneuerbaren?</p><p><strong>Theorie:</strong> Jede kommunale Dienstleistung hat einen ökologischen Fußabdruck.</p>" },
|
||
"D4": { label: "Soziale Gestaltung der öffentlichen Leistung", text: "<p><strong>Praxis:</strong> Kann sich die alleinerziehende Mutter den Kitaplatz leisten?</p><p><strong>Theorie:</strong> Soziale Gerechtigkeit in der Daseinsvorsorge ist der Kern kommunaler Politik.</p>" },
|
||
"D5": { label: "Transparente Kommunikation und demokratische Einbindung", text: "<p><strong>Praxis:</strong> Werden Bürger:innen gefragt, bevor die Straße vor ihrem Haus umgebaut wird?</p><p><strong>Theorie:</strong> Demokratie ist mehr als Wahlen alle vier Jahre.</p>" },
|
||
"E1": { label: "Menschenwürdiges Leben für zukünftige Generationen", text: "<p><strong>Praxis:</strong> Hinterlassen wir unseren Enkeln einen Schuldenberg — oder investieren wir heute so, dass auch 2050 gute Lebensbedingungen herrschen?</p><p><strong>Theorie:</strong> Die Menschenwürde hat eine zeitliche Dimension.</p>" },
|
||
"E2": { label: "Beitrag zum Gesamtwohl über die Gemeindegrenzen hinaus", text: "<p><strong>Praxis:</strong> Hilft der Antrag nur der eigenen Stadt — oder auch den Nachbargemeinden?</p><p><strong>Theorie:</strong> Solidarität endet nicht an der Gemeindegrenze.</p>" },
|
||
"E3": { label: "Verantwortung für ökologische Auswirkungen jenseits der Gemeinde", text: "<p><strong>Praxis:</strong> Denkt die Kommune beim Einkauf an den CO₂-Fußabdruck jenseits der eigenen Grenzen?</p><p><strong>Theorie:</strong> Die ökologische Krise ist global, aber die Verursachung ist lokal.</p>" },
|
||
"E4": { label: "Beitrag zum sozialen Ausgleich", text: "<p><strong>Praxis:</strong> Unterstützt die Stadt strukturschwache Regionen? Gibt es Fairtrade-Beschaffung?</p><p><strong>Theorie:</strong> Soziale Gerechtigkeit im globalen Maßstab ist die anspruchsvollste Dimension der GWÖ.</p>" },
|
||
"E5": { label: "Transparente und demokratische Mitbestimmung auf übergeordneter Ebene", text: "<p><strong>Praxis:</strong> Setzt sich die Kommune für mehr Demokratie ein — auch auf Landes- und Bundesebene?</p><p><strong>Theorie:</strong> Demokratie braucht Fürsprecher auf allen Ebenen.</p>" },
|
||
};
|
||
|
||
function showField(code) {
|
||
const info = fieldInfo[code];
|
||
if (!info) return;
|
||
const el = document.getElementById('field-explain');
|
||
document.getElementById('field-explain-title').textContent = code + ': ' + info.label;
|
||
document.getElementById('field-explain-text').innerHTML = info.text;
|
||
el.style.display = 'block';
|
||
el.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
|
||
}
|
||
</script>
|
||
{% endblock %}
|