gwoe-antragspruefer/docs
Dotty Dotter 7ebdc78331 feat(#160): SH-Parser produktiv — Schleswig-Holsteiner Plenarprotokolle
Verifiziert auf WP20 Sitzungen 115 + 116. Format ist TH-aehnlich:

Result-Anchor: "Damit ist [Subjekt] (mehrheitlich|einstimmig)? (angenommen|abgelehnt|überwiesen|so beschlossen)"
Vote-Block (Q+A im Reden-Stil):
  - JA: "Wer dem zustimmen will ... Das sind die Fraktionen von X"
  - NEIN: "Wer stimmt dagegen? ... Das sind die Fraktionen von Y"
  - ENTH: "Wer enthaelt sich? ... Z"
Drucksachen-Lookup: rueckwaerts vom Anchor

Besonderheiten:
- SSW (5%-Huerden-befreit) als feste Fraktion
- "Damit ist die Ausschussueberweisung einstimmig so beschlossen" → ergebnis="ueberwiesen"
- "Das sind alle anderen Fraktionen" → NEIN als Komplement von JA inferiert
- Soft-Hyphen-Reparatur (PDF-Zeilenumbruch "zustim- men" → "zustimmen")
- _last_match-Helper, weil 1500-char-Window mehrere Vote-Bloecke enthalten kann
  (TH-Limitierung gefixed)

URL-Pattern (verifiziert):
https://www.landtag.ltsh.de/export/sites/ltsh/infothek/wahl20/plenum/plenprot/{YYYY}/20-{n:03}_{MM-YY}.pdf

Datum-Anteile (YYYY-Pfad + MM-YY-Suffix) machen URL-Vorhersage unmoeglich
→ Auto-Ingest-Cron via Index-Scrape (analog HH/HE):
https://www.landtag.ltsh.de/infothek/wahl20/plenum/plenprot_seite/

Tests: 23 SH-Tests + Stub-Registry-Test angepasst.
Stand: 7 produktive Parser (NRW, BUND, BE, HH, TH, HE, SH).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 01:29:06 +02:00
..
adr feat(#126): protokoll_parsers/-Sub-Package + Registry-Pattern + ADR 0009 2026-04-28 08:37:31 +02:00
analysen docs+ops: ADRs 0006/0008, DDD-Bewertung, Zugriffsrechte, Smoke-Test, Cron-Scripts 2026-04-25 20:55:57 +02:00
archive #62: API-Reference + Datenmodelle + Embeddings-Pipeline (mkdocstrings) 2026-04-10 14:14:15 +02:00
how-to Docs: Keycloak-Setup How-to + ADR-Index aktualisiert 2026-04-10 16:33:52 +02:00
reference docs+ops: ADRs 0006/0008, DDD-Bewertung, Zugriffsrechte, Smoke-Test, Cron-Scripts 2026-04-25 20:55:57 +02:00
index.md #62: API-Reference + Datenmodelle + Embeddings-Pipeline (mkdocstrings) 2026-04-10 14:14:15 +02:00
protokoll-parser-roadmap.md feat(#160): SH-Parser produktiv — Schleswig-Holsteiner Plenarprotokolle 2026-04-29 01:29:06 +02:00
README.md #62 Phase 1+3: ADRs + Doku-Struktur in webapp/docs/ 2026-04-10 01:38:03 +02:00

GWÖ-Antragsprüfer — Dokumentation

Diese Dokumentation folgt dem Diátaxis-Framework und ist nach Funktion (nicht nach Themen) organisiert. Drift-immun durch klare Trennung: Reference wird aus dem Code generiert, ADRs sind immutable, Tutorials/How-to sind manuell gepflegt aber knapp.

Struktur

docs/
├── README.md              ← du bist hier
├── adr/                   Architecture Decision Records (immutable)
│   ├── README.md          ADR-Index + Workflow
│   ├── template.md        Template für neue ADRs
│   └── NNNN-titel.md      Eine Datei pro Entscheidung
└── archive/               Historische Snapshots, nicht autoritativ

Geplant für später (siehe Issue #62):

docs/
├── reference/             ← mkdocs autodoc-Output (nicht eingecheckt)
├── tutorials/             ← Erst-Schritt-Anleitungen
├── how-to/                ← Aufgaben-orientiert, "wie deploye ich"
└── explanation/           ← Hintergründe, Konzepte

Nicht hier dokumentiert (bewusst)

Was Wo
API-Reference (Endpoints, Models, Schemas) Auto-generiert aus FastAPI/Pydantic, nicht in docs/ einchecken
Code-Reference (Klassen, Funktionen) mkdocstrings aus den Docstrings (geplant Phase 2)
Aktueller Projekt-Stand / Issues Gitea Issues — repo.toppyr.de/tobias/gwoe-antragspruefer/issues
Onboarding für KI-assisted Coder CLAUDE.md im Repo-Root
Live-System-Status https://gwoe.toppyr.de/auswertungen (dynamisches Dashboard)
Memory der KI-Sessions ~/.claude/projects/<projekt>/memory/ (privat)

Gegen Drift

  • ADRs sind immutable: nie überschreiben, sondern bei Änderung mit einem neuen ADR superseden, der den alten in seinem Header referenziert.
  • Reference wird aus dem Code generiert, nie von Hand gepflegt.
  • docs/archive/ enthält historische Status-Files. Werden gelesen aber nicht aktualisiert. Wenn etwas davon noch wahr ist, gehört es in einen ADR oder in die generierte Reference, nicht in einen neuen Status-Snapshot.