win.tomo-x.rogaining.defs

tomo-x.win

Schema Diff

+34 -7

From

CID
bafyreiczwvwwk2a...
Indexed At
2026-10-24 23:46 UTC
View this version

To

CID
bafyreidurlrmbww...
Indexed At
2026-10-25 06:10 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

6 breaking changes, 11 non-breaking changes.

Breaking Changes (6)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "win.tomo-x.rogaining.defs#submissionView", src: "win.tomo-x.rogaining.defs#submissionView", tgt: "win.tomo-x.rogaining.defs#submissionView.team", kind: "prop", name: Some("team") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "win.tomo-x.rogaining.defs#rankingEntry", src: "win.tomo-x.rogaining.defs#rankingEntry", tgt: "win.tomo-x.rogaining.defs#rankingEntry.team", kind: "prop", name: Some("team") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "win.tomo-x.rogaining.defs#rankingEntry", src: "win.tomo-x.rogaining.defs#rankingEntry", tgt: "win.tomo-x.rogaining.defs#rankingEntry.participant", kind: "prop", name: Some("participant") }
  • RemovedVertex RemovedVertex { vertex_id: "win.tomo-x.rogaining.defs#rankingEntry.participant" }
  • RemovedEdge RemovedEdge { src: "win.tomo-x.rogaining.defs#rankingEntry.participant", tgt: "app.bsky.actor.defs#profileViewBasic", kind: "ref", name: None }
  • ConstraintTightened ConstraintTightened { vertex_id: "win.tomo-x.rogaining.defs#submissionView.status", sort: "knownValues", old_value: "[\"pending\",\"approved\"]", new_value: "[\"pending\",\"approved\",\"rejected\"]" }
Non-Breaking Changes (11)
  • AddedVertex AddedVertex { vertex_id: "win.tomo-x.rogaining.defs#rankingEntry.team" }
  • AddedVertex AddedVertex { vertex_id: "win.tomo-x.rogaining.defs#submissionView.distanceMeters" }
  • AddedVertex AddedVertex { vertex_id: "win.tomo-x.rogaining.defs#submissionView.reason" }
  • AddedVertex AddedVertex { vertex_id: "win.tomo-x.rogaining.defs#submissionView.rejectionUri" }
  • AddedVertex AddedVertex { vertex_id: "win.tomo-x.rogaining.defs#submissionView.team" }
  • AddedVertex AddedVertex { vertex_id: "win.tomo-x.rogaining.defs#submissionView.withinEventPeriod" }
  • AddedEdge AddedEdge { src: "win.tomo-x.rogaining.defs#rankingEntry.team", tgt: "win.tomo-x.rogaining.defs#teamView", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "win.tomo-x.rogaining.defs#submissionView", tgt: "win.tomo-x.rogaining.defs#submissionView.distanceMeters", kind: "prop", name: Some("distanceMeters") }
  • AddedEdge AddedEdge { src: "win.tomo-x.rogaining.defs#submissionView", tgt: "win.tomo-x.rogaining.defs#submissionView.reason", kind: "prop", name: Some("reason") }
  • AddedEdge AddedEdge { src: "win.tomo-x.rogaining.defs#submissionView", tgt: "win.tomo-x.rogaining.defs#submissionView.rejectionUri", kind: "prop", name: Some("rejectionUri") }
  • AddedEdge AddedEdge { src: "win.tomo-x.rogaining.defs#submissionView", tgt: "win.tomo-x.rogaining.defs#submissionView.withinEventPeriod", kind: "prop", name: Some("withinEventPeriod") }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "win.tomo-x.rogaining.defs#rankingEntry.participant" }

Added Elements

  • AddedVertex { vertex_id: "win.tomo-x.rogaining.defs#rankingEntry.team" }
  • AddedVertex { vertex_id: "win.tomo-x.rogaining.defs#submissionView.distanceMeters" }
  • AddedVertex { vertex_id: "win.tomo-x.rogaining.defs#submissionView.reason" }
  • AddedVertex { vertex_id: "win.tomo-x.rogaining.defs#submissionView.rejectionUri" }
  • AddedVertex { vertex_id: "win.tomo-x.rogaining.defs#submissionView.team" }
  • AddedVertex { vertex_id: "win.tomo-x.rogaining.defs#submissionView.withinEventPeriod" }

Constraint Changes

  • ConstraintTightened ConstraintTightened { vertex_id: "win.tomo-x.rogaining.defs#submissionView.status", sort: "knownValues", old_value: "[\"pending\",\"approved\"]", new_value: "[\"pending\",\"approved\",\"rejected\"]" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "win.tomo-x.rogaining.defs#rankingEntry", src: "win.tomo-x.rogaining.defs#rankingEntry", tgt: "win.tomo-x.rogaining.defs#rankingEntry.team", kind: "prop", name: Some("team") }
  • Breaking: RequiredEdgeAdded { vertex_id: "win.tomo-x.rogaining.defs#submissionView", src: "win.tomo-x.rogaining.defs#submissionView", tgt: "win.tomo-x.rogaining.defs#submissionView.team", kind: "prop", name: Some("team") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "win.tomo-x.rogaining.defs#rankingEntry", src: "win.tomo-x.rogaining.defs#rankingEntry", tgt: "win.tomo-x.rogaining.defs#rankingEntry.participant", kind: "prop", name: Some("participant") }
  • Breaking: RemovedEdge { src: "win.tomo-x.rogaining.defs#rankingEntry.participant", tgt: "app.bsky.actor.defs#profileViewBasic", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "win.tomo-x.rogaining.defs#rankingEntry.team", tgt: "win.tomo-x.rogaining.defs#teamView", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "win.tomo-x.rogaining.defs#submissionView", tgt: "win.tomo-x.rogaining.defs#submissionView.distanceMeters", kind: "prop", name: Some("distanceMeters") }
  • Non-breaking: AddedEdge { src: "win.tomo-x.rogaining.defs#submissionView", tgt: "win.tomo-x.rogaining.defs#submissionView.reason", kind: "prop", name: Some("reason") }
  • Non-breaking: AddedEdge { src: "win.tomo-x.rogaining.defs#submissionView", tgt: "win.tomo-x.rogaining.defs#submissionView.rejectionUri", kind: "prop", name: Some("rejectionUri") }
  • Non-breaking: AddedEdge { src: "win.tomo-x.rogaining.defs#submissionView", tgt: "win.tomo-x.rogaining.defs#submissionView.withinEventPeriod", kind: "prop", name: Some("withinEventPeriod") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "checkpointView": {
5 5
      "properties": {
6 6
        "cid": {
7 7
          "format": "cid",
8 8
          "type": "string"
9 9
        },
10 10
        "imageUrl": {
11 11
          "description": "URL of the checkpoint image.",
12 12
          "format": "uri",
13 13
          "type": "string"
14 14
        },
15 15
        "indexedAt": {
16 16
          "format": "datetime",
17 17
          "type": "string"
18 18
        },
19 19
        "internalImageUrls": {
20 20
          "description": "URLs of the internal images. Only returned to the event's author.",
21 21
          "items": {
22 22
            "format": "uri",
23 23
            "type": "string"
24 24
          },
25 25
          "maxLength": 10,
26 26
          "type": "array"
27 27
        },
28 28
        "record": {
29 29
          "description": "The win.tomo-x.rogaining.checkpoint record.",
30 30
          "type": "unknown"
31 31
        },
32 32
        "uri": {
33 33
          "format": "at-uri",
34 34
          "type": "string"
35 35
        }
36 36
      },
37 37
      "required": [
38 38
        "uri",
39 39
        "cid",
40 40
        "record",
41 41
        "indexedAt"
42 42
      ],
43 43
      "type": "object"
44 44
    },
45 45
    "eventView": {
46 46
      "properties": {
47 47
        "approver": {
48 48
          "ref": "app.bsky.actor.defs#profileViewBasic",
49 49
          "type": "ref"
50 50
        },
51 51
        "author": {
52 52
          "ref": "app.bsky.actor.defs#profileViewBasic",
53 53
          "type": "ref"
54 54
        },
55 55
        "checkpointCount": {
56 56
          "minimum": 0,
57 57
          "type": "integer"
58 58
        },
59 59
        "cid": {
60 60
          "format": "cid",
61 61
          "type": "string"
62 62
        },
63 63
        "imageUrl": {
64 64
          "format": "uri",
65 65
          "type": "string"
66 66
        },
67 67
        "indexedAt": {
68 68
          "format": "datetime",
69 69
          "type": "string"
70 70
        },
71 71
        "participantCount": {
72 72
          "minimum": 0,
73 73
          "type": "integer"
74 74
        },
75 75
        "record": {
76 76
          "description": "The win.tomo-x.rogaining.event record.",
77 77
          "type": "unknown"
78 78
        },
79 79
        "teamCount": {
80 80
          "minimum": 0,
81 81
          "type": "integer"
82 82
        },
83 83
        "uri": {
84 84
          "format": "at-uri",
85 85
          "type": "string"
86 86
        }
87 87
      },
88 88
      "required": [
89 89
        "uri",
90 90
        "cid",
91 91
        "author",
92 92
        "record",
93 93
        "indexedAt"
94 94
      ],
95 95
      "type": "object"
96 96
    },
97 97
    "location": {
98 98
      "description": "Coordinates as decimal degrees encoded as strings (lexicon has no float type), e.g. \"35.681236\".",
99 99
      "properties": {
100 100
        "latitude": {
101 101
          "maxLength": 20,
102 102
          "type": "string"
103 103
        },
104 104
        "longitude": {
105 105
          "maxLength": 20,
106 106
          "type": "string"
107 107
        }
108 108
      },
109 109
      "required": [
110 110
        "latitude",
111 111
        "longitude"
112 112
      ],
113 113
      "type": "object"
114 114
    },
115 115
    "rankingEntry": {
116 116
      "properties": {
117 117
        "approvedCount": {
118 +
          "description": "Number of distinct non-goal checkpoints with an approved submission.",
118 119
          "minimum": 0,
119 120
          "type": "integer"
120 -
        },
121 -
        "participant": {
122 -
          "ref": "app.bsky.actor.defs#profileViewBasic",
123 -
          "type": "ref"
124 121
        },
125 122
        "rank": {
126 123
          "minimum": 1,
127 124
          "type": "integer"
128 125
        },
126 +
        "team": {
127 +
          "ref": "win.tomo-x.rogaining.defs#teamView",
128 +
          "type": "ref"
129 +
        },
129 130
        "totalPoints": {
131 +
          "description": "Sum of approved checkpoint points and the team's finish-time bonus.",
130 132
          "minimum": 0,
131 133
          "type": "integer"
132 134
        }
133 135
      },
134 136
      "required": [
135 -
        "participant",
137 +
        "team",
136 138
        "rank",
137 139
        "totalPoints",
138 140
        "approvedCount"
139 141
      ],
140 142
      "type": "object"
141 143
    },
142 144
    "submissionView": {
143 145
      "properties": {
144 146
        "approvalUri": {
145 147
          "description": "AT-URI of the approve record, if approved.",
146 148
          "format": "at-uri",
147 149
          "type": "string"
148 150
        },
149 151
        "author": {
150 152
          "ref": "app.bsky.actor.defs#profileViewBasic",
151 153
          "type": "ref"
152 154
        },
153 155
        "cid": {
154 156
          "format": "cid",
155 157
          "type": "string"
156 158
        },
159 +
        "distanceMeters": {
160 +
          "description": "Distance between the submitted location and the checkpoint, for the approver's review.",
161 +
          "minimum": 0,
162 +
          "type": "integer"
163 +
        },
157 164
        "indexedAt": {
158 165
          "format": "datetime",
159 166
          "type": "string"
160 167
        },
161 168
        "photoUrl": {
162 169
          "format": "uri",
163 170
          "type": "string"
164 171
        },
172 +
        "reason": {
173 +
          "description": "The reason of the approve or reject record that decided the status.",
174 +
          "type": "string"
175 +
        },
165 176
        "record": {
166 177
          "description": "The win.tomo-x.rogaining.submit record.",
167 178
          "type": "unknown"
168 179
        },
180 +
        "rejectionUri": {
181 +
          "description": "AT-URI of the reject record, if rejected.",
182 +
          "format": "at-uri",
183 +
          "type": "string"
184 +
        },
169 185
        "status": {
170 -
          "description": "approved when a valid approve record by the event's approver exists.",
186 +
          "description": "Decided by one valid approve or reject record for the submission's current cid, made by the event's author or approver. The author's records take precedence over the approver's; among one account's records, the one with the newest createdAt wins. approved or rejected by that record, otherwise pending. Only approved submissions count for the ranking.",
171 187
          "knownValues": [
172 188
            "pending",
173 -
            "approved"
189 +
            "approved",
190 +
            "rejected"
174 191
          ],
175 192
          "type": "string"
176 193
        },
194 +
        "team": {
195 +
          "description": "The team the author belongs to in this event.",
196 +
          "format": "at-uri",
197 +
          "type": "string"
198 +
        },
177 199
        "uri": {
178 200
          "format": "at-uri",
179 201
          "type": "string"
202 +
        },
203 +
        "withinEventPeriod": {
204 +
          "description": "Whether the submission's createdAt is between the event's startsAt and endsAt, for the approver's review.",
205 +
          "type": "boolean"
180 206
        }
181 207
      },
182 208
      "required": [
183 209
        "uri",
184 210
        "cid",
185 211
        "author",
212 +
        "team",
186 213
        "record",
187 214
        "status",
188 215
        "indexedAt"
189 216
      ],
190 217
      "type": "object"
191 218
    },
192 219
    "teamView": {
193 220
      "properties": {
194 221
        "cid": {
195 222
          "format": "cid",
196 223
          "type": "string"
197 224
        },
198 225
        "indexedAt": {
199 226
          "format": "datetime",
200 227
          "type": "string"
201 228
        },
202 229
        "members": {
203 230
          "description": "Profiles of the team members.",
204 231
          "items": {
205 232
            "ref": "app.bsky.actor.defs#profileViewBasic",
206 233
            "type": "ref"
207 234
          },
208 235
          "type": "array"
209 236
        },
210 237
        "record": {
211 238
          "description": "The win.tomo-x.rogaining.team record.",
212 239
          "type": "unknown"
213 240
        },
214 241
        "uri": {
215 242
          "format": "at-uri",
216 243
          "type": "string"
217 244
        }
218 245
      },
219 246
      "required": [
220 247
        "uri",
221 248
        "cid",
222 249
        "record",
223 250
        "members",
224 251
        "indexedAt"
225 252
      ],
226 253
      "type": "object"
227 254
    }
228 255
  },
229 256
  "id": "win.tomo-x.rogaining.defs",
230 257
  "lexicon": 1
231 258
}

Compare Other Versions

Lexicon Garden

@