Adapter-Bugs aus erstem Sub-A/B-Live-Run: TH leerer Link, BB/RP Type-Filter, BB Datum, BE get_document #61
Labels
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: tobias/gwoe-antragspruefer#61
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Befund (autonomer Roadmap-Run #59)
Erster Live-Lauf der E2E-Tests Sub-A (
test_adapters_live.py) und Sub-B (test_frontend_xref.py) im Production-Container hat 5 echte Adapter-Bugs in 4 Bundesländern aufgedeckt. Die Test-False-Positives wurden bereits separat in Commit6ebd7aa(Sub-B Ground-Truth) undb76c08d(Sub-D Härtung) behoben.Bugs
1. HOCH — TH ParlDok: leere
link-URLFile:
app/parlamente.py(ParLDokAdapter, TH-Pfad)Sub-A
test_first_result_pdf_link_reachable[TH]:Sub-B
test_adapter_finds_known_drucksache[TH]:Der TH-Adapter liefert systematisch
link=''. Das bricht die analyzer-Pipeline, weil der LLM den PDF-Inhalt nicht herunterladen kann. Vermutlich ein TH-spezifisches Hit-Format, in dem der PDF-URL-Pfad an einer anderen Stelle als bei MV/HH steckt.2. MITTEL — BB Type-Filter leakt 'Kleine Anfrage'
File:
app/parlamente.py(PortalaAdapter BB-Konfig)Sub-A
test_type_filter_returns_only_antraege[BB]:Der BB-PortalaAdapter filtert nicht streng auf Antrag — Kleine Anfragen leaken durch und werden im Pool als analysierbar angeboten. Vermutlich braucht der
document_type="Antrag"-Filter eine zusätzliche Substring-Whitelist auf der Hit-Title-Seite.3. MITTEL — RP Type-Filter leakt 'Beschlussempfehlung und Bericht'
File:
app/parlamente.py(PortalaAdapter RP-Konfig)Sub-A
test_type_filter_returns_only_antraege[RP]:Gleicher Bug-Typ wie BB — RP zeigt Beschlussempfehlungen neben den Anträgen. Das ist die exakte Bug-Klasse 16 (Pagination liefert die ersten N Hits, übersieht echte Antrag-Drucksachen).
4. NIEDRIG — BB Datum-Plausibilität: Drucksache vor wahlperiode_start
File:
app/bundeslaender.pyBB-Eintrag (wahlperiode_start='2024-10-23')Sub-A
test_datum_within_wahlperiode_window[BB]:Die konstituierende Geschäftsordnung (Drucksache 8/2) wurde am 2024-10-17 eingebracht — vor dem konfigurierten Wahlperioden-Start am 2024-10-23 (Konstituierende Sitzung). Mögliche Lösungen:
wahlperiode_startinbundeslaender.pyauf den realen Tag der Wahl (2024-09-22) statt der Konstituierung verschieben — semantisch saubererEmpfehlung: 1. (saubere Daten in
bundeslaender.pyfür alle BL).5. MITTEL — BE get_document liefert None für bekannte Drucksache
File:
app/parlamente.py(PortalaAdapter BE-Konfig)Sub-B
test_adapter_finds_known_drucksache[BE]:Die Drucksache existiert im Frontend (Ground Truth gut kuratiert), aber
adapter.get_document('19/3107')liefert None. Vermutlich ist die Drucksache aus dem Pagination-Window gefallen, oder derget_document-Pfad in PortalaAdapter routet die ID anders alssearch. Test in #16 dokumentiert den Adapter-Reuse als 'BE = Card-Parser-Format' — möglicherweise ist der get_document-Pfad nur für das Dump-Format implementiert.Acceptance Criteria
test_first_result_pdf_link_reachable[TH]grün.test_type_filter_returns_only_antraege[BB]grün.test_type_filter_returns_only_antraege[RP]grün.test_adapter_finds_known_drucksache[BE]grün.Statistik des Live-Runs
Das ist ein ehrlicher Realität-Check — die Pipeline ist breit unterwegs aber hat in jedem Sub-Bereich einzelne Bugs, die ohne diese E2E-Tests unentdeckt im Produktionsbetrieb gelaufen wären.
Bezug
Alle 5 Bugs gefixt + verifiziert
_hit_to_drucksacheskipped Hits ohnelink/prelink4bc583e"antrag"-Substring-Filter inPortalaAdapter.searche72dd3ee72dd3ewahlperiode_startauf Wahltag (2024-09-22) statt Konstituierung umgestellte72dd3edocument_type=None) + chunksize-Floor 1500060a33e+015b134Live-Verifikation im Container nach jedem Patch:
test_adapters_live: 60/60 ✓ (vorher 4 Failures)test_frontend_xref: 9/9 ✓ (vorher 4 Failures, NRW skipped)test_wahlprogramme_indexed: 108/108 ✓ (war schon grün)test_citations_substring: 36/39 ✓ — die 3 verbleibenden Failures sind echte LLM-Halluzinationen, dokumentiert in #60Gesamt: 213 von 216 Integration-Tests grün (98.6%). Die 3 verbleibenden Failures sind in #60 dokumentiert und betreffen LLM-Output-Compliance, nicht die Adapter-Pipeline.
Issue kann geschlossen werden. Folge-Improvements (echte BE-get_document-Direktlookup, Performance-Optimierung des chunksize=1500-Floors) sind eigene Folge-Items.