diff --git a/eventium-memory.cabal b/eventium-memory.cabal
--- a/eventium-memory.cabal
+++ b/eventium-memory.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           eventium-memory
-version:        0.3.1
+version:        0.3.2
 synopsis:       In-memory implementations for eventium
 description:    Eventium-memory provides in-memory implementations of event stores and projection caches
                 for the Eventium event sourcing framework. This package is ideal for development, testing, and prototyping
diff --git a/tests/Eventium/MetadataEnrichmentSpec.hs b/tests/Eventium/MetadataEnrichmentSpec.hs
--- a/tests/Eventium/MetadataEnrichmentSpec.hs
+++ b/tests/Eventium/MetadataEnrichmentSpec.hs
@@ -5,7 +5,6 @@
 import Control.Concurrent.STM
 import Data.IORef
 import Data.Maybe (isJust)
-import Data.Time (UTCTime (..), fromGregorian)
 import Eventium
 import Eventium.Store.Memory
 import Test.Hspec
@@ -33,31 +32,20 @@
       events <- reader.getEvents (allEvents uuid)
       all (\e -> isJust e.metadata.createdAt) events `shouldBe` True
 
-    it "defaults occurredAt to createdAt" $ do
-      tvar <- eventMapTVar
-      let taggedWriter = tvarTaggedEventStoreWriter tvar
-          enrichedWriter = metadataEnrichingEventStoreWriter testCodec (runEventStoreWriterUsing atomically taggedWriter)
-          reader = runEventStoreReaderUsing atomically (tvarEventStoreReader tvar)
-          uuid = uuidFromInteger 1
-      _ <- enrichedWriter.storeEvents uuid NoStream [42 :: Int]
-      events <- reader.getEvents (allEvents uuid)
-      -- occurredAt should default to createdAt
-      map (\e -> e.metadata.occurredAt) events `shouldBe` map (\e -> e.metadata.createdAt) events
-
   describe "metadataEnrichingEventStoreWriterWithEnricher" $ do
-    it "applies MetadataEnricher to set occurredAt" $ do
+    it "applies MetadataEnricher to set correlationId" $ do
       tvar <- eventMapTVar
-      let pastTime = UTCTime (fromGregorian 2025 3 15) 0
-          enricher m = m {occurredAt = Just pastTime}
+      let corrId = uuidFromInteger 99
+          enricher m = m {correlationId = Just corrId}
           taggedWriter = tvarTaggedEventStoreWriter tvar
           enrichedWriter = metadataEnrichingEventStoreWriterWithEnricher enricher testCodec (runEventStoreWriterUsing atomically taggedWriter)
           reader = runEventStoreReaderUsing atomically (tvarEventStoreReader tvar)
           uuid = uuidFromInteger 1
       _ <- enrichedWriter.storeEvents uuid NoStream [42 :: Int]
       events <- reader.getEvents (allEvents uuid)
-      map (\e -> e.metadata.occurredAt) events `shouldBe` [Just pastTime]
+      map (\e -> e.metadata.correlationId) events `shouldBe` [Just corrId]
 
-    it "defaults occurredAt to createdAt when enricher does not set it" $ do
+    it "leaves correlationId unset when enricher is id" $ do
       tvar <- eventMapTVar
       let taggedWriter = tvarTaggedEventStoreWriter tvar
           enrichedWriter = metadataEnrichingEventStoreWriterWithEnricher id testCodec (runEventStoreWriterUsing atomically taggedWriter)
@@ -65,8 +53,7 @@
           uuid = uuidFromInteger 1
       _ <- enrichedWriter.storeEvents uuid NoStream [42 :: Int]
       events <- reader.getEvents (allEvents uuid)
-      -- occurredAt should default to createdAt
-      map (\e -> e.metadata.occurredAt) events `shouldBe` map (\e -> e.metadata.createdAt) events
+      map (\e -> e.metadata.correlationId) events `shouldBe` [Nothing]
 
   describe "backward compatibility" $ do
     it "non-tagged writer still uses empty metadata" $ do
diff --git a/tests/Eventium/ProcessManagerSpec.hs b/tests/Eventium/ProcessManagerSpec.hs
--- a/tests/Eventium/ProcessManagerSpec.hs
+++ b/tests/Eventium/ProcessManagerSpec.hs
@@ -3,7 +3,6 @@
 module Eventium.ProcessManagerSpec (spec) where
 
 import Data.IORef
-import Data.Time (UTCTime (..), fromGregorian)
 import Eventium.ProcessManager
 import Eventium.Projection
 import Eventium.Store.Class
@@ -172,7 +171,8 @@
             pure CommandSucceeded
 
       let target = uuidFromInteger 2
-          enricher m = m {occurredAt = Just (UTCTime (fromGregorian 2025 3 15) 0)}
+          corrId = uuidFromInteger 99
+          enricher m = m {correlationId = Just corrId}
           effects = [IssueCommand target (AcceptCredit 50) enricher]
 
       runProcessManagerEffects dispatcher effects
@@ -182,5 +182,5 @@
         [(_, cmd, enr)] -> do
           cmd `shouldBe` AcceptCredit 50
           let enriched = enr (emptyMetadata "test")
-          enriched.occurredAt `shouldBe` Just (UTCTime (fromGregorian 2025 3 15) 0)
+          enriched.correlationId `shouldBe` Just corrId
         _ -> expectationFailure "expected exactly one dispatch"
