feat(#139,#129,#138,#141): v2-Frontend (ECOnGOOD-CD), Login-Modal, Auto-DL, OG-Cards
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>
2026-04-25 20:55:57 +02:00
|
|
|
# Kuratierte URL-Kandidaten für fehlende Wahlprogramme (#138).
|
|
|
|
|
# Gepflegt als Admin-Aufgabe — nur halbautomatisch (kein Auto-Download).
|
|
|
|
|
#
|
|
|
|
|
# Struktur:
|
|
|
|
|
# BL:
|
|
|
|
|
# PARTEI:
|
|
|
|
|
# - url: https://...
|
|
|
|
|
# titel: "Vollständiger Programm-Titel"
|
|
|
|
|
# jahr: 2024
|
|
|
|
|
# sha256: "" # optional; nach erstem Download ausfüllen
|
|
|
|
|
#
|
|
|
|
|
# Einträge hier landen in `suggest_candidates(bl, partei)`.
|
|
|
|
|
# Nur PDFs, keine Webseiten.
|
|
|
|
|
|
|
|
|
|
NRW:
|
|
|
|
|
BSW:
|
|
|
|
|
- url: https://bsw-nrw.de/wp-content/uploads/wahlprogramm-bsw-nrw-2022.pdf
|
|
|
|
|
titel: "BSW NRW Wahlprogramm 2022 (Platzhalter — URL prüfen)"
|
|
|
|
|
jahr: 2022
|
|
|
|
|
sha256: ""
|
|
|
|
|
|
|
|
|
|
TH:
|
|
|
|
|
FDP:
|
|
|
|
|
- url: https://www.fdp-thueringen.de/files/fdp-th-wahlprogramm-2024.pdf
|
|
|
|
|
titel: "FDP Thüringen Wahlprogramm 2024 (Platzhalter — URL prüfen)"
|
|
|
|
|
jahr: 2024
|
|
|
|
|
sha256: ""
|
|
|
|
|
|
|
|
|
|
BB:
|
|
|
|
|
LINKE:
|
|
|
|
|
- url: https://www.dielinke-bb.de/fileadmin/lb/Dokumente/wahlprogramm-linke-bb-2024.pdf
|
|
|
|
|
titel: "DIE LINKE Brandenburg Wahlprogramm 2024 (Platzhalter — URL prüfen)"
|
|
|
|
|
jahr: 2024
|
|
|
|
|
sha256: ""
|
|
|
|
|
GRÜNE:
|
|
|
|
|
- url: https://gruene-bb.de/wp-content/uploads/wahlprogramm-gruene-bb-2024.pdf
|
|
|
|
|
titel: "BÜNDNIS 90/DIE GRÜNEN Brandenburg Wahlprogramm 2024 (Platzhalter — URL prüfen)"
|
|
|
|
|
jahr: 2024
|
|
|
|
|
sha256: ""
|
chore: konsolidiere Working-Tree mit dev-Stand nach Nextcloud-Sync-Resolution
Mehrtaegiger Sync-Stillstand hatte ueber 50 conflicted-copy-Dateien im
Working-Tree erzeugt. Die jeweils neuere Version wurde basierend auf
md5-Hash-Vergleich zum laufenden gwoe-antragspruefer-dev-Container
eingespielt.
Konsolidiert (38 modifiziert):
- analyzer.py, auswertungen.py, auth.py, config.py, database.py,
drucksache_typen.py, embeddings.py, main.py, models.py, parlamente.py,
ports/llm_bewerter.py, presse_generator.py, redline_utils.py, report.py,
validators.py, wahlprogramm_fetch.py, wahlprogramm-links.yaml,
wahlprogramm-shas.lock.json
- v2-Templates: base, components/{icon, matrix_mini, queue_widget,
result_row}, screens/{admin_queue, admin_stand, aktuelle-themen,
antrag_detail, auswertungen, cluster, landtag_suche, merkliste,
methodik, tags}, static/v2/v2.css
- Tests: test_embeddings (Strict-Mode-Drop in reconstruct_zitate),
test_endpoints_smoke, test_presse_generator, test_report,
test_wahlprogramme (mit TestRegierungsbildung-Block, +120 LOC)
- docker-compose.dev.yml, docs/adr/index.md, docs/reference/api.md, mkdocs.yml
Neuzugaenge:
- app/marker.py, app/pm_render.py — Konsistenz-Marker, PM-Render-Adapter
- app/templates/v2/screens/scorecard{,_portrait,_werkstatt}.html — Cloud-Design-Scorecard
- app/static/v3/, app/templates/v3/ — v3-Layout-Hierarchie
- docs/adr/0010-stimmverhalten-gwoe-aggregat.md
- docs/adr/0011-aktuelle-themen-pm-generator.md
- docs/adr/0012-debug-auth-token-bypass.md
- scripts/{auto-rate-orphans, pm-quality-audit, pm-sample-bundle, rotate-debug-token}.sh
- tests/e2e/test_smoke_browser.py, tests/test_{auto_rate_runs, icons,
marker, pm_render, presse_generator_style, thread_splitter,
v2_pdf_consistency}.py
Plus inhaltlich uebernommen aus dem Conflict-Stand:
- embeddings.py: fw-by-2023.partei korrigiert von "FW" zu "FREIE WAEHLER"
(war Mismatch zu wahlprogramme.py)
- embeddings.py: detailliertere Naming der BTW-2025-Wahlprogramme
Test-Suite-Stand: 1209 passed, 73 skipped (4 pre-existing failures in
test_presse_generator_style.py + 1 collection error in
integration/test_citations_substring.py — beide nicht durch dieses
Konsolidierungs-Commit verursacht).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 00:04:21 +02:00
|
|
|
|
|
|
|
|
# Bundestagswahl 23.02.2025 — Kabinett Merz I, vereidigt 06.05.2025.
|
|
|
|
|
# Quellen: Parteiwebseiten (cdu.de, csu.de, spd.de, gruene.de, fdp.de,
|
|
|
|
|
# afd.de, die-linke.de, bsw-vg.de). Recherche 2026-05-07.
|
|
|
|
|
BUND:
|
|
|
|
|
CDU:
|
|
|
|
|
- url: https://www.cdu.de/app/uploads/2025/01/km_btw_2025_wahlprogramm_langfassung_ansicht.pdf
|
|
|
|
|
titel: "Politikwechsel für Deutschland — Wahlprogramm von CDU und CSU zur Bundestagswahl 2025 (Langfassung)"
|
|
|
|
|
jahr: 2025
|
|
|
|
|
sha256: "08f751316e731b77aa2f18090b8695d88268f2942481399f37a3a47317361795"
|
|
|
|
|
CSU:
|
|
|
|
|
- url: https://www.csu.de/common/download/Wahlprogramm_2025_von_CDU_und_CSU.pdf
|
|
|
|
|
titel: "Politikwechsel für Deutschland — Wahlprogramm von CDU und CSU zur Bundestagswahl 2025 (CSU-Verteilungsversion)"
|
|
|
|
|
jahr: 2025
|
|
|
|
|
sha256: "c07fe4b65404be9b4c1b99ec9c970567a96a27b86a1154754a41e9ef31d0c04f"
|
|
|
|
|
SPD:
|
|
|
|
|
- url: https://www.spd.de/fileadmin/Dokumente/Beschluesse/Programm/2025_SPD_Regierungsprogramm.pdf
|
|
|
|
|
titel: "Mehr für Dich. Besser für Deutschland. — Regierungsprogramm der SPD zur Bundestagswahl 2025"
|
|
|
|
|
jahr: 2025
|
|
|
|
|
sha256: "05aeb9eb19fd423288d94de1d15cabcddbcb9bb1ecf65237657d10e4839b9d7e"
|
|
|
|
|
GRÜNE:
|
|
|
|
|
- url: https://cms.gruene.de/uploads/assets/20250205_Regierungsprogramm_DIGITAL_DINA5.pdf
|
|
|
|
|
titel: "Zusammen wachsen — Regierungsprogramm BÜNDNIS 90/DIE GRÜNEN zur Bundestagswahl 2025"
|
|
|
|
|
jahr: 2025
|
|
|
|
|
sha256: "0d1f7530ddecadc8d98db15b2189f3ee4ddcccd9619df825703911f1aac18dda"
|
|
|
|
|
FDP:
|
|
|
|
|
- url: https://www.fdp.de/sites/default/files/2024-12/fdp-wahlprogramm_2025.pdf
|
|
|
|
|
titel: "Alles lässt sich ändern — Wahlprogramm der Freien Demokraten zur Bundestagswahl 2025"
|
|
|
|
|
jahr: 2025
|
|
|
|
|
sha256: "a549dcb318f60fdd8a257fb2e68745d1df50151f4914910e2afde20c3b0fa039"
|
|
|
|
|
AfD:
|
|
|
|
|
- url: https://www.afd.de/wp-content/uploads/2025/02/AfD_Bundestagswahlprogramm2025_web.pdf
|
|
|
|
|
titel: "Programm der Alternative für Deutschland — Bundestagswahl 2025"
|
|
|
|
|
jahr: 2025
|
|
|
|
|
sha256: "e2d0a944f54017aa432bcd0c069c7908aefb3ea65af4904e7f86ca7c7bd0d4bb"
|
|
|
|
|
LINKE:
|
|
|
|
|
- url: https://www.die-linke.de/fileadmin/user_upload/Wahlprogramm_Langfassung_Linke-BTW25_01.pdf
|
|
|
|
|
titel: "Du verdienst mehr — Wahlprogramm DIE LINKE zur Bundestagswahl 2025 (Langfassung)"
|
|
|
|
|
jahr: 2025
|
|
|
|
|
sha256: "301bd30a5fcd2a7e791adc4db5294e79d8f3fd71b8c9b080b057f14bf8cae600"
|
|
|
|
|
BSW:
|
|
|
|
|
- url: https://bsw-vg.de/wp-content/themes/bsw/assets/downloads/BSW%20Wahlprogramm%202025.pdf
|
|
|
|
|
titel: "Unser Land verdient mehr — Wahlprogramm Bündnis Sahra Wagenknecht zur Bundestagswahl 2025"
|
|
|
|
|
jahr: 2025
|
|
|
|
|
sha256: "bd4640aab7c6ff214becc7e44bc6dc67539ebd80992bb39fb8853839d3a7ccda"
|
feat: 6 Grundsatzprogramme + Landesgrundsatzprogramme indiziert
Neu in embeddings.PROGRAMME (typ=parteiprogramm mit gueltig_ab):
- csu-grundsatz: CSU "Für ein neues Miteinander" (2023-05-06, 125 chunks)
ersetzt das bisher indizierte CSU 2016-Programm logisch
- cdu-grundsatz-nrw: CDU NRW "Aufstieg, Sicherheit, Perspektive"
(2015-06-13, Landesgrundsatzprogramm, 127 chunks)
- cdu-grundsatz-sn: CDU Sachsen "Zukunftsplan für Sachsen"
(2023-11-20, Landesgrundsatzprogramm, 52 chunks)
- cdu-grundsatz-lsa: CDU Sachsen-Anhalt "Unsere Verantwortung. Unsere
Zukunft." (2023-09-30, Landesgrundsatzprogramm, 74 chunks)
- ssw-grundsatz: SSW Rahmenprogramm (2016-04-16, Landesgrundsatzprogramm
für Schleswig-Holstein, 65 chunks)
- fw-grundsatz: FREIE WAEHLER Bundesgrundsatzprogramm (Stand 09/2025;
FW nicht im Bundestag, gilt fuer FW Bayern + FW RLP, 43 chunks)
programme.py:
- _migrate_from_legacy() unterscheidet jetzt grundsatzprogramm-bund
(bundesland=None) und grundsatzprogramm-land (bundesland gesetzt).
- _ADDITIONAL_PROGRAMME-Slot vereinfacht — alle Daten leben in
embeddings.PROGRAMME.
Auf gwoe-antragspruefer-dev indiziert (text-embedding-v4):
486 neue Chunks, 0 failed. wahlprogramm-shas.lock.json + -links.yaml
gepinnt mit allen 6 SHA-256-Hashes.
Test-Suite: 88 grün (test_legislaturen + test_wahlprogramme + test_embeddings).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 00:30:06 +02:00
|
|
|
|
|
|
|
|
# Grundsatzprogramme (Bundes- und Landesebene). Recherche 2026-05-07.
|
|
|
|
|
# Liegen unter `app/static/referenzen/<datei>.pdf`; URLs hier zur Provenance-Doku.
|
|
|
|
|
GRUNDSATZ:
|
|
|
|
|
CSU:
|
|
|
|
|
- url: https://www.csu.de/common/download/CSU_Grundsatzprogramm_2023.pdf
|
|
|
|
|
titel: "Für ein neues Miteinander — Grundsatzprogramm der CSU"
|
|
|
|
|
jahr: 2023
|
|
|
|
|
sha256: "a2a024e40d7d0d7dd75bf133ca95486b7115b24307a445d215fc7be397626071"
|
|
|
|
|
CDU_NRW:
|
|
|
|
|
- url: https://www.cdu-kreis-soest.de/image/inhalte/file/grundsatzprogramm_cdu_nrw.pdf
|
|
|
|
|
titel: "Aufstieg, Sicherheit, Perspektive — Das Nordrhein-Westfalen-Programm der CDU NRW"
|
|
|
|
|
jahr: 2015
|
|
|
|
|
sha256: "379e7f33854f3fabcb1337b53e763ab58bb8962ae16ef39cf102243ddfe9db1f"
|
|
|
|
|
CDU_SN:
|
|
|
|
|
- url: https://www.cdu-sachsen.de/Dateien/zukunftsplan-fuer-sachsen/17504452
|
|
|
|
|
titel: "Zukunftsplan für Sachsen — Grundsatzprogramm der CDU Sachsen (38. Landesparteitag Chemnitz)"
|
|
|
|
|
jahr: 2023
|
|
|
|
|
sha256: "fe203bcad9bef4d037820eab3f8d19f3f30db4cd801576aff4ab170699409721"
|
|
|
|
|
CDU_LSA:
|
|
|
|
|
- url: https://www.cdulsa.de/sites/www.cdulsa.de/files/publikationen/grundsatzprogrammcdulsa.pdf
|
|
|
|
|
titel: "Sachsen-Anhalt. Unsere Verantwortung. Unsere Zukunft. — Grundsatzprogramm der CDU Sachsen-Anhalt"
|
|
|
|
|
jahr: 2023
|
|
|
|
|
sha256: "d2fc731319ececdb7dc97d34266311dcbf7f3f42c2184424bb722c7f6046e107"
|
|
|
|
|
SSW:
|
|
|
|
|
- url: https://www.ssw.de/fileadmin/user_upload/daten/allgemein/Informationsmaterial/SSWRammeprogram.pdf
|
|
|
|
|
titel: "Rahmenprogramm des Südschleswigschen Wählerverbandes (SSW)"
|
|
|
|
|
jahr: 2016
|
|
|
|
|
sha256: "f4530674c7898365eed391b0aef89b89760e0afa6a6e1a5f85dab0eeb797e8e5"
|
|
|
|
|
FW:
|
|
|
|
|
- url: https://wp.freiewaehler.eu/wp-content/uploads/2025/09/Grundsatzprogramm.pdf
|
|
|
|
|
titel: "Bundesgrundsatzprogramm der FREIEN WÄHLER"
|
|
|
|
|
jahr: 2025
|
|
|
|
|
sha256: "7b671900eea315ab2c0a396f2b1583f84d48e3b7a5ae60286ae31e4f60a1e1cd"
|