···9494 - [x] *don't* allow non-validating commits that look like sync1.1
9595 - [x] rachet by PDS host: be lenient if we have never seen a sync1.1-looking commit, always strict after we see one.
9696 - [?] boooo we might need more handling for pre-sync1.1 repos if they don't include adjacent keys
9797+- [x] split the keyspace: put the rbc/cbr indexes on a second keyspace with larger block size, expect hits on main keyspace
9798- [ ] resync free hints from first phony getRecord
9899 - [ ] short-circuit: tiny repos may incidentally return their entire CAR for getRecord
99100 - [ ] estimate CAR size and `getRecord` if it's likely very small (bypass `describeRepo`)
100101- [ ] commit CAR handling: generate a list of keys with gaps noted, to reliably detect missing adjacent keys
101102- [ ] account status convergeance: if we receive commits from apparently-inactive accounts, should we check upstream status to make sure we're not stale?
102102-- [ ] split the keyspace: put the rbc/cbr indexes on a second keyspace with larger block size, expect hits on main keyspace
103103- [ ] websocket ping/pong (unless jacquard is already doing it)
104104- [ ] websocket no-events-received timeout reconnect
105105
+2-2
src/storage/collection_index.rs
···330330) -> StorageResult<usize> {
331331 let prefix = cbr_prefix(did);
332332 let collections: Vec<Vec<u8>> = db
333333- .ks
333333+ .index_ks
334334 .prefix(prefix.clone())
335335 .map(|guard| guard.into_inner().map(|(k, _v)| k.to_vec()))
336336 .collect::<fjall::Result<_>>()?;
···373373 let prefix = cbr_prefix(did);
374374 let prefix_len = prefix.len();
375375 let existing: Vec<Nsid<'static>> = db
376376- .ks
376376+ .index_ks
377377 .prefix(prefix)
378378 .map(|guard| {
379379 guard