feat: Block 2.2 — BUND WP20 (BTW 2021, Scholz-Ampel) historisch indiziert

7 Wahlprogramme zur BTW 26.09.2021 — die Programme der Scholz-Ampel-Periode
(SPD+GRÜNE+FDP, vereidigt 08.12.2021, vorgezogenes Ende 25.03.2025):

- cdu-bund-2021 (gemeinsam CDU/CSU "Stabilitaet und Erneuerung", 140 S., 232 chunks)
- csu-bund-2021 (eigenstaendige CSU-Bayern-Fokus-Variante, 18 S., 24 chunks)
- spd-bund-2021 (Zukunftsprogramm "Aus Respekt vor Deiner Zukunft", 66 S., 105 chunks)
- gruene-bund-2021 (272 S. barrierefreie Fassung, 269 chunks)
- fdp-bund-2021 (Beschluss 14.-16.05.2021 Berlin, 68 S., 136 chunks)
- afd-bund-2021 ("Deutschland. Aber normal.", 210 S., 160 chunks)
- linke-bund-2021 ("Zeit zu handeln!", 168 S., 324 chunks)

Total: 1.250 Chunks.

Geltungszeitraum 2021-09-26 (Wahltag) bis 2025-02-23 (Wahltag BTW 2025,
exklusiv). Antraege aus dieser Periode bekommen jetzt automatisch das
korrekte Programm zurueckgeliefert via wahlprogramm_zum_zeitpunkt():

- 2024-01-01 BUND/SPD -> spd-bund-2021 (Scholz-Ampel)
- 2025-02-22 BUND/SPD -> spd-bund-2021 (noch alt)
- 2025-02-23 BUND/SPD -> spd-bund-2025 (BTW-Wahltag, Wechsel)

Tests: 117 gruen, plus neue test_bund_2024_returns_btw_2021 und
test_bund_grenze_btw_2021_btw_2025.

Block 2.2 abgeschlossen — Block 2 Roadmap (16 BL × 3 WPs) ist 2/16 BL.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dotty Dotter 2026-05-08 10:25:51 +02:00
parent 445fcc90ca
commit e04eb6d340
11 changed files with 8669 additions and 3 deletions

View File

@ -435,6 +435,81 @@ PROGRAMME = {
"afd-bund-2025": {"name": "AfD Bundestagswahlprogramm 2025", "typ": "wahlprogramm", "partei": "AfD", "bundesland": "BUND", "pdf": "afd-bund-2025.pdf"},
"linke-bund-2025": {"name": "DIE LINKE Wahlprogramm Bundestagswahl 2025", "typ": "wahlprogramm", "partei": "LINKE", "bundesland": "BUND", "pdf": "linke-bund-2025.pdf"},
"bsw-bund-2025": {"name": "BSW Wahlprogramm Bundestagswahl 2025", "typ": "wahlprogramm", "partei": "BSW", "bundesland": "BUND", "pdf": "bsw-bund-2025.pdf"},
# Bundestag WP20 — historisch (BTW 26.09.2021, Kabinett Scholz I Ampel
# SPD+GRÜNE+FDP). Geltung ab Wahltag 2021-09-26 bis Wahltag BTW 2025
# (2025-02-23, exklusiv). 7 Parteien (CDU+CSU als getrennte Eintraege —
# CSU hat eigenstaendige Bayern-Fokus-Version zusaetzlich zum
# gemeinsamen CDU/CSU-Programm).
"cdu-bund-2021": {
"name": "CDU/CSU Programm fuer Stabilitaet und Erneuerung 2021",
"typ": "wahlprogramm",
"partei": "CDU",
"bundesland": "BUND",
"pdf": "cdu-bund-2021.pdf",
"gueltig_ab": "2021-09-26",
"gueltig_bis": "2025-02-23",
"wp": 20,
},
"csu-bund-2021": {
"name": "CSU-Programm Bundestagswahl 2021",
"typ": "wahlprogramm",
"partei": "CSU",
"bundesland": "BUND",
"pdf": "csu-bund-2021.pdf",
"gueltig_ab": "2021-09-26",
"gueltig_bis": "2025-02-23",
"wp": 20,
},
"spd-bund-2021": {
"name": "SPD Zukunftsprogramm Bundestagswahl 2021",
"typ": "wahlprogramm",
"partei": "SPD",
"bundesland": "BUND",
"pdf": "spd-bund-2021.pdf",
"gueltig_ab": "2021-09-26",
"gueltig_bis": "2025-02-23",
"wp": 20,
},
"gruene-bund-2021": {
"name": "Gruene Bundestagswahlprogramm 2021",
"typ": "wahlprogramm",
"partei": "GRÜNE",
"bundesland": "BUND",
"pdf": "gruene-bund-2021.pdf",
"gueltig_ab": "2021-09-26",
"gueltig_bis": "2025-02-23",
"wp": 20,
},
"fdp-bund-2021": {
"name": "FDP Wahlprogramm Bundestagswahl 2021",
"typ": "wahlprogramm",
"partei": "FDP",
"bundesland": "BUND",
"pdf": "fdp-bund-2021.pdf",
"gueltig_ab": "2021-09-26",
"gueltig_bis": "2025-02-23",
"wp": 20,
},
"afd-bund-2021": {
"name": "AfD Bundestagswahlprogramm 2021",
"typ": "wahlprogramm",
"partei": "AfD",
"bundesland": "BUND",
"pdf": "afd-bund-2021.pdf",
"gueltig_ab": "2021-09-26",
"gueltig_bis": "2025-02-23",
"wp": 20,
},
"linke-bund-2021": {
"name": "DIE LINKE Bundestagswahlprogramm 2021",
"typ": "wahlprogramm",
"partei": "LINKE",
"bundesland": "BUND",
"pdf": "linke-bund-2021.pdf",
"gueltig_ab": "2021-09-26",
"gueltig_bis": "2025-02-23",
"wp": 20,
},
}

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -67,6 +67,48 @@ BB:
jahr: 2024
sha256: ""
# Bundestagswahl 26.09.2021 — Kabinett Scholz I "Ampel" (SPD+GRÜNE+FDP),
# vereidigt 08.12.2021, vorgezogenes Ende 25.03.2025. Geltungszeitraum
# der Programme: Wahltag 2021-09-26 bis Wahltag der Folge-BTW 2025-02-23.
# Quellen: Parteiwebseiten (csu.de, spd.de, cms.gruene.de, fdp.de,
# afd.de, die-linke.de). Recherche 2026-05-08.
BUND_WP20:
CDU:
- url: https://www.csu.de/common/download/Regierungsprogramm.pdf
titel: "Das Programm für Stabilität und Erneuerung. Gemeinsam für ein modernes Deutschland — Regierungsprogramm von CDU und CSU zur Bundestagswahl 2021 (Beschluss Juni 2021, Berlin; gemeinsame CDU/CSU-Fassung)"
jahr: 2021
sha256: "92792dea70ca5c2ed1c78571fd223a592bf9983d339599e12a00469c7977382d"
CSU:
- url: https://www.csu.de/common/download/CSU-Programm_Gut_fuer_Bayern_Gut_fuer_Deutschland_final.pdf
titel: "Das CSU-Programm. Gut für Bayern. Gut für Deutschland. — eigenständiges CSU-Programm zur Bundestagswahl 2021 (Beschluss Parteivorstand 23.07.2021, Tegernsee; ergänzt das gemeinsame CDU/CSU-Programm)"
jahr: 2021
sha256: "f98df23ddfbffbb13e44c01e74118357c4da875cf8a122cca498b3c5e4d70a29"
SPD:
- url: https://www.spd.de/fileadmin/Dokumente/Beschluesse/Programm/SPD-Zukunftsprogramm.pdf
titel: "Aus Respekt vor Deiner Zukunft. Das Zukunftsprogramm der SPD — Wofür wir stehen. Was uns antreibt. Wonach wir streben. (Beschluss Bundesparteitag 09.05.2021)"
jahr: 2021
sha256: "2674e1db4c5037bf77a3675fc44db70a03f1d81fc3315d5c7392277d70077e82"
GRÜNE:
- url: https://cms.gruene.de/uploads/assets/Wahlprogramm-DIE-GRUENEN-Bundestagswahl-2021_barrierefrei.pdf
titel: "Deutschland. Alles ist drin. — Bundestagswahlprogramm 2021 von BÜNDNIS 90/DIE GRÜNEN (Beschluss 46. Bundesdelegiertenkonferenz 11.13.06.2021, digital; barrierefreie Fassung)"
jahr: 2021
sha256: "96e2c2125af4b32c94e3f32af67a998d76f22246412193c5819f0ba5a7d6a432"
FDP:
- url: https://www.fdp.de/sites/default/files/2021-08/FDP_BTW2021_Wahlprogramm.pdf
titel: "Nie gab es mehr zu tun. — Wahlprogramm der Freien Demokraten zur Bundestagswahl 2021 (Beschluss 72. Ord. Bundesparteitag 14.16.05.2021, digital)"
jahr: 2021
sha256: "e8916ba24a298b078af9dc13fc211a31dcfc2da8b1b55febaecc6ac54552dc4c"
AfD:
- url: https://www.afd.de/wp-content/uploads/2021/06/20210611_AfD_Programm_2021.pdf
titel: "Deutschland. Aber normal. — Programm der Alternative für Deutschland für die Wahl zum 20. Deutschen Bundestag (Beschluss Bundesparteitag 11.04.2021, Dresden)"
jahr: 2021
sha256: "87355e96d7cd60a4047f33c765faa62459c1ce790bfc3d713c69eb6073c43eff"
LINKE:
- url: https://www.die-linke.de/fileadmin/download/wahlen2021/Wahlprogramm/DIE_LINKE_Wahlprogramm_zur_Bundestagswahl_2021.pdf
titel: "Zeit zu handeln! Für soziale Sicherheit, Frieden und Klimagerechtigkeit — Wahlprogramm DIE LINKE zur Bundestagswahl 2021 (Beschluss Bundesparteitag 19.20.06.2021)"
jahr: 2021
sha256: "1ff28ede0916845c256db9c567ec4f361f861b0c1dd2234aadb78dc50b8687d1"
# 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.

View File

@ -1,6 +1,7 @@
{
"afd-bb-2024.pdf": "da5cd04cc66128b2f0df35b47775fce850ed2f4145ee15d74ec8bf501ce043f1",
"afd-be-2023.pdf": "d2b5997b1bc0d3fb590cc354d8ed1ac879e8de4a74518f4089436a2fa12615f1",
"afd-bund-2021.pdf": "87355e96d7cd60a4047f33c765faa62459c1ce790bfc3d713c69eb6073c43eff",
"afd-bund-2025.pdf": "e2d0a944f54017aa432bcd0c069c7908aefb3ea65af4904e7f86ca7c7bd0d4bb",
"afd-bw-2021.pdf": "a438e09279c6c5766171a213715ed0a9d60248ff86f648227e8bb6ec59a591c7",
"afd-grundsatzprogramm.pdf": "b35026580c8610ab81c67760743497695b06e30466255586d089d4715297bead",
@ -16,6 +17,7 @@
"bsw-th-2024.pdf": "5ace33912083048a759ee2af9288248447363dafa21f569c5c056df22751ba69",
"cdu-bb-2024.pdf": "460b1463483429f9e8b84e4ae6ef9cf878dd228e108411bed3c153169a0001e8",
"cdu-be-2023.pdf": "813d0d08ac8ce7381e9a7b9472e0616aaf684b1632c9d4a7f4e940a33455f29a",
"cdu-bund-2021.pdf": "92792dea70ca5c2ed1c78571fd223a592bf9983d339599e12a00469c7977382d",
"cdu-bund-2025.pdf": "08f751316e731b77aa2f18090b8695d88268f2942481399f37a3a47317361795",
"cdu-bw-2021.pdf": "a92c104c456ce06d8bad6649071551e0ec0d525a1bc0bc31e9fa6a0566da4db0",
"cdu-grundsatz-lsa-2023.pdf": "d2fc731319ececdb7dc97d34266311dcbf7f3f42c2184424bb722c7f6046e107",
@ -30,8 +32,10 @@
"cdu-rp-2021.pdf": "54c50d88bdf5c5f7dee5abcc981ffb4d1cfd5c86fbf2a29f4f2f4a8a3dd4797a",
"cdu-sh-2022.pdf": "39b79a22e904b300cf1bbc25752b618195683c90c31e6b10c3bc0e8408aa6a1a",
"cdu-th-2024.pdf": "cde8d2222bd8ce04aee24883a38dab8a30f5d60cda115b8bb2f43ceffa08b730",
"csu-bund-2021.pdf": "f98df23ddfbffbb13e44c01e74118357c4da875cf8a122cca498b3c5e4d70a29",
"csu-bund-2025.pdf": "c07fe4b65404be9b4c1b99ec9c970567a96a27b86a1154754a41e9ef31d0c04f",
"csu-grundsatz-2023.pdf": "a2a024e40d7d0d7dd75bf133ca95486b7115b24307a445d215fc7be397626071",
"fdp-bund-2021.pdf": "e8916ba24a298b078af9dc13fc211a31dcfc2da8b1b55febaecc6ac54552dc4c",
"fdp-bund-2025.pdf": "a549dcb318f60fdd8a257fb2e68745d1df50151f4914910e2afde20c3b0fa039",
"fdp-bw-2021.pdf": "bdcbb1b2e5748922c8347bd69ea6f81c954fd02cd220d448400f9a5a86ce914b",
"fdp-grundsatzprogramm.pdf": "9abb6570c3505271b1f43db2a8340c05b970a7934d0c1b2542403025affe2b13",
@ -44,6 +48,7 @@
"fw-grundsatz.pdf": "7b671900eea315ab2c0a396f2b1583f84d48e3b7a5ae60286ae31e4f60a1e1cd",
"fw-rp-2021.pdf": "c7f26d553f24c9d9fcf1c2edb1dbe558edc1ca65af68b289a1541e77f7bbeea8",
"gruene-be-2023.pdf": "2b14a319cdcd2ca022399254ea285714f872eddd166f3f537861eeb2dc5ade80",
"gruene-bund-2021.pdf": "96e2c2125af4b32c94e3f32af67a998d76f22246412193c5819f0ba5a7d6a432",
"gruene-bund-2025.pdf": "0d1f7530ddecadc8d98db15b2189f3ee4ddcccd9619df825703911f1aac18dda",
"gruene-bw-2021.pdf": "9af526705cb10b91be0690b26c9c033668a8082eeefca482dc4e7a46f2d671f9",
"gruene-grundsatzprogramm.pdf": "36c68616286bc5df94cadbe176c72c515a6ed403cc246d221244a882f30b0834",
@ -55,6 +60,7 @@
"gruene-rp-2021.pdf": "4fd68629d1560c28d61b2b913fd20ce6ad9a76b22823fd8496e51bfaf70dc19c",
"gruene-sh-2022.pdf": "62870c948c9e05663125b051d3a6401d63952ea6a64e4140dcece7bd1b1aea52",
"linke-be-2023.pdf": "7d6a9166f6a1d87ba26cc1a2818ae2b844ee9df6ed6668673f329dd5186fd956",
"linke-bund-2021.pdf": "1ff28ede0916845c256db9c567ec4f361f861b0c1dd2234aadb78dc50b8687d1",
"linke-bund-2025.pdf": "301bd30a5fcd2a7e791adc4db5294e79d8f3fd71b8c9b080b057f14bf8cae600",
"linke-grundsatzprogramm.pdf": "b5b2b19f5eea4cb22816eca6f2988bcc6cffa4c0cc499411bf131e866fae4e16",
"linke-hh-2025.pdf": "15e68efe3818758a7cefc0a3e3095a5a5fb191111c00a1202c563cee43ce6e40",
@ -63,6 +69,7 @@
"linke-th-2024.pdf": "2d8ca99ef60cbe1b59cf33b1e37320d66a057e5136c2f49aa8cde77e4a19533a",
"spd-bb-2024.pdf": "4131f63fbb9d67cd8948ca7a54f1c140b47968c77454a3dabe6bcdc4384f63d3",
"spd-be-2023.pdf": "4ee84e969e97894742673f940ec030883216ce852b729507327f8bced637d03b",
"spd-bund-2021.pdf": "2674e1db4c5037bf77a3675fc44db70a03f1d81fc3315d5c7392277d70077e82",
"spd-bund-2025.pdf": "05aeb9eb19fd423288d94de1d15cabcddbcb9bb1ecf65237657d10e4839b9d7e",
"spd-bw-2021.pdf": "d888ae92bb62a61aaa4d6ac8dc22c2c98d1a2227b6ba223b6422770672825072",
"spd-grundsatzprogramm.pdf": "0290ae8870e2deeeec4f93227264fef9f6dbbc56572a2ba29e93d8bd1c0de7cd",

View File

@ -128,10 +128,21 @@ class TestWahlprogrammZumZeitpunkt:
assert p is not None
assert p["id"] == "spd-bund-2025"
def test_bund_btw_2025_vor_wahl(self):
# Vor BTW 2025 (vor 2025-02-23) kein Bund-Wahlprogramm indiziert.
def test_bund_2024_returns_btw_2021(self):
# Antrag aus 2024-01-01 liegt im Geltungszeitraum von BTW 2021
# (Scholz-Ampel-Programm, gueltig 2021-09-26 bis 2025-02-23).
p = wahlprogramm_zum_zeitpunkt("BUND", "SPD", "2024-01-01")
assert p is None
assert p is not None
assert p["id"] == "spd-bund-2021"
assert p["wp"] == 20
def test_bund_grenze_btw_2021_btw_2025(self):
# Tag vor BTW 2025: Scholz-Ampel-Programm gilt noch.
p_alt = wahlprogramm_zum_zeitpunkt("BUND", "SPD", "2025-02-22")
assert p_alt["id"] == "spd-bund-2021"
# Wahltag BTW 2025: neues Programm gilt.
p_neu = wahlprogramm_zum_zeitpunkt("BUND", "SPD", "2025-02-23")
assert p_neu["id"] == "spd-bund-2025"
def test_datum_vor_aktueller_wp_nrw_wp17(self):
# Antrag aus 2018 in NRW: WP17-Programm (cdu-nrw-2017) gilt