Dokumentiert das gesamte Bypass-Pattern mit Optionen-Vergleich (Service-Account vs. langes JWT vs. ENV-Secret), Härtungsstrategie (prod-compose ignoriert ENV, Audit-Logging, wöchentliche Rotation) und Folgen für ADR 0005 (Keycloak Dev-Bypass). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
45 lines
2.9 KiB
Markdown
45 lines
2.9 KiB
Markdown
# Architecture Decision Records (ADRs)
|
||
|
||
ADRs dokumentieren signifikante Architektur-Entscheidungen mit Kontext, Optionen
|
||
und Konsequenzen. Format inspiriert von [Michael Nygard](https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions).
|
||
|
||
## 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](0001-llm-citation-binding.md) | LLM-Citations server-seitig binden statt prompt-seitig | accepted | 2026-04-10 |
|
||
| [0002](0002-adapter-architecture.md) | Adapter-Pattern mit ParlamentAdapter-Basisklasse + Registry | accepted | 2026-04-10 |
|
||
| [0003](0003-citation-property-tests.md) | Sub-D Property-Verification: Zitate als Substring der zitierten PDF-Seite | accepted | 2026-04-10 |
|
||
| [0004](0004-deployment-workflow.md) | Docker Compose Deploy mit DB-/Reports-Volume und SN-XML-Sonderpfad | accepted | 2026-04-10 |
|
||
| [0005](0005-keycloak-sso-with-dev-bypass.md) | Keycloak SSO mit Dev-Bypass-Fallback | accepted | 2026-04-10 |
|
||
| [0006](0006-embedding-model-migration-v3-to-v4.md) | Embedding-Modell-Migration text-embedding-v3 → v4 | accepted | 2026-04-11 |
|
||
| [0007](0007-test-taxonomy.md) | Test-Taxonomie (Unit / Integration / E2E / Property / Smoke) | accepted | 2026-04-28 |
|
||
| [0008](0008-ddd-lightweight-migration.md) | DDD-Lightweight-Migration (Repository, LLM-Port, Domain-Verhalten) | accepted | 2026-04-20 |
|
||
| [0009](0009-protokoll-parser-registry.md) | Plenarprotokoll-Parser-Registry pro Bundesland | accepted | 2026-04-28 |
|
||
| [0010](0010-stimmverhalten-gwoe-aggregat.md) | Stimmverhalten × GWÖ-Bewertung als JOIN-Aggregat (Heuchelei + Konsistenz) | accepted | 2026-05-06 |
|
||
| [0011](0011-aktuelle-themen-pm-generator.md) | Aktuelle-Themen-Dashboard mit PM-Generator (Persona-Prompt + Versionierung) | accepted | 2026-05-06 |
|
||
| [0012](0012-debug-auth-token-bypass.md) | DEBUG_AUTH_TOKEN-Bypass für Diagnose-Sessions auf dev | accepted | 2026-05-06 |
|
||
|
||
## 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.
|