at.meme-museum.collectionItem

meme-museum.at

Schema Diff

+12 -28

From

CID
bafyreiceibikrs6...
Indexed At
2026-08-07 21:59 UTC
View this version

To

CID
bafyreiburmirze7...
Indexed At
2026-08-08 15:49 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

14 breaking changes, 5 non-breaking changes.

Breaking Changes (14)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "at.meme-museum.collectionItem:body", src: "at.meme-museum.collectionItem:body", tgt: "at.meme-museum.collectionItem:body.collection", kind: "prop", name: Some("collection") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "at.meme-museum.collectionItem:body", src: "at.meme-museum.collectionItem:body", tgt: "at.meme-museum.collectionItem:body.meme", kind: "prop", name: Some("meme") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "at.meme-museum.collectionItem:body", src: "at.meme-museum.collectionItem:body", tgt: "at.meme-museum.collectionItem:body.name", kind: "prop", name: Some("name") }
  • RemovedVertex RemovedVertex { vertex_id: "app.bsky.richtext.facet" }
  • RemovedVertex RemovedVertex { vertex_id: "at.meme-museum.collectionItem:body.avatar" }
  • RemovedVertex RemovedVertex { vertex_id: "at.meme-museum.collectionItem:body.description" }
  • RemovedVertex RemovedVertex { vertex_id: "at.meme-museum.collectionItem:body.descriptionFacets" }
  • RemovedVertex RemovedVertex { vertex_id: "at.meme-museum.collectionItem:body.descriptionFacets:items" }
  • RemovedVertex RemovedVertex { vertex_id: "at.meme-museum.collectionItem:body.name" }
  • RemovedEdge RemovedEdge { src: "at.meme-museum.collectionItem:body", tgt: "at.meme-museum.collectionItem:body.avatar", kind: "prop", name: Some("avatar") }
  • RemovedEdge RemovedEdge { src: "at.meme-museum.collectionItem:body", tgt: "at.meme-museum.collectionItem:body.description", kind: "prop", name: Some("description") }
  • RemovedEdge RemovedEdge { src: "at.meme-museum.collectionItem:body", tgt: "at.meme-museum.collectionItem:body.descriptionFacets", kind: "prop", name: Some("descriptionFacets") }
  • RemovedEdge RemovedEdge { src: "at.meme-museum.collectionItem:body.descriptionFacets", tgt: "at.meme-museum.collectionItem:body.descriptionFacets:items", kind: "items", name: None }
  • RemovedEdge RemovedEdge { src: "at.meme-museum.collectionItem:body.descriptionFacets:items", tgt: "app.bsky.richtext.facet", kind: "ref", name: None }
Non-Breaking Changes (5)
  • AddedVertex AddedVertex { vertex_id: "at.meme-museum.collectionItem:body.collection" }
  • AddedVertex AddedVertex { vertex_id: "at.meme-museum.collectionItem:body.meme" }
  • AddedVertex AddedVertex { vertex_id: "com.atproto.repo.strongRef" }
  • AddedEdge AddedEdge { src: "at.meme-museum.collectionItem:body.collection", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "at.meme-museum.collectionItem:body.meme", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "app.bsky.richtext.facet" }
  • RemovedVertex { vertex_id: "at.meme-museum.collectionItem:body.avatar" }
  • RemovedVertex { vertex_id: "at.meme-museum.collectionItem:body.description" }
  • RemovedVertex { vertex_id: "at.meme-museum.collectionItem:body.descriptionFacets" }
  • RemovedVertex { vertex_id: "at.meme-museum.collectionItem:body.descriptionFacets:items" }
  • RemovedVertex { vertex_id: "at.meme-museum.collectionItem:body.name" }

Added Elements

  • AddedVertex { vertex_id: "at.meme-museum.collectionItem:body.collection" }
  • AddedVertex { vertex_id: "at.meme-museum.collectionItem:body.meme" }
  • AddedVertex { vertex_id: "com.atproto.repo.strongRef" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "at.meme-museum.collectionItem:body", src: "at.meme-museum.collectionItem:body", tgt: "at.meme-museum.collectionItem:body.collection", kind: "prop", name: Some("collection") }
  • Breaking: RequiredEdgeAdded { vertex_id: "at.meme-museum.collectionItem:body", src: "at.meme-museum.collectionItem:body", tgt: "at.meme-museum.collectionItem:body.meme", kind: "prop", name: Some("meme") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "at.meme-museum.collectionItem:body", src: "at.meme-museum.collectionItem:body", tgt: "at.meme-museum.collectionItem:body.name", kind: "prop", name: Some("name") }
  • Breaking: RemovedEdge { src: "at.meme-museum.collectionItem:body", tgt: "at.meme-museum.collectionItem:body.avatar", kind: "prop", name: Some("avatar") }
  • Breaking: RemovedEdge { src: "at.meme-museum.collectionItem:body", tgt: "at.meme-museum.collectionItem:body.description", kind: "prop", name: Some("description") }
  • Breaking: RemovedEdge { src: "at.meme-museum.collectionItem:body", tgt: "at.meme-museum.collectionItem:body.descriptionFacets", kind: "prop", name: Some("descriptionFacets") }
  • Breaking: RemovedEdge { src: "at.meme-museum.collectionItem:body.descriptionFacets", tgt: "at.meme-museum.collectionItem:body.descriptionFacets:items", kind: "items", name: None }
  • Breaking: RemovedEdge { src: "at.meme-museum.collectionItem:body.descriptionFacets:items", tgt: "app.bsky.richtext.facet", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "at.meme-museum.collectionItem:body.collection", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "at.meme-museum.collectionItem:body.meme", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 -
      "description": "TODO: describe purpose of this schema",
6 -
      "key": "any",
5 +
      "description": "Membership of one meme in one collection. One record per (collection, meme) pair, mirroring the app.bsky.graph.list/listitem split rather than an inline member array -- see docs/data-model.md.",
6 +
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 -
          "avatar": {
10 -
            "accept": [
11 -
              "image/png",
12 -
              "image/jpeg"
13 -
            ],
14 -
            "maxSize": 2000000,
15 -
            "type": "blob"
9 +
          "collection": {
10 +
            "description": "Reference to the at.meme-museum.collection record.",
11 +
            "ref": "com.atproto.repo.strongRef",
12 +
            "type": "ref"
16 13
          },
17 14
          "createdAt": {
18 15
            "format": "datetime",
19 16
            "type": "string"
20 17
          },
21 -
          "description": {
22 -
            "maxGraphemes": 300,
23 -
            "maxLength": 3000,
24 -
            "type": "string"
25 -
          },
26 -
          "descriptionFacets": {
27 -
            "items": {
28 -
              "ref": "app.bsky.richtext.facet",
29 -
              "type": "ref"
30 -
            },
31 -
            "type": "array"
32 -
          },
33 -
          "name": {
34 -
            "description": "TODO: title name of record; can not be empty",
35 -
            "maxGraphemes": 64,
36 -
            "maxLength": 640,
37 -
            "minLength": 1,
38 -
            "type": "string"
18 +
          "meme": {
19 +
            "description": "Reference to the at.meme-museum.meme record.",
20 +
            "ref": "com.atproto.repo.strongRef",
21 +
            "type": "ref"
39 22
          }
40 23
        },
41 24
        "required": [
42 -
          "name",
25 +
          "collection",
26 +
          "meme",
43 27
          "createdAt"
44 28
        ],
45 29
        "type": "object"
46 30
      },
47 31
      "type": "record"
48 32
    }
49 33
  },
50 34
  "id": "at.meme-museum.collectionItem",
51 35
  "lexicon": 1
52 36
}

Compare Other Versions

Lexicon Garden

@