diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,14 @@
 # kiroku-otel changelog
 
-## Unreleased
+## 0.2.0.3 — 2026-08-11
+
+### Other Changes
+
+* The subscription tracer handles the new checkpoint-resolved and
+  checkpoint-missing lifecycle events exhaustively. Both remain no-ops because
+  the traced subscription episode begins at the later `Started` event; a
+  refused startup still produces its terminal stopped span.
+* Requires `kiroku-store ^>=0.5`. No `kiroku-otel` API changed.
 
 ## 0.2.0.2 — 2026-08-09
 
diff --git a/kiroku-otel.cabal b/kiroku-otel.cabal
--- a/kiroku-otel.cabal
+++ b/kiroku-otel.cabal
@@ -1,6 +1,6 @@
 cabal-version:   3.0
 name:            kiroku-otel
-version:         0.2.0.2
+version:         0.2.0.3
 synopsis:
   OpenTelemetry W3C trace-context helpers for Kiroku event metadata
 
@@ -50,7 +50,7 @@
     , hs-opentelemetry-api                   ^>=1.0
     , hs-opentelemetry-propagator-w3c        ^>=1.0
     , hs-opentelemetry-semantic-conventions  ^>=1.40
-    , kiroku-store                           ^>=0.4
+    , kiroku-store                           ^>=0.5
     , lens                                   >=5.2   && <5.4
     , text                                   >=2.0   && <2.2
     , unordered-containers                   >=0.2   && <0.3
@@ -76,7 +76,7 @@
     , hs-opentelemetry-sdk                 ^>=1.0
     , hspec                                >=2.10 && <2.12
     , kiroku-otel
-    , kiroku-store                         ^>=0.4
+    , kiroku-store                         ^>=0.5
     , kiroku-test-support
     , lens                                 >=5.2  && <5.4
     , stm                                  >=2.5  && <2.6
diff --git a/src/Kiroku/Otel/Subscription.hs b/src/Kiroku/Otel/Subscription.hs
--- a/src/Kiroku/Otel/Subscription.hs
+++ b/src/Kiroku/Otel/Subscription.hs
@@ -216,6 +216,12 @@
 
 onEvent :: Tracer -> SpanCells -> KirokuEvent -> IO ()
 onEvent tracer cell = \case
+    -- Resolution precedes Started and has no open episode to annotate. It is
+    -- retained as structured logging/metrics telemetry; tracing begins at the
+    -- Started catch-up span. A missing refusal is followed by Stopped, which
+    -- produces the terminal span.
+    KirokuEventSubscriptionCheckpointResolved{} -> pure ()
+    KirokuEventSubscriptionCheckpointMissing{} -> pure ()
     KirokuEventSubscriptionStarted name pos grp ->
         withKey cell (keyOf name grp) $ \st -> do
             -- Defensively close a catch-up span left open by a prior episode.
