page.cavu.graph.authorSubscription

cavu.page

Documentation

Record declaring a subscription to an author — the sibling of site.standard.graph.subscription, which targets publications only. Following an author means wanting the books they have not written yet, so the subject is the author's DID rather than any record: a publication that does not exist yet cannot be referenced. One record per (reader, author) by convention: clients list their own repo and reuse the existing record rather than create a second (the same convention page.cavu.progress uses). The author DID makes records discoverable by backlink index (Microcosm/Constellation), so 'how many readers follow this author' needs no app-side database. The author identity is the repo DID that owns the publications, which is what an author page addresses; contributor names inside page.cavu.book are display metadata and are not subjects here. The key is a tid rather than the author's DID, which would otherwise be the obvious deterministic choice: a did:web carrying a port percent-encodes (did:web:example.com%3A3000) and '%' is not a legal record-key character.

main record

Record declaring a subscription to an author — the sibling of site.standard.graph.subscription, which targets publications only. Following an author means wanting the books they have not written yet, so the subject is the author's DID rather than any record: a publication that does not exist yet cannot be referenced. One record per (reader, author) by convention: clients list their own repo and reuse the existing record rather than create a second (the same convention page.cavu.progress uses). The author DID makes records discoverable by backlink index (Microcosm/Constellation), so 'how many readers follow this author' needs no app-side database. The author identity is the repo DID that owns the publications, which is what an author page addresses; contributor names inside page.cavu.book are display metadata and are not subjects here. The key is a tid rather than the author's DID, which would otherwise be the obvious deterministic choice: a did:web carrying a port percent-encodes (did:web:example.com%3A3000) and '%' is not a legal record-key character.

Record Key tid Timestamp-based ID

Properties

author string did Required

DID of the author being subscribed to — the repo whose site.standard.publication records are the books, and the backlink target.

createdAt string datetime Required

An RFC 3339 formatted timestamp.

View raw schema
{
  "description": "Record declaring a subscription to an author — the sibling of site.standard.graph.subscription, which targets publications only. Following an author means wanting the books they have not written yet, so the subject is the author's DID rather than any record: a publication that does not exist yet cannot be referenced. One record per (reader, author) by convention: clients list their own repo and reuse the existing record rather than create a second (the same convention page.cavu.progress uses). The author DID makes records discoverable by backlink index (Microcosm/Constellation), so 'how many readers follow this author' needs no app-side database. The author identity is the repo DID that owns the publications, which is what an author page addresses; contributor names inside page.cavu.book are display metadata and are not subjects here. The key is a tid rather than the author's DID, which would otherwise be the obvious deterministic choice: a did:web carrying a port percent-encodes (did:web:example.com%3A3000) and '%' is not a legal record-key character.",
  "key": "tid",
  "record": {
    "properties": {
      "author": {
        "description": "DID of the author being subscribed to — the repo whose site.standard.publication records are the books, and the backlink target.",
        "format": "did",
        "type": "string"
      },
      "createdAt": {
        "format": "datetime",
        "type": "string"
      }
    },
    "required": [
      "author",
      "createdAt"
    ],
    "type": "object"
  },
  "type": "record"
}

Lexicon Garden

@