space.opendeck.session

opendeck.space

Schema Diff

+5 -6

From

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

To

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

Compatibility Analysis

Breaking Changes Detected

5 breaking changes, 2 non-breaking changes.

Breaking Changes (5)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "space.opendeck.session:body", src: "space.opendeck.session:body", tgt: "space.opendeck.session:body.repetitions", kind: "prop", name: Some("repetitions") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "space.opendeck.session:body", src: "space.opendeck.session:body", tgt: "space.opendeck.session:body.reviews", kind: "prop", name: Some("reviews") }
  • RemovedVertex RemovedVertex { vertex_id: "space.opendeck.session:body.reviews" }
  • ConstraintTightened ConstraintTightened { vertex_id: "space.opendeck.session:body.deck", sort: "maxLength", old_value: "10000", new_value: "640" }
  • ConstraintTightened ConstraintTightened { vertex_id: "space.opendeck.session:body.deck", sort: "maxGraphemes", old_value: "1000", new_value: "64" }
Non-Breaking Changes (2)
  • AddedVertex AddedVertex { vertex_id: "space.opendeck.session:body.repetitions" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "space.opendeck.session:body.deck", sort: "format" }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "space.opendeck.session:body.reviews" }

Added Elements

  • AddedVertex { vertex_id: "space.opendeck.session:body.repetitions" }

Constraint Changes

  • ConstraintTightened ConstraintTightened { vertex_id: "space.opendeck.session:body.deck", sort: "maxGraphemes", old_value: "1000", new_value: "64" }
  • ConstraintTightened ConstraintTightened { vertex_id: "space.opendeck.session:body.deck", sort: "maxLength", old_value: "10000", new_value: "640" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "space.opendeck.session:body.deck", sort: "format" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "space.opendeck.session:body", src: "space.opendeck.session:body", tgt: "space.opendeck.session:body.repetitions", kind: "prop", name: Some("repetitions") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "space.opendeck.session:body", src: "space.opendeck.session:body", tgt: "space.opendeck.session:body.reviews", kind: "prop", name: Some("reviews") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "A finished study session. Written once; the source of study history and activity stats.",
6 6
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 9
          "activeSeconds": {
10 10
            "description": "Time spent on cards, with idle gaps capped.",
11 11
            "type": "integer"
12 12
          },
13 13
          "again": {
14 14
            "type": "integer"
15 15
          },
16 16
          "deck": {
17 -
            "description": "AT-URI of the deck that was studied.",
18 -
            "format": "at-uri",
19 -
            "maxGraphemes": 1000,
20 -
            "maxLength": 10000,
17 +
            "description": "Record key (rkey) of the studied deck.",
18 +
            "maxGraphemes": 64,
19 +
            "maxLength": 640,
21 20
            "type": "string"
22 21
          },
23 22
          "direction": {
24 23
            "description": "Study direction; absent means forward (front to back).",
25 24
            "enum": [
26 25
              "forward",
27 26
              "reverse"
28 27
            ],
29 28
            "type": "string"
30 29
          },
31 30
          "easy": {
32 31
            "type": "integer"
33 32
          },
34 33
          "endedAt": {
35 34
            "format": "datetime",
36 35
            "type": "string"
37 36
          },
38 37
          "good": {
39 38
            "type": "integer"
40 39
          },
41 40
          "hard": {
42 41
            "type": "integer"
43 42
          },
44 43
          "newCards": {
45 44
            "description": "Cards rated for the first time in this direction.",
46 45
            "type": "integer"
47 46
          },
48 -
          "reviews": {
47 +
          "repetitions": {
49 48
            "type": "integer"
50 49
          },
51 50
          "startedAt": {
52 51
            "format": "datetime",
53 52
            "type": "string"
54 53
          }
55 54
        },
56 55
        "required": [
57 56
          "startedAt",
58 57
          "endedAt",
59 58
          "activeSeconds",
60 -
          "reviews",
59 +
          "repetitions",
61 60
          "again",
62 61
          "hard",
63 62
          "good",
64 63
          "easy",
65 64
          "newCards"
66 65
        ],
67 66
        "type": "object"
68 67
      },
69 68
      "type": "record"
70 69
    }
71 70
  },
72 71
  "id": "space.opendeck.session",
73 72
  "lexicon": 1
74 73
}

Compare Other Versions

Lexicon Garden

@