gwoe-antragspruefer/docs/adr/index.md
Dotty Dotter d5b8cf4573 docs(adr 0015) + scripts: 2.0-Cut + Citation-Cross-Block-Fix dokumentieren
ADR 0015 fixiert die zwei strukturellen Entscheidungen vom 2.0-Cut:
- Prod-Deploy ueber sauberen git-Checkout statt Tar-Upload (loest
  ADR 0004 in Teilen ab)
- Reconstruct_zitate-Zwei-Pass: Zitate werden ueber beide Bloecke
  hinweg klassifiziert, dann erst geschrieben — Cross-Block-Move
  statt nur quelle-Korrektur

scripts/migrate-zitate-blocks.py: idempotentes String-basiertes
Migrations-Skript fuer bestehende Records mit altem Bug-Stand. Nicht
LLM-abhaengig, deterministisch. Beim 2.0-Cut auf 22 Assessments
angewendet (26 Zitate verschoben).
2026-05-10 13:28:56 +02:00

3.4 KiB
Raw Blame History

Architecture Decision Records (ADRs)

ADRs dokumentieren signifikante Architektur-Entscheidungen mit Kontext, Optionen und Konsequenzen. Format inspiriert von Michael Nygard.

Workflow

  1. Neue Entscheidung steht an → Kopie von template.md mit nächster freier Nummer (NNNN-kebap-titel.md).
  2. Status proposed → diskutiert in Issue/PR → bei Akzeptanz auf accepted.
  3. Niemals editieren nach accepted. Wenn eine Entscheidung sich ändert, neuer ADR mit Supersedes: NNNN-… im Header und der alte ADR bekommt Superseded by: MMMM-….
  4. Status deprecated fü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
0014 Tour-System mit ElevenLabs-Voice + Web-Speech-Fallback accepted 2026-05-09
0015 Prod-Deploy als sauberer git-Checkout + Citation-Block-Reklassifikation accepted 2026-05-10

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.