# ADR-001: Zweistufiges Domain- & Session-Handling ## Kontext Die bestehende Middleware/Provider-Logik greift in Teilen vor `StartSession` auf Session-Daten zu. Das führt in Randfällen zu doppelt erzeugten Sessions und inkonsistentem `user_shop`-Zustand. ## Entscheidung Wir trennen strikt in zwei Phasen: 1. DomainBootstrap (früh, rein): - Host parsen → `DomainContext` - `config('session.domain')` + `config('app.url')` setzen - KEIN Sessionzugriff 2. DomainSessionSync (spät, zustandsvoll): - Session ist aktiv - `UserShopSessionManager` synchronisiert `user_shop` in Session und Cookie ## Alternativen - Alles in einer Middleware: führt zu Sessionzugriff vor `StartSession` oder verspäteter Setzung von `session.domain` - Nur Cookies, keine Session: bricht vorhandene Annahmen in Views/Controllern ## Konsequenzen - Keine doppelten Sessions durch frühe Zugriffe - Sticky-Shop über Subdomains stabil - Optionale Abwärtskompatibilität via Legacy-Session-Keys ## Status Prototyp in `dev/subdomain-optimization-gpt-5` abgelegt. Schrittweise Integration empfohlen.