Architektur-Doku zum Schema-Refactor der letzten Session: - Begruendung fuer programme.py + legislaturen.py - Optionen-Vergleich (zentrale Registry vs. Liste-im-Schema vs. Status quo) - Migrationsweg via _migrate_from_legacy() und Lazy-Init - Datenstand (86 Wahlprogramme + 12 Grundsatzprogramme + 56 Legislaturen + 70 Regierungen) - Offene Folgearbeiten: historische Wahlprogramme indizieren, analyzer.py-Migration, wahlprogramme.py-Compat-Shim Index aktualisiert. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3.1 KiB
3.1 KiB
Architecture Decision Records (ADRs)
ADRs dokumentieren signifikante Architektur-Entscheidungen mit Kontext, Optionen und Konsequenzen. Format inspiriert von Michael Nygard.
Workflow
- Neue Entscheidung steht an → Kopie von
template.mdmit nächster freier Nummer (NNNN-kebap-titel.md). - Status
proposed→ diskutiert in Issue/PR → bei Akzeptanz aufaccepted. - Niemals editieren nach
accepted. Wenn eine Entscheidung sich ändert, neuer ADR mitSupersedes: NNNN-…im Header und der alte ADR bekommtSuperseded by: MMMM-…. - Status
deprecatedfür Entscheidungen, die ohne Nachfolger auslaufen.
Index
| ID | Titel | Status | Datum |
|---|---|---|---|
| 0001 | LLM-Citations server-seitig binden statt prompt-seitig | accepted | 2026-04-10 |
| 0002 | Adapter-Pattern mit ParlamentAdapter-Basisklasse + Registry | accepted | 2026-04-10 |
| 0003 | Sub-D Property-Verification: Zitate als Substring der zitierten PDF-Seite | accepted | 2026-04-10 |
| 0004 | Docker Compose Deploy mit DB-/Reports-Volume und SN-XML-Sonderpfad | accepted | 2026-04-10 |
| 0005 | Keycloak SSO mit Dev-Bypass-Fallback | accepted | 2026-04-10 |
| 0006 | Embedding-Modell-Migration text-embedding-v3 → v4 | accepted | 2026-04-11 |
| 0007 | Test-Taxonomie (Unit / Integration / E2E / Property / Smoke) | accepted | 2026-04-28 |
| 0008 | DDD-Lightweight-Migration (Repository, LLM-Port, Domain-Verhalten) | accepted | 2026-04-20 |
| 0009 | Plenarprotokoll-Parser-Registry pro Bundesland | accepted | 2026-04-28 |
| 0010 | Stimmverhalten × GWÖ-Bewertung als JOIN-Aggregat (Heuchelei + Konsistenz) | accepted | 2026-05-06 |
| 0011 | Aktuelle-Themen-Dashboard mit PM-Generator (Persona-Prompt + Versionierung) | accepted | 2026-05-06 |
| 0012 | DEBUG_AUTH_TOKEN-Bypass für Diagnose-Sessions auf dev | accepted | 2026-05-06 |
| 0013 | Programme + Legislaturen mit zeitpunktiger Bewertung | accepted | 2026-05-08 |
Wann ADR, wann nicht
| ADR-würdig | nicht ADR-würdig |
|---|---|
| Wahl zwischen mehreren plausiblen Architekturen mit Trade-offs | Bug-Fix |
| Strukturelle Konsequenzen für mehrere Module | Refactoring innerhalb eines Moduls |
| Reverse-Engineering-Findings die andere Adapter beeinflussen | Stiländerungen, Linting-Konventionen |
| Neue externe Abhängigkeiten oder APIs | Dependency-Bumps ohne API-Änderung |
| Workflow-Konventionen die mehrere Sessions überdauern müssen | Tagesgeschäft, Issue-Tracking |
Faustregel: Wenn ein neuer Kollege (oder eine neue Session) die Entscheidung sonst rückgängig machen würde, gehört sie in einen ADR.