org.passingreads.book.event

passingreads.org

Schema Diff

+1 -2

From

CID
bafyreih5hs2nxl6...
Indexed At
2026-04-29 04:17 UTC
View this version

To

CID
bafyreibt4hy7osw...
Indexed At
2026-05-20 06:06 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

7 breaking changes, 4 non-breaking changes.

Breaking Changes (7)
  • RemovedVertex RemovedVertex { vertex_id: "org.passingreads.book.event:body.location:variant2" }
  • RemovedEdge RemovedEdge { src: "org.passingreads.book.event:body.location", tgt: "org.passingreads.book.event:body.location:variant0", kind: "variant", name: Some("com.atproto.repo.strongRef#main") }
  • RemovedEdge RemovedEdge { src: "org.passingreads.book.event:body.location", tgt: "org.passingreads.book.event:body.location:variant1", kind: "variant", name: Some("community.lexicon.location.hthree#main") }
  • RemovedEdge RemovedEdge { src: "org.passingreads.book.event:body.location", tgt: "org.passingreads.book.event:body.location:variant2", kind: "variant", name: Some("#osmLocation") }
  • RemovedEdge RemovedEdge { src: "org.passingreads.book.event:body.location:variant0", tgt: "com.atproto.repo.strongRef#main", kind: "ref", name: None }
  • RemovedEdge RemovedEdge { src: "org.passingreads.book.event:body.location:variant1", tgt: "community.lexicon.location.hthree#main", kind: "ref", name: None }
  • RemovedEdge RemovedEdge { src: "org.passingreads.book.event:body.location:variant2", tgt: "org.passingreads.book.event#osmLocation", kind: "ref", name: None }
Non-Breaking Changes (4)
  • AddedEdge AddedEdge { src: "org.passingreads.book.event:body.location", tgt: "org.passingreads.book.event:body.location:variant0", kind: "variant", name: Some("community.lexicon.location.hthree#main") }
  • AddedEdge AddedEdge { src: "org.passingreads.book.event:body.location", tgt: "org.passingreads.book.event:body.location:variant1", kind: "variant", name: Some("#osmLocation") }
  • AddedEdge AddedEdge { src: "org.passingreads.book.event:body.location:variant0", tgt: "community.lexicon.location.hthree#main", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "org.passingreads.book.event:body.location:variant1", tgt: "org.passingreads.book.event#osmLocation", kind: "ref", name: None }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "org.passingreads.book.event:body.location:variant2" }

Additional Notes

  • Breaking: RemovedEdge { src: "org.passingreads.book.event:body.location", tgt: "org.passingreads.book.event:body.location:variant0", kind: "variant", name: Some("com.atproto.repo.strongRef#main") }
  • Breaking: RemovedEdge { src: "org.passingreads.book.event:body.location", tgt: "org.passingreads.book.event:body.location:variant1", kind: "variant", name: Some("community.lexicon.location.hthree#main") }
  • Breaking: RemovedEdge { src: "org.passingreads.book.event:body.location", tgt: "org.passingreads.book.event:body.location:variant2", kind: "variant", name: Some("#osmLocation") }
  • Breaking: RemovedEdge { src: "org.passingreads.book.event:body.location:variant0", tgt: "com.atproto.repo.strongRef#main", kind: "ref", name: None }
  • Breaking: RemovedEdge { src: "org.passingreads.book.event:body.location:variant1", tgt: "community.lexicon.location.hthree#main", kind: "ref", name: None }
  • Breaking: RemovedEdge { src: "org.passingreads.book.event:body.location:variant2", tgt: "org.passingreads.book.event#osmLocation", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "org.passingreads.book.event:body.location", tgt: "org.passingreads.book.event:body.location:variant0", kind: "variant", name: Some("community.lexicon.location.hthree#main") }
  • Non-breaking: AddedEdge { src: "org.passingreads.book.event:body.location", tgt: "org.passingreads.book.event:body.location:variant1", kind: "variant", name: Some("#osmLocation") }
  • Non-breaking: AddedEdge { src: "org.passingreads.book.event:body.location:variant0", tgt: "community.lexicon.location.hthree#main", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "org.passingreads.book.event:body.location:variant1", tgt: "org.passingreads.book.event#osmLocation", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "The status of a book has changed.",
6 6
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 9
          "book": {
10 10
            "description": "The book that was dropped (a org.passingreads.book.registration)",
11 11
            "ref": "com.atproto.repo.strongRef#main",
12 12
            "type": "ref"
13 13
          },
14 14
          "event": {
15 15
            "description": "What event has occurred",
16 16
            "knownValues": [
17 17
              "org.passingreads.book.checkin",
18 18
              "org.passingreads.book.drop",
19 19
              "org.passingreads.book.find"
20 20
            ],
21 21
            "type": "string"
22 22
          },
23 23
          "location": {
24 -
            "description": "Where this event occurred (an h3 cell, an OSM place, or a link to an outpost — org.passingreads.outpost.registration)",
24 +
            "description": "Where this event occurred (an h3 cell or an OSM place)",
25 25
            "refs": [
26 -
              "com.atproto.repo.strongRef#main",
27 26
              "community.lexicon.location.hthree#main",
28 27
              "#osmLocation"
29 28
            ],
30 29
            "type": "union"
31 30
          },
32 31
          "occurredAt": {
33 32
            "description": "Client-declared timestamp of when the book was dropped",
34 33
            "format": "datetime",
35 34
            "type": "string"
36 35
          },
37 36
          "signatures": {
38 37
            "description": "Inline attestations binding this event to the book's keypair.",
39 38
            "items": {
40 39
              "ref": "org.passingreads.signature.book#main",
41 40
              "type": "ref"
42 41
            },
43 42
            "minLength": 1,
44 43
            "type": "array"
45 44
          }
46 45
        },
47 46
        "required": [
48 47
          "book",
49 48
          "location",
50 49
          "signatures",
51 50
          "occurredAt"
52 51
        ],
53 52
        "type": "object"
54 53
      },
55 54
      "type": "record"
56 55
    },
57 56
    "osmLocation": {
58 57
      "description": "A physical location from OpenStreetMap.",
59 58
      "properties": {
60 59
        "category": {
61 60
          "description": "The type of place (e.g., cafe, library, park).",
62 61
          "type": "string"
63 62
        },
64 63
        "name": {
65 64
          "description": "The name of the place from OpenStreetMap.",
66 65
          "type": "string"
67 66
        },
68 67
        "osmId": {
69 68
          "description": "The OpenStreetMap element ID in interoperable format: N (node), W (way), or R (relation) prefix followed by numeric ID. Example: N123456789",
70 69
          "type": "string"
71 70
        },
72 71
        "value": {
73 72
          "description": "The H3 cell index for proximity queries.",
74 73
          "type": "string"
75 74
        }
76 75
      },
77 76
      "required": [
78 77
        "osmId",
79 78
        "name",
80 79
        "value"
81 80
      ],
82 81
      "type": "object"
83 82
    }
84 83
  },
85 84
  "id": "org.passingreads.book.event",
86 85
  "lexicon": 1
87 86
}

Compare Other Versions

Lexicon Garden

@