Summary
Implement subscribeChanges — a WebSocket/SSE subscription endpoint that streams dataset/schema/lens/label change events, enabling downstream consumers to build real-time indexes.
Background
From the original XRPC design (forecast-bio/atdata#49):
- Output: Stream of change events for
science.alt.dataset.* records
- Enables downstream consumers to build real-time indexes without polling
Open Questions
- Is this needed if consumers can use
com.atproto.sync.subscribeRepos (the firehose) and filter for science.alt.dataset.* collections? Probably yes for convenience — the AppView can provide a filtered, enriched stream — but this is not a v1 blocker.
- WebSocket vs SSE transport
- Event format and replay/cursor semantics
Related
Summary
Implement
subscribeChanges— a WebSocket/SSE subscription endpoint that streams dataset/schema/lens/label change events, enabling downstream consumers to build real-time indexes.Background
From the original XRPC design (forecast-bio/atdata#49):
science.alt.dataset.*recordsOpen Questions
com.atproto.sync.subscribeRepos(the firehose) and filter forscience.alt.dataset.*collections? Probably yes for convenience — the AppView can provide a filtered, enriched stream — but this is not a v1 blocker.Related