openvibers/openvibe.contracts Commits
Contracts 0.136.0: no per-event sequence number on the Events consumer wire (#89)
OP OpenVibers committed 10 Oct 2026 · tag v0.136 · 0 files, +0 −0
Plan T7, ADR-042 decision 7, the last step: no per-event sequence number on the consumer wire. Positions became opaque cursors in 0.132.0 (Events #56); the informational `seq` that stayed beside them goes now, with the "global order" promise.
**Why it is safe:**
- Every client dedupes by `event_id`: openvibe-sdk 0.42.0 realtime and Shared 3.0.1's bell and release watcher, deployed across the estate today.
- No receiver reads `seq`. Checked across every repository: delivery handlers only require `event`, and the SDK outbox kit merely records it.
**Changes:**
- `events.publish-result@1`: `{ event_id, cursor, duplicate }` for single and batch items. `seq` is gone and `cursor` is required.
- `events.read-result@1`: page items and single reads are `{ cursor, event }`; SSE messages carry `{ event }`.
- **Unchanged:** `gap` ranges (informational), and the operator delivery list and replay (`events.delivery-admin-*`), which still page by the hot store's position.
- Fixtures follow; ADR-042 records the step.
Events implements it next, then openvibe-sdk 0.43.0.
`node test/run.js`: 18,418 checks passed; compat vs v0.135.0: no breaking changes.
This commit has no diff to show.