diff --git a/docs/subscriberepos-decision.md b/docs/subscriberepos-decision.md new file mode 100644 index 0000000..96dc2a2 --- /dev/null +++ b/docs/subscriberepos-decision.md @@ -0,0 +1,13 @@ +# `subscribeRepos` CBOR Adapter Decision + +Decision: do not add a `com.atproto.sync.subscribeRepos` CBOR adapter yet. + +Rationale: + +- Cadet's active ingestion path is Jetstream. +- The current Teal collections are consumed through Jetstream filters. +- CAR import remains available as the backfill path. +- Adding relay-level CBOR firehose support now would introduce another streaming protocol and decoding path without a current operational need. + +Add `subscribeRepos` support only if Teal needs relay-level firehose sync that Jetstream cannot provide, such as repository operations outside Jetstream availability, relay-specific replay requirements, or collection coverage that requires raw sync events. + diff --git a/todo.md b/todo.md index bf3622e..0a2334b 100644 --- a/todo.md +++ b/todo.md @@ -35,7 +35,7 @@ This file is the working handoff for the Teal-native Teal clone. Keep it updated - [ ] Verify Jetstream filtering against `wantedCollections=fm.teal.alpha.feed.play` in a live environment. - [x] Verify Cadet cursor recovery after restart with Garnet enabled. - [x] Verify delete handling removes the play URI from `plays`, `play_to_artists`, and `play_to_artists_extended`. -- [ ] Add a `subscribeRepos` CBOR adapter only if relay-level firehose sync becomes necessary. +- [x] Add a `subscribeRepos` CBOR adapter only if relay-level firehose sync becomes necessary. - [x] Keep CAR import as a backfill path and add regression tests for it. ## Next: Aqua And Lexicons