# Timestamp Migration - Status ## ✅ Abgeschlossen ### CacheEntry - ✅ Verwendet jetzt `Timestamp` statt `DateTimeInterface` - ✅ `toArray()` serialisiert als `int` timestamp - ✅ `fromArray()` deserialisiert von `int`, `float`, `string` oder `DateTimeInterface` ### Services - ✅ `StalenessChecker` konvertiert `Timestamp` zu `DateTimeInterface` für Vergleich - ✅ `CacheEntryUpgrader` konvertiert `DateTimeInterface` zu `Timestamp` - ✅ `CacheEntrySerializer` verwendet `Timestamp::now()` für Fallbacks ### DiscoveryCacheManager - ✅ Konvertiert `DiscoveryContext->startTime` (DateTimeInterface) zu `Timestamp` beim Erstellen von `CacheEntry` - ✅ Konvertiert `Timestamp` zu `DateTimeInterface` für `CacheEntryMetadata` ## ⚠️ Bekanntes Problem ### Registry Deserialization **Problem**: Registry wird als `__PHP_Incomplete_Class` deserialisiert **Ursache**: - Cache serialisiert das Array mit Registry-Objekt - Beim Deserialisieren wird Registry zu `__PHP_Incomplete_Class`, wenn die Klasse nicht geladen ist - Dies passiert, wenn `unserialize()` aufgerufen wird, bevor die Klasse geladen ist **Mögliche Lösungen**: 1. Registry explizit serialisieren, bevor es in Array eingefügt wird 2. Cache-Serializer so konfigurieren, dass er Klassen automatisch lädt 3. Registry-Objekt separat serialisieren und als String im Array speichern **Status**: In Bearbeitung ## Nächste Schritte 1. Registry-Deserialisierung Problem lösen 2. Integration-Tests debuggen 3. Performance-Tests mit Timestamp