garden.lexicon.nourishing-earthworm.crepeWatch

tyler.fun

Schema Diff

+39 -0

From

CID
bafyreiabp7ctgw4...
Indexed At
2026-09-30 04:17 UTC
View this version

To

CID
bafyreifmpc4avso...
Indexed At
2026-10-02 22:49 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

1 breaking change, 13 non-breaking changes.

Breaking Changes (1)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "garden.lexicon.nourishing-earthworm.crepeWatch#place", src: "garden.lexicon.nourishing-earthworm.crepeWatch#place", tgt: "garden.lexicon.nourishing-earthworm.crepeWatch#place.name", kind: "prop", name: Some("name") }
Non-Breaking Changes (13)
  • AddedVertex AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeWatch#place" }
  • AddedVertex AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeWatch#place.address" }
  • AddedVertex AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeWatch#place.fsqPlaceId" }
  • AddedVertex AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeWatch#place.latitude" }
  • AddedVertex AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeWatch#place.longitude" }
  • AddedVertex AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeWatch#place.name" }
  • AddedVertex AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeWatch:body.place" }
  • AddedEdge AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeWatch#place", tgt: "garden.lexicon.nourishing-earthworm.crepeWatch#place.address", kind: "prop", name: Some("address") }
  • AddedEdge AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeWatch#place", tgt: "garden.lexicon.nourishing-earthworm.crepeWatch#place.fsqPlaceId", kind: "prop", name: Some("fsqPlaceId") }
  • AddedEdge AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeWatch#place", tgt: "garden.lexicon.nourishing-earthworm.crepeWatch#place.latitude", kind: "prop", name: Some("latitude") }
  • AddedEdge AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeWatch#place", tgt: "garden.lexicon.nourishing-earthworm.crepeWatch#place.longitude", kind: "prop", name: Some("longitude") }
  • AddedEdge AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeWatch:body", tgt: "garden.lexicon.nourishing-earthworm.crepeWatch:body.place", kind: "prop", name: Some("place") }
  • AddedEdge AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeWatch:body.place", tgt: "garden.lexicon.nourishing-earthworm.crepeWatch#place", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeWatch#place" }
  • AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeWatch#place.address" }
  • AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeWatch#place.fsqPlaceId" }
  • AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeWatch#place.latitude" }
  • AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeWatch#place.longitude" }
  • AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeWatch#place.name" }
  • AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeWatch:body.place" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "garden.lexicon.nourishing-earthworm.crepeWatch#place", src: "garden.lexicon.nourishing-earthworm.crepeWatch#place", tgt: "garden.lexicon.nourishing-earthworm.crepeWatch#place.name", kind: "prop", name: Some("name") }
  • Non-breaking: AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeWatch#place", tgt: "garden.lexicon.nourishing-earthworm.crepeWatch#place.address", kind: "prop", name: Some("address") }
  • Non-breaking: AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeWatch#place", tgt: "garden.lexicon.nourishing-earthworm.crepeWatch#place.fsqPlaceId", kind: "prop", name: Some("fsqPlaceId") }
  • Non-breaking: AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeWatch#place", tgt: "garden.lexicon.nourishing-earthworm.crepeWatch#place.latitude", kind: "prop", name: Some("latitude") }
  • Non-breaking: AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeWatch#place", tgt: "garden.lexicon.nourishing-earthworm.crepeWatch#place.longitude", kind: "prop", name: Some("longitude") }
  • Non-breaking: AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeWatch:body", tgt: "garden.lexicon.nourishing-earthworm.crepeWatch:body.place", kind: "prop", name: Some("place") }
  • Non-breaking: AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeWatch:body.place", tgt: "garden.lexicon.nourishing-earthworm.crepeWatch#place", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "One viewing of a movie, or of a TV show, season or episode, in crepe's private diary. A watch with no rating and no review text is a plain play (for example an episode Plex reported) and stays out of the diary log.",
6 6
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 9
          "containsSpoilers": {
10 10
            "type": "boolean"
11 11
          },
12 12
          "createdAt": {
13 13
            "description": "When this record was created (not the watch time).",
14 14
            "format": "datetime",
15 15
            "type": "string"
16 16
          },
17 17
          "episodeNumber": {
18 18
            "description": "Required for episode watches.",
19 19
            "minimum": 0,
20 20
            "type": "integer"
21 21
          },
22 22
          "episodeTitle": {
23 23
            "maxLength": 1000,
24 24
            "type": "string"
25 25
          },
26 26
          "episodeTmdbId": {
27 27
            "description": "The episode's own TMDB id, when known.",
28 28
            "maxLength": 32,
29 29
            "type": "string"
30 30
          },
31 31
          "genres": {
32 32
            "items": {
33 33
              "maxLength": 100,
34 34
              "type": "string"
35 35
            },
36 36
            "maxLength": 20,
37 37
            "type": "array"
38 38
          },
39 39
          "imdbId": {
40 40
            "maxLength": 32,
41 41
            "type": "string"
42 42
          },
43 43
          "kind": {
44 44
            "description": "What was watched.",
45 45
            "knownValues": [
46 46
              "movie",
47 47
              "show",
48 48
              "season",
49 49
              "episode"
50 50
            ],
51 51
            "type": "string"
52 52
          },
53 53
          "mainCredit": {
54 54
            "maxLength": 300,
55 55
            "type": "string"
56 56
          },
57 57
          "mainCreditRole": {
58 58
            "knownValues": [
59 59
              "director",
60 60
              "creator"
61 61
            ],
62 62
            "type": "string"
63 63
          },
64 +
          "place": {
65 +
            "description": "Where it was watched: a movie theater from the Foursquare places catalog, or any place of the user's own (\"Steve's house\").",
66 +
            "ref": "#place",
67 +
            "type": "ref"
68 +
          },
64 69
          "rating": {
65 70
            "description": "Half stars out of five, times two. Absent means unrated.",
66 71
            "maximum": 10,
67 72
            "minimum": 1,
68 73
            "type": "integer"
69 74
          },
70 75
          "releaseDate": {
71 76
            "description": "Snapshot, YYYY-MM-DD.",
72 77
            "maxLength": 32,
73 78
            "type": "string"
74 79
          },
75 80
          "rewatch": {
76 81
            "description": "deprecated 2026-09-29: derived by readers, no longer written",
77 82
            "type": "boolean"
78 83
          },
79 84
          "seasonNumber": {
80 85
            "description": "Required for season and episode watches.",
81 86
            "minimum": 0,
82 87
            "type": "integer"
83 88
          },
84 89
          "source": {
85 90
            "description": "Where this watch was first recorded.",
86 91
            "knownValues": [
87 92
              "crepe",
88 93
              "plex",
89 94
              "popfeed",
90 95
              "letterboxd"
91 96
            ],
92 97
            "type": "string"
93 98
          },
94 99
          "stamps": {
95 100
            "description": "Map of field group name to hybrid logical clock stamp, for field-level last-write-wins merge between devices and the sync server.",
96 101
            "type": "unknown"
97 102
          },
98 103
          "tags": {
99 104
            "items": {
100 105
              "maxGraphemes": 64,
101 106
              "maxLength": 640,
102 107
              "type": "string"
103 108
            },
104 109
            "maxLength": 50,
105 110
            "type": "array"
106 111
          },
107 112
          "text": {
108 113
            "description": "Review text, plain.",
109 114
            "maxGraphemes": 10000,
110 115
            "maxLength": 100000,
111 116
            "type": "string"
112 117
          },
113 118
          "title": {
114 119
            "description": "Snapshot of the movie or show title, for offline display.",
115 120
            "maxLength": 1000,
116 121
            "type": "string"
117 122
          },
118 123
          "tmdbId": {
119 124
            "description": "TMDB id of the movie, or of the show for show, season and episode watches. Never an episode's own id.",
120 125
            "maxLength": 32,
121 126
            "type": "string"
122 127
          },
123 128
          "updatedAt": {
124 129
            "format": "datetime",
125 130
            "type": "string"
126 131
          },
127 132
          "watchedAt": {
128 133
            "description": "When it was watched. Absent for a watch logged without a date.",
129 134
            "format": "datetime",
130 135
            "type": "string"
131 136
          }
132 137
        },
133 138
        "required": [
134 139
          "kind",
135 140
          "tmdbId",
136 141
          "createdAt",
137 142
          "updatedAt"
138 143
        ],
139 144
        "type": "object"
140 145
      },
141 146
      "type": "record"
147 +
    },
148 +
    "place": {
149 +
      "properties": {
150 +
        "address": {
151 +
          "description": "One-line address snapshot, for display.",
152 +
          "maxGraphemes": 500,
153 +
          "maxLength": 5000,
154 +
          "type": "string"
155 +
        },
156 +
        "fsqPlaceId": {
157 +
          "description": "Foursquare OS Places id when the place came from the catalog. Absent for a place of the user's own.",
158 +
          "maxLength": 64,
159 +
          "type": "string"
160 +
        },
161 +
        "latitude": {
162 +
          "description": "Decimal degrees as a string, like community.lexicon.location.geo.",
163 +
          "maxLength": 32,
164 +
          "type": "string"
165 +
        },
166 +
        "longitude": {
167 +
          "maxLength": 32,
168 +
          "type": "string"
169 +
        },
170 +
        "name": {
171 +
          "description": "Display name. A theater's catalog name, or whatever the user typed.",
172 +
          "maxGraphemes": 300,
173 +
          "maxLength": 3000,
174 +
          "type": "string"
175 +
        }
176 +
      },
177 +
      "required": [
178 +
        "name"
179 +
      ],
180 +
      "type": "object"
142 181
    }
143 182
  },
144 183
  "id": "garden.lexicon.nourishing-earthworm.crepeWatch",
145 184
  "lexicon": 1
146 185
}

Compare Other Versions

Lexicon Garden

@