Outcome
Evaluate an opt-in guarantee that a subscription emits the final valid snapshot before its session_closed terminal notification, with bounded transport behavior.
Current contract and evidence
The v1.1.0 implementation in PR #97 promises a bounded, monotonically increasing subsequence of snapshots. Terminal state removes the subscription; it does not guarantee delivery of the final snapshot. snapshotSubscription.fail clears its pending slot and the writer gives terminal messages priority. WaitForPublication in PR #78 explicitly returns ErrSessionClosed when the session closes.
Integration review of local candidate 173b633882c44f6a80a99fdf07b5dd3fa078ddc8 found that the admission-overload shutdown in PR #73 can follow a final result publication immediately. A slow subscription can consequently receive session_closed without that final snapshot. The final state remains accessible through Session.Snapshot and the replay transcript. Independent scope review classified this as a possible new delivery guarantee, not a violation of the current coalescing/terminal contract or a blocker for #45/#49/#65.
Bounded design and acceptance checks
- Decide whether final-state delivery should be optional and separately negotiated; preserve existing terminal-priority behavior for current clients.
- Define a bounded policy for slow/failed writers, cancellation, output limits and provider failures. Do not block unrelated clients or create an unbounded queue.
- If adopted, prove a final valid snapshot precedes exactly one terminal message using a controlled slow writer and an actual
BindSession session-close/overload fixture.
- Keep replay, polling patch history, redaction and capability checks intact.
- Do not silently change the documented closed-session behavior of
WaitForPublication as a side effect.
This is an integration-derived product hypothesis, not validated customer demand. It is intentionally outside the current v1.1.0 milestone scope.
Outcome
Evaluate an opt-in guarantee that a subscription emits the final valid snapshot before its
session_closedterminal notification, with bounded transport behavior.Current contract and evidence
The v1.1.0 implementation in PR #97 promises a bounded, monotonically increasing subsequence of snapshots. Terminal state removes the subscription; it does not guarantee delivery of the final snapshot.
snapshotSubscription.failclears its pending slot and the writer gives terminal messages priority.WaitForPublicationin PR #78 explicitly returnsErrSessionClosedwhen the session closes.Integration review of local candidate
173b633882c44f6a80a99fdf07b5dd3fa078ddc8found that the admission-overload shutdown in PR #73 can follow a final result publication immediately. A slow subscription can consequently receivesession_closedwithout that final snapshot. The final state remains accessible throughSession.Snapshotand the replay transcript. Independent scope review classified this as a possible new delivery guarantee, not a violation of the current coalescing/terminal contract or a blocker for #45/#49/#65.Bounded design and acceptance checks
BindSessionsession-close/overload fixture.WaitForPublicationas a side effect.This is an integration-derived product hypothesis, not validated customer demand. It is intentionally outside the current v1.1.0 milestone scope.