page.cavu.progress

Reading progress for one book, written to the reader's own repo. One record per (reader, publication) by convention: clients list their own repo and update the existing record for a publication rather than create a second (the BookHive shelf pattern). The publication AT-URI makes records discoverable by backlink index (Microcosm/Constellation), so 'who is reading this book' needs no app-side database. Positions anchor documents by strongRef: the cid pins the chunk *as read*, so a later edit to an already-read chunk is detectable by cid drift and clients can flag it. Where the reader's PDS implements atproto permissioned data (proposal 0016), clients write these records into the reader's personal space instead — at://<did>/space/page.cavu.personal/self, an owner-only (empty member list) space anchored on the reader's own DID so their PDS is also the space host — and migrate any public record there on first read (merge, rewrite into the space, delete the public copy). Space records are invisible to backlink indexes, so private progress deliberately drops out of 'who is reading this book'. On any other PDS the record is a public repo record and clients must disclose at sign-in that reading positions are saved to the reader's own repo.

Repository @cavu.page did:plc:citulkqjdzbnf7wd5xb6lled namespace authority
Details · record, key tid
Kindrecord
Record keytid
Authoritycavu.page
Indexed

What's different

same NSID · two revisions from the same publisher
cavu.page · namespace authority
cavu.page · namespace authority
No changes

The two versions describe the same schema.

8 properties and 1 def unchanged Open the full schema diff →