at.meme-museum.collection

meme-museum.at

Schema Diff

+4 -22

From

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

To

CID
bafyreieq2vhrur6...
Indexed At
2026-08-25 00:51 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

10 breaking changes, 2 non-breaking changes.

Breaking Changes (10)
  • RemovedVertex RemovedVertex { vertex_id: "app.bsky.richtext.facet" }
  • RemovedVertex RemovedVertex { vertex_id: "at.meme-museum.collection:body.avatar" }
  • RemovedVertex RemovedVertex { vertex_id: "at.meme-museum.collection:body.descriptionFacets" }
  • RemovedVertex RemovedVertex { vertex_id: "at.meme-museum.collection:body.descriptionFacets:items" }
  • RemovedEdge RemovedEdge { src: "at.meme-museum.collection:body", tgt: "at.meme-museum.collection:body.avatar", kind: "prop", name: Some("avatar") }
  • RemovedEdge RemovedEdge { src: "at.meme-museum.collection:body", tgt: "at.meme-museum.collection:body.descriptionFacets", kind: "prop", name: Some("descriptionFacets") }
  • RemovedEdge RemovedEdge { src: "at.meme-museum.collection:body.descriptionFacets", tgt: "at.meme-museum.collection:body.descriptionFacets:items", kind: "items", name: None }
  • RemovedEdge RemovedEdge { src: "at.meme-museum.collection:body.descriptionFacets:items", tgt: "app.bsky.richtext.facet", kind: "ref", name: None }
  • ConstraintTightened ConstraintTightened { vertex_id: "at.meme-museum.collection:body.name", sort: "maxLength", old_value: "640", new_value: "100" }
  • ConstraintTightened ConstraintTightened { vertex_id: "at.meme-museum.collection:body.description", sort: "maxLength", old_value: "3000", new_value: "1000" }
Non-Breaking Changes (2)
  • ConstraintRemoved ConstraintRemoved { vertex_id: "at.meme-museum.collection:body.name", sort: "minLength" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "at.meme-museum.collection:body.description", sort: "maxGraphemes" }

Migration Guidance

Removed Elements

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

Constraint Changes

  • ConstraintTightened ConstraintTightened { vertex_id: "at.meme-museum.collection:body.name", sort: "maxLength", old_value: "640", new_value: "100" }
  • ConstraintTightened ConstraintTightened { vertex_id: "at.meme-museum.collection:body.description", sort: "maxLength", old_value: "3000", new_value: "1000" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "at.meme-museum.collection:body.name", sort: "minLength" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "at.meme-museum.collection:body.description", sort: "maxGraphemes" }

Additional Notes

  • Breaking: RemovedEdge { src: "at.meme-museum.collection:body", tgt: "at.meme-museum.collection:body.avatar", kind: "prop", name: Some("avatar") }
  • Breaking: RemovedEdge { src: "at.meme-museum.collection:body", tgt: "at.meme-museum.collection:body.descriptionFacets", kind: "prop", name: Some("descriptionFacets") }
  • Breaking: RemovedEdge { src: "at.meme-museum.collection:body.descriptionFacets", tgt: "at.meme-museum.collection:body.descriptionFacets:items", kind: "items", name: None }
  • Breaking: RemovedEdge { src: "at.meme-museum.collection:body.descriptionFacets:items", tgt: "app.bsky.richtext.facet", kind: "ref", name: None }
1 1
{
2 2
  "id": "at.meme-museum.collection",
3 3
  "defs": {
4 4
    "main": {
5 -
      "key": "any",
5 +
      "key": "tid",
6 6
      "type": "record",
7 7
      "record": {
8 8
        "type": "object",
9 9
        "required": [
10 10
          "name",
11 11
          "createdAt"
12 12
        ],
13 13
        "properties": {
14 14
          "name": {
15 15
            "type": "string",
16 -
            "maxLength": 640,
17 -
            "minLength": 1,
18 -
            "description": "TODO: title name of record; can not be empty",
16 +
            "maxLength": 100,
19 17
            "maxGraphemes": 64
20 18
          },
21 -
          "avatar": {
22 -
            "type": "blob",
23 -
            "accept": [
24 -
              "image/png",
25 -
              "image/jpeg"
26 -
            ],
27 -
            "maxSize": 2000000
28 -
          },
29 19
          "createdAt": {
30 20
            "type": "string",
31 21
            "format": "datetime"
32 22
          },
33 23
          "description": {
34 24
            "type": "string",
35 -
            "maxLength": 3000,
36 -
            "maxGraphemes": 300
37 -
          },
38 -
          "descriptionFacets": {
39 -
            "type": "array",
40 -
            "items": {
41 -
              "ref": "app.bsky.richtext.facet",
42 -
              "type": "ref"
43 -
            }
25 +
            "maxLength": 1000
44 26
          }
45 27
        }
46 28
      },
47 -
      "description": "TODO: describe purpose of this schema"
29 +
      "description": "A named board/folder of memes, e.g. \"reactions\" or \"cat pics\". Membership is recorded separately via at.meme-museum.collectionItem, not inline here."
48 30
    }
49 31
  },
50 32
  "$type": "com.atproto.lexicon.schema",
51 33
  "lexicon": 1
52 34
}

Compare Other Versions

Lexicon Garden

@