gwoe-antragspruefer/app
Dotty Dotter 6184bf8a88 ParLDokAdapter: server-side fulltext search via facet_fulltext (#12)
Replaces the client-side title/Urheber substring filter with a
real server-side full-text search through ParlDok's facet_fulltext
tag (type=0). The tag schema is reverse-engineered from
pd.addInput in the live bundle.js:

  {"type": 0,
   "id": <getFulltextId(term)>,    # non-alphanum → "-"
   "fulltext": <raw term>,
   "label": <raw term>,
   "field": "Alle"}                # search all indexed fields

The Resultpage queryid inherits the fulltext filter, so
pagination works without re-sending the tag.

Smoke test (local):
  Schule → 10 hits (was 3)
  Klima  → 10 hits across multiple parties + dates
  Wohnen → 10 hits including older 2025 Anträge

The 10-page (1000-doc) safety bound still applies on top of the
fulltext-filtered result set, but since the server now narrows
to ~2k Schule-related docs WP-wide instead of the 8k+ raw WP
total, the bound is no longer the limiting factor for typical
queries.

Closes #12. BE/LSA equivalent (#13) is independent — eUI
sf-index names still need DevTools tracing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 12:57:34 +02:00
..
kontext Activate LSA: Wahlprogramme + ingest + frontend (#2) 2026-04-07 22:12:32 +02:00
routers Initial commit: GWÖ-Antragsprüfer v1.0 2026-03-28 22:30:24 +01:00
static/referenzen Add MV+BE Wahlprogramme zur jeweils laufenden Legislatur (#4, #10) 2026-04-08 08:24:33 +02:00
templates Bundesland filter & transparency: stringent split + visible source (#8) 2026-04-07 23:00:39 +02:00
__init__.py Initial commit: GWÖ-Antragsprüfer v1.0 2026-03-28 22:30:24 +01:00
analyzer.py Analyzer prompt: strict citation rule against LLM hallucination 2026-04-08 11:31:21 +02:00
bundeslaender.py Activate Mecklenburg-Vorpommern (ParlDok) — search-only MVP (#4) 2026-04-08 08:19:48 +02:00
config.py Initial commit: GWÖ-Antragsprüfer v1.0 2026-03-28 22:30:24 +01:00
database.py Bundesland filter & transparency: stringent split + visible source (#8) 2026-04-07 23:00:39 +02:00
embeddings.py Embeddings prompt: include programme name in chunk citations 2026-04-08 11:24:31 +02:00
main.py Bundesland filter & transparency: stringent split + visible source (#8) 2026-04-07 23:00:39 +02:00
models.py Initial commit: GWÖ-Antragsprüfer v1.0 2026-03-28 22:30:24 +01:00
parlamente.py ParLDokAdapter: server-side fulltext search via facet_fulltext (#12) 2026-04-08 12:57:34 +02:00
report.py Append original Antrag-PDF to GWÖ-Report (#9) 2026-04-07 23:15:05 +02:00
wahlprogramme.py Add MV+BE Wahlprogramme zur jeweils laufenden Legislatur (#4, #10) 2026-04-08 08:24:33 +02:00