gwoe-antragspruefer/docs
Dotty Dotter 7de4df1fef feat(#126): protokoll_parsers/-Sub-Package + Registry-Pattern + ADR 0009
Architektur-Refactor zur Vorbereitung BL-uebergreifender Parser:

- app/protokoll_parser_nrw.py → app/protokoll_parsers/nrw.py
- app/ingest_votes_nrw.py → app/ingest_votes.py (BL-uebergreifend)
- Neue app/protokoll_parsers/__init__.py mit:
  - PROTOKOLL_PARSERS-Dict (BL-Code → Parser-Funktion, derzeit nur NRW)
  - parse_protocol(bundesland, pdf_path) als BL-uebergreifender Einstieg
  - supported_bundeslaender()-Helper
  - NotImplementedError mit hilfreicher Message bei unbekanntem BL

CLI bekommt --supported-Flag fuer BL-Discovery:
  python -m app.ingest_votes --supported  → 'NRW'

ADR 0009 dokumentiert das Muster (Sub-Package + Funktions-Registry,
analog zu ADR 0002 fuer ParlamentAdapter). Folge-BL bekommen je
eine eigene Datei und einen Eintrag in PROTOKOLL_PARSERS — kein
Refactoring der Bestands-Logik.

Tests:
- 7 neue Tests in test_protokoll_parsers.py fuer Registry und Dispatch
- Bestehende NRW-Tests umbenannt zu test_protokoll_parsers_nrw.py,
  Imports angepasst — keine Verhaltens-Aenderung
- Bestehende Ingest-Tests umbenannt zu test_ingest_votes.py

642 Tests gruen, kein Verhaltens-Drift.
2026-04-28 08:37:31 +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
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.