ink.resenha.bookReview

resenha.ink

Schema Diff

+14 -1

From

CID
bafyreiaay7r7jus...
Indexed At
2026-10-18 21:20 UTC
View this version

To

CID
bafyreihnh2kao7l...
Indexed At
2026-10-29 00:02 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 6 non-breaking changes.

Non-Breaking Changes (6)
  • AddedVertex AddedVertex { vertex_id: "ink.resenha.bookReview:body.langs" }
  • AddedVertex AddedVertex { vertex_id: "ink.resenha.bookReview:body.langs:items" }
  • AddedVertex AddedVertex { vertex_id: "ink.resenha.bookReview:body.spoiler" }
  • AddedEdge AddedEdge { src: "ink.resenha.bookReview:body", tgt: "ink.resenha.bookReview:body.langs", kind: "prop", name: Some("langs") }
  • AddedEdge AddedEdge { src: "ink.resenha.bookReview:body", tgt: "ink.resenha.bookReview:body.spoiler", kind: "prop", name: Some("spoiler") }
  • AddedEdge AddedEdge { src: "ink.resenha.bookReview:body.langs", tgt: "ink.resenha.bookReview:body.langs:items", kind: "items", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "ink.resenha.bookReview:body.langs" }
  • AddedVertex { vertex_id: "ink.resenha.bookReview:body.langs:items" }
  • AddedVertex { vertex_id: "ink.resenha.bookReview:body.spoiler" }

Additional Notes

  • Non-breaking: AddedEdge { src: "ink.resenha.bookReview:body", tgt: "ink.resenha.bookReview:body.langs", kind: "prop", name: Some("langs") }
  • Non-breaking: AddedEdge { src: "ink.resenha.bookReview:body", tgt: "ink.resenha.bookReview:body.spoiler", kind: "prop", name: Some("spoiler") }
  • Non-breaking: AddedEdge { src: "ink.resenha.bookReview:body.langs", tgt: "ink.resenha.bookReview:body.langs:items", kind: "items", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "One per reviewed book. The record key is the book's BookHive ID (hiveId), so a reader's review of a book can be found with a single getRecord.",
6 6
      "key": "any",
7 7
      "record": {
8 8
        "properties": {
9 9
          "book": {
10 -
            "description": "The reader's buzz.bookhive.book record for the book. Its review field holds the same review as plain text.",
10 +
            "description": "The reader's record for the book: a buzz.bookhive.book, whose review field holds the same review as plain text, or, for a book the reader keeps in Popfeed, a social.popfeed.feed.listItem, whose newest social.popfeed.feed.review holds it as plain text with a link to the formatted review.",
11 11
            "format": "at-uri",
12 12
            "type": "string"
13 13
          },
14 14
          "createdAt": {
15 15
            "format": "datetime",
16 16
            "type": "string"
17 17
          },
18 18
          "document": {
19 19
            "description": "The site.standard.document that holds the review. Its content is the formatted review; its textContent is the same review as plain text.",
20 20
            "format": "at-uri",
21 21
            "type": "string"
22 22
          },
23 23
          "hiveId": {
24 24
            "description": "The book's BookHive ID. Also the record key.",
25 25
            "maxLength": 64,
26 26
            "type": "string"
27 +
          },
28 +
          "langs": {
29 +
            "description": "The languages the review is written in, as the reader chose them. BCP-47 codes, as in a Bluesky post's langs.",
30 +
            "items": {
31 +
              "format": "language",
32 +
              "type": "string"
33 +
            },
34 +
            "maxLength": 3,
35 +
            "type": "array"
36 +
          },
37 +
          "spoiler": {
38 +
            "description": "The reader marked the review as giving away parts of the book. The document carries the same mark as a \"spoiler\" self-label.",
39 +
            "type": "boolean"
27 40
          }
28 41
        },
29 42
        "required": [
30 43
          "document",
31 44
          "book",
32 45
          "hiveId",
33 46
          "createdAt"
34 47
        ],
35 48
        "type": "object"
36 49
      },
37 50
      "type": "record"
38 51
    }
39 52
  },
40 53
  "description": "Connects a book review, published as a site.standard.document, to the book it reviews.",
41 54
  "id": "ink.resenha.bookReview",
42 55
  "lexicon": 1
43 56
}

Compare Other Versions

Lexicon Garden

@