app.winesky.imageSet

winesky.app

Schema Diff

+21 -16

From

CID
bafyreiacp46e7al...
Indexed At
2026-02-18 18:26 UTC
View this version

To

CID
bafyreic3dfstckl...
Indexed At
2026-07-28 17:13 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

9 breaking changes, 4 non-breaking changes.

Breaking Changes (9)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.winesky.imageSet#strongRef", src: "app.winesky.imageSet#strongRef", tgt: "app.winesky.imageSet#strongRef.atUri", kind: "prop", name: Some("atUri") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.winesky.imageSet#strongRef", src: "app.winesky.imageSet#strongRef", tgt: "app.winesky.imageSet#strongRef.cid", kind: "prop", name: Some("cid") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "app.winesky.imageSet:body.parent", src: "app.winesky.imageSet:body.parent", tgt: "app.winesky.imageSet:body.parent.atUri", kind: "prop", name: Some("atUri") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "app.winesky.imageSet:body.parent", src: "app.winesky.imageSet:body.parent", tgt: "app.winesky.imageSet:body.parent.cid", kind: "prop", name: Some("cid") }
  • RemovedVertex RemovedVertex { vertex_id: "app.winesky.imageSet:body.parent.atUri" }
  • RemovedVertex RemovedVertex { vertex_id: "app.winesky.imageSet:body.parent.cid" }
  • KindChanged KindChanged { vertex_id: "app.winesky.imageSet:body.parent", old_kind: "object", new_kind: "ref" }
  • ConstraintTightened ConstraintTightened { vertex_id: "app.winesky.imageSet:body.origin", sort: "enum", old_value: "IDENTIFY_WINE,SOMMELIER,CSV_IMPORT,OTHER", new_value: "IDENTIFY_WINE,SEARCH,SOMMELIER,CSV_IMPORT,WINE_REVIEW" }
  • ConstraintAdded ConstraintAdded { vertex_id: "app.winesky.imageSet:body.parent", sort: "ref", value: "#strongRef" }
Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "app.winesky.imageSet#strongRef" }
  • AddedVertex AddedVertex { vertex_id: "app.winesky.imageSet#strongRef.atUri" }
  • AddedVertex AddedVertex { vertex_id: "app.winesky.imageSet#strongRef.cid" }
  • AddedEdge AddedEdge { src: "app.winesky.imageSet:body.parent", tgt: "app.winesky.imageSet#strongRef", kind: "ref", name: None }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "app.winesky.imageSet:body.parent.atUri" }
  • RemovedVertex { vertex_id: "app.winesky.imageSet:body.parent.cid" }

Added Elements

  • AddedVertex { vertex_id: "app.winesky.imageSet#strongRef" }
  • AddedVertex { vertex_id: "app.winesky.imageSet#strongRef.atUri" }
  • AddedVertex { vertex_id: "app.winesky.imageSet#strongRef.cid" }

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "app.winesky.imageSet:body.parent", sort: "ref", value: "#strongRef" }
  • ConstraintTightened ConstraintTightened { vertex_id: "app.winesky.imageSet:body.origin", sort: "enum", old_value: "IDENTIFY_WINE,SOMMELIER,CSV_IMPORT,OTHER", new_value: "IDENTIFY_WINE,SEARCH,SOMMELIER,CSV_IMPORT,WINE_REVIEW" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "app.winesky.imageSet#strongRef", src: "app.winesky.imageSet#strongRef", tgt: "app.winesky.imageSet#strongRef.atUri", kind: "prop", name: Some("atUri") }
  • Breaking: RequiredEdgeAdded { vertex_id: "app.winesky.imageSet#strongRef", src: "app.winesky.imageSet#strongRef", tgt: "app.winesky.imageSet#strongRef.cid", kind: "prop", name: Some("cid") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "app.winesky.imageSet:body.parent", src: "app.winesky.imageSet:body.parent", tgt: "app.winesky.imageSet:body.parent.atUri", kind: "prop", name: Some("atUri") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "app.winesky.imageSet:body.parent", src: "app.winesky.imageSet:body.parent", tgt: "app.winesky.imageSet:body.parent.cid", kind: "prop", name: Some("cid") }
  • Breaking: KindChanged { vertex_id: "app.winesky.imageSet:body.parent", old_kind: "object", new_kind: "ref" }
  • Non-breaking: AddedEdge { src: "app.winesky.imageSet:body.parent", tgt: "app.winesky.imageSet#strongRef", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "A set of Winesky-uploaded images",
6 6
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 9
          "createdAt": {
10 10
            "format": "datetime",
11 11
            "type": "string"
12 12
          },
13 13
          "description": {
14 14
            "maxLength": 5000,
15 15
            "type": "string"
16 16
          },
17 17
          "images": {
18 18
            "items": {
19 19
              "accept": [
20 20
                "image/jpeg",
21 21
                "image/png"
22 22
              ],
23 23
              "maxSize": 3000000,
24 24
              "type": "blob"
25 25
            },
26 26
            "maxLength": 4,
27 27
            "minLength": 1,
28 28
            "type": "array"
29 29
          },
30 30
          "origin": {
31 31
            "enum": [
32 32
              "IDENTIFY_WINE",
33 +
              "SEARCH",
33 34
              "SOMMELIER",
34 35
              "CSV_IMPORT",
35 -
              "OTHER"
36 +
              "WINE_REVIEW"
36 37
            ],
37 38
            "maxLength": 50,
38 39
            "type": "string"
39 40
          },
40 41
          "parent": {
41 -
            "properties": {
42 -
              "atUri": {
43 -
                "format": "at-uri",
44 -
                "type": "string"
45 -
              },
46 -
              "cid": {
47 -
                "format": "cid",
48 -
                "type": "string"
49 -
              }
50 -
            },
51 -
            "required": [
52 -
              "cid",
53 -
              "atUri"
54 -
            ],
55 -
            "type": "object"
42 +
            "ref": "#strongRef",
43 +
            "type": "ref"
56 44
          }
57 45
        },
58 46
        "required": [
59 47
          "origin",
60 48
          "createdAt"
61 49
        ],
62 50
        "type": "object"
63 51
      },
64 52
      "type": "record"
53 +
    },
54 +
    "strongRef": {
55 +
      "properties": {
56 +
        "atUri": {
57 +
          "format": "at-uri",
58 +
          "type": "string"
59 +
        },
60 +
        "cid": {
61 +
          "format": "cid",
62 +
          "type": "string"
63 +
        }
64 +
      },
65 +
      "required": [
66 +
        "cid",
67 +
        "atUri"
68 +
      ],
69 +
      "type": "object"
65 70
    }
66 71
  },
67 72
  "id": "app.winesky.imageSet",
68 73
  "lexicon": 1
69 74
}

Compare Other Versions

Lexicon Garden

@