space.opendeck.card

opendeck.space

Schema Diff

+14 -10

From

CID
bafyreiazeoyyjrg...
Indexed At
2026-09-23 18:10 UTC
View this version

To

CID
bafyreiahubszrr7...
Indexed At
2026-09-23 21:36 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

4 breaking changes, 6 non-breaking changes.

Breaking Changes (4)
  • RemovedVertex RemovedVertex { vertex_id: "space.opendeck.card:body.phonetic" }
  • RemovedVertex RemovedVertex { vertex_id: "space.opendeck.card:body.phoneticFront" }
  • RemovedEdge RemovedEdge { src: "space.opendeck.card:body", tgt: "space.opendeck.card:body.phonetic", kind: "prop", name: Some("phonetic") }
  • RemovedEdge RemovedEdge { src: "space.opendeck.card:body", tgt: "space.opendeck.card:body.phoneticFront", kind: "prop", name: Some("phoneticFront") }
Non-Breaking Changes (6)
  • AddedVertex AddedVertex { vertex_id: "space.opendeck.card:body.backReading" }
  • AddedVertex AddedVertex { vertex_id: "space.opendeck.card:body.frontReading" }
  • AddedVertex AddedVertex { vertex_id: "space.opendeck.card:body.updatedAt" }
  • AddedEdge AddedEdge { src: "space.opendeck.card:body", tgt: "space.opendeck.card:body.backReading", kind: "prop", name: Some("backReading") }
  • AddedEdge AddedEdge { src: "space.opendeck.card:body", tgt: "space.opendeck.card:body.frontReading", kind: "prop", name: Some("frontReading") }
  • AddedEdge AddedEdge { src: "space.opendeck.card:body", tgt: "space.opendeck.card:body.updatedAt", kind: "prop", name: Some("updatedAt") }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "space.opendeck.card:body.phonetic" }
  • RemovedVertex { vertex_id: "space.opendeck.card:body.phoneticFront" }

Added Elements

  • AddedVertex { vertex_id: "space.opendeck.card:body.backReading" }
  • AddedVertex { vertex_id: "space.opendeck.card:body.frontReading" }
  • AddedVertex { vertex_id: "space.opendeck.card:body.updatedAt" }

Additional Notes

  • Breaking: RemovedEdge { src: "space.opendeck.card:body", tgt: "space.opendeck.card:body.phonetic", kind: "prop", name: Some("phonetic") }
  • Breaking: RemovedEdge { src: "space.opendeck.card:body", tgt: "space.opendeck.card:body.phoneticFront", kind: "prop", name: Some("phoneticFront") }
  • Non-breaking: AddedEdge { src: "space.opendeck.card:body", tgt: "space.opendeck.card:body.backReading", kind: "prop", name: Some("backReading") }
  • Non-breaking: AddedEdge { src: "space.opendeck.card:body", tgt: "space.opendeck.card:body.frontReading", kind: "prop", name: Some("frontReading") }
  • Non-breaking: AddedEdge { src: "space.opendeck.card:body", tgt: "space.opendeck.card:body.updatedAt", kind: "prop", name: Some("updatedAt") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "A flashcard belonging to a deck.",
6 6
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 9
          "audio": {
10 10
            "accept": [
11 11
              "audio/*"
12 12
            ],
13 13
            "description": "Optional audio blob (pronunciation).",
14 14
            "maxSize": 5000000,
15 15
            "type": "blob"
16 16
          },
17 17
          "back": {
18 18
            "maxGraphemes": 2000,
19 19
            "maxLength": 20000,
20 20
            "type": "string"
21 21
          },
22 +
          "backReading": {
23 +
            "description": "Reading of the back, e.g. IPA, pinyin or rōmaji.",
24 +
            "maxGraphemes": 500,
25 +
            "maxLength": 5000,
26 +
            "type": "string"
27 +
          },
22 28
          "createdAt": {
23 29
            "format": "datetime",
24 30
            "type": "string"
25 31
          },
26 32
          "deck": {
27 33
            "description": "Record key (rkey) of the owning deck in the same repo.",
28 34
            "maxGraphemes": 64,
29 35
            "maxLength": 640,
30 36
            "type": "string"
31 37
          },
32 38
          "examples": {
33 39
            "items": {
34 40
              "maxGraphemes": 1000,
35 41
              "maxLength": 10000,
36 42
              "type": "string"
37 43
            },
38 44
            "maxLength": 20,
39 45
            "type": "array"
40 46
          },
41 47
          "front": {
42 48
            "maxGraphemes": 2000,
43 49
            "maxLength": 20000,
44 50
            "type": "string"
45 51
          },
52 +
          "frontReading": {
53 +
            "description": "Reading of the front, e.g. IPA, pinyin or rōmaji.",
54 +
            "maxGraphemes": 500,
55 +
            "maxLength": 5000,
56 +
            "type": "string"
57 +
          },
46 58
          "hint": {
47 59
            "maxGraphemes": 1000,
48 60
            "maxLength": 10000,
49 61
            "type": "string"
50 62
          },
51 63
          "image": {
52 64
            "accept": [
53 65
              "image/*"
54 66
            ],
55 67
            "description": "Optional image blob shown on the card.",
56 68
            "maxSize": 5000000,
57 69
            "type": "blob"
58 70
          },
59 71
          "imageAlt": {
60 72
            "description": "Alt text for the image (accessibility).",
61 73
            "maxGraphemes": 1000,
62 74
            "maxLength": 10000,
63 75
            "type": "string"
64 76
          },
65 77
          "order": {
66 78
            "type": "integer"
67 79
          },
68 -
          "phonetic": {
69 -
            "description": "Pronunciation of the back, e.g. IPA, pinyin or rōmaji.",
70 -
            "maxGraphemes": 500,
71 -
            "maxLength": 5000,
72 -
            "type": "string"
73 -
          },
74 -
          "phoneticFront": {
75 -
            "description": "Pronunciation of the front, e.g. IPA, pinyin or rōmaji.",
76 -
            "maxGraphemes": 500,
77 -
            "maxLength": 5000,
80 +
          "updatedAt": {
81 +
            "format": "datetime",
78 82
            "type": "string"
79 83
          }
80 84
        },
81 85
        "required": [
82 86
          "deck",
83 87
          "front",
84 88
          "back",
85 89
          "createdAt"
86 90
        ],
87 91
        "type": "object"
88 92
      },
89 93
      "type": "record"
90 94
    }
91 95
  },
92 96
  "id": "space.opendeck.card",
93 97
  "lexicon": 1
94 98
}

Compare Other Versions

Lexicon Garden

@