tools.ozone.report.defs

ozone-lexicons.bsky.social

Schema Diff

+29 -0

From

CID
bafyreibfark4q32...
Indexed At
2026-10-03 21:31 UTC
View this version

To

CID
bafyreierydps5vi...
Indexed At
2026-10-07 18:19 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

8 breaking changes, 16 non-breaking changes.

Breaking Changes (8)
  • RemovedEdge RemovedEdge { src: "tools.ozone.report.defs#reportActivityView.activity", tgt: "tools.ozone.report.defs#reportActivityView.activity:variant2", kind: "variant", name: Some("#escalationActivity") }
  • RemovedEdge RemovedEdge { src: "tools.ozone.report.defs#reportActivityView.activity", tgt: "tools.ozone.report.defs#reportActivityView.activity:variant3", kind: "variant", name: Some("#closeActivity") }
  • RemovedEdge RemovedEdge { src: "tools.ozone.report.defs#reportActivityView.activity", tgt: "tools.ozone.report.defs#reportActivityView.activity:variant4", kind: "variant", name: Some("#reopenActivity") }
  • RemovedEdge RemovedEdge { src: "tools.ozone.report.defs#reportActivityView.activity", tgt: "tools.ozone.report.defs#reportActivityView.activity:variant5", kind: "variant", name: Some("#noteActivity") }
  • RemovedEdge RemovedEdge { src: "tools.ozone.report.defs#reportActivityView.activity:variant2", tgt: "tools.ozone.report.defs#escalationActivity", kind: "ref", name: None }
  • RemovedEdge RemovedEdge { src: "tools.ozone.report.defs#reportActivityView.activity:variant3", tgt: "tools.ozone.report.defs#closeActivity", kind: "ref", name: None }
  • RemovedEdge RemovedEdge { src: "tools.ozone.report.defs#reportActivityView.activity:variant4", tgt: "tools.ozone.report.defs#reopenActivity", kind: "ref", name: None }
  • RemovedEdge RemovedEdge { src: "tools.ozone.report.defs#reportActivityView.activity:variant5", tgt: "tools.ozone.report.defs#noteActivity", kind: "ref", name: None }
Non-Breaking Changes (16)
  • AddedVertex AddedVertex { vertex_id: "tools.ozone.report.defs#reportActivityView.activity:variant6" }
  • AddedVertex AddedVertex { vertex_id: "tools.ozone.report.defs#unassignmentActivity" }
  • AddedVertex AddedVertex { vertex_id: "tools.ozone.report.defs#unassignmentActivity.nextStatus" }
  • AddedVertex AddedVertex { vertex_id: "tools.ozone.report.defs#unassignmentActivity.previousStatus" }
  • AddedEdge AddedEdge { src: "tools.ozone.report.defs#reportActivityView.activity", tgt: "tools.ozone.report.defs#reportActivityView.activity:variant2", kind: "variant", name: Some("#unassignmentActivity") }
  • AddedEdge AddedEdge { src: "tools.ozone.report.defs#reportActivityView.activity", tgt: "tools.ozone.report.defs#reportActivityView.activity:variant3", kind: "variant", name: Some("#escalationActivity") }
  • AddedEdge AddedEdge { src: "tools.ozone.report.defs#reportActivityView.activity", tgt: "tools.ozone.report.defs#reportActivityView.activity:variant4", kind: "variant", name: Some("#closeActivity") }
  • AddedEdge AddedEdge { src: "tools.ozone.report.defs#reportActivityView.activity", tgt: "tools.ozone.report.defs#reportActivityView.activity:variant5", kind: "variant", name: Some("#reopenActivity") }
  • AddedEdge AddedEdge { src: "tools.ozone.report.defs#reportActivityView.activity", tgt: "tools.ozone.report.defs#reportActivityView.activity:variant6", kind: "variant", name: Some("#noteActivity") }
  • AddedEdge AddedEdge { src: "tools.ozone.report.defs#reportActivityView.activity:variant2", tgt: "tools.ozone.report.defs#unassignmentActivity", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "tools.ozone.report.defs#reportActivityView.activity:variant3", tgt: "tools.ozone.report.defs#escalationActivity", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "tools.ozone.report.defs#reportActivityView.activity:variant4", tgt: "tools.ozone.report.defs#closeActivity", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "tools.ozone.report.defs#reportActivityView.activity:variant5", tgt: "tools.ozone.report.defs#reopenActivity", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "tools.ozone.report.defs#reportActivityView.activity:variant6", tgt: "tools.ozone.report.defs#noteActivity", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "tools.ozone.report.defs#unassignmentActivity", tgt: "tools.ozone.report.defs#unassignmentActivity.nextStatus", kind: "prop", name: Some("nextStatus") }
  • AddedEdge AddedEdge { src: "tools.ozone.report.defs#unassignmentActivity", tgt: "tools.ozone.report.defs#unassignmentActivity.previousStatus", kind: "prop", name: Some("previousStatus") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "tools.ozone.report.defs#reportActivityView.activity:variant6" }
  • AddedVertex { vertex_id: "tools.ozone.report.defs#unassignmentActivity" }
  • AddedVertex { vertex_id: "tools.ozone.report.defs#unassignmentActivity.nextStatus" }
  • AddedVertex { vertex_id: "tools.ozone.report.defs#unassignmentActivity.previousStatus" }

Additional Notes

  • Breaking: RemovedEdge { src: "tools.ozone.report.defs#reportActivityView.activity", tgt: "tools.ozone.report.defs#reportActivityView.activity:variant2", kind: "variant", name: Some("#escalationActivity") }
  • Breaking: RemovedEdge { src: "tools.ozone.report.defs#reportActivityView.activity", tgt: "tools.ozone.report.defs#reportActivityView.activity:variant3", kind: "variant", name: Some("#closeActivity") }
  • Breaking: RemovedEdge { src: "tools.ozone.report.defs#reportActivityView.activity", tgt: "tools.ozone.report.defs#reportActivityView.activity:variant4", kind: "variant", name: Some("#reopenActivity") }
  • Breaking: RemovedEdge { src: "tools.ozone.report.defs#reportActivityView.activity", tgt: "tools.ozone.report.defs#reportActivityView.activity:variant5", kind: "variant", name: Some("#noteActivity") }
  • Breaking: RemovedEdge { src: "tools.ozone.report.defs#reportActivityView.activity:variant2", tgt: "tools.ozone.report.defs#escalationActivity", kind: "ref", name: None }
  • Breaking: RemovedEdge { src: "tools.ozone.report.defs#reportActivityView.activity:variant3", tgt: "tools.ozone.report.defs#closeActivity", kind: "ref", name: None }
  • Breaking: RemovedEdge { src: "tools.ozone.report.defs#reportActivityView.activity:variant4", tgt: "tools.ozone.report.defs#reopenActivity", kind: "ref", name: None }
  • Breaking: RemovedEdge { src: "tools.ozone.report.defs#reportActivityView.activity:variant5", tgt: "tools.ozone.report.defs#noteActivity", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "tools.ozone.report.defs#reportActivityView.activity", tgt: "tools.ozone.report.defs#reportActivityView.activity:variant2", kind: "variant", name: Some("#unassignmentActivity") }
  • Non-breaking: AddedEdge { src: "tools.ozone.report.defs#reportActivityView.activity", tgt: "tools.ozone.report.defs#reportActivityView.activity:variant3", kind: "variant", name: Some("#escalationActivity") }
  • Non-breaking: AddedEdge { src: "tools.ozone.report.defs#reportActivityView.activity", tgt: "tools.ozone.report.defs#reportActivityView.activity:variant4", kind: "variant", name: Some("#closeActivity") }
  • Non-breaking: AddedEdge { src: "tools.ozone.report.defs#reportActivityView.activity", tgt: "tools.ozone.report.defs#reportActivityView.activity:variant5", kind: "variant", name: Some("#reopenActivity") }
  • Non-breaking: AddedEdge { src: "tools.ozone.report.defs#reportActivityView.activity", tgt: "tools.ozone.report.defs#reportActivityView.activity:variant6", kind: "variant", name: Some("#noteActivity") }
  • Non-breaking: AddedEdge { src: "tools.ozone.report.defs#reportActivityView.activity:variant2", tgt: "tools.ozone.report.defs#unassignmentActivity", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "tools.ozone.report.defs#reportActivityView.activity:variant3", tgt: "tools.ozone.report.defs#escalationActivity", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "tools.ozone.report.defs#reportActivityView.activity:variant4", tgt: "tools.ozone.report.defs#closeActivity", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "tools.ozone.report.defs#reportActivityView.activity:variant5", tgt: "tools.ozone.report.defs#reopenActivity", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "tools.ozone.report.defs#reportActivityView.activity:variant6", tgt: "tools.ozone.report.defs#noteActivity", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "tools.ozone.report.defs#unassignmentActivity", tgt: "tools.ozone.report.defs#unassignmentActivity.nextStatus", kind: "prop", name: Some("nextStatus") }
  • Non-breaking: AddedEdge { src: "tools.ozone.report.defs#unassignmentActivity", tgt: "tools.ozone.report.defs#unassignmentActivity.previousStatus", kind: "prop", name: Some("previousStatus") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "assignmentActivity": {
5 5
      "description": "Activity recording a moderator being assigned to a report.",
6 6
      "properties": {
7 7
        "previousStatus": {
8 8
          "description": "The report's status before this activity. Populated automatically from the report row; not required in input.",
9 9
          "knownValues": [
10 10
            "open",
11 11
            "closed",
12 12
            "escalated",
13 13
            "queued",
14 14
            "assigned"
15 15
          ],
16 16
          "type": "string"
17 17
        }
18 18
      },
19 19
      "type": "object"
20 20
    },
21 21
    "assignmentView": {
22 22
      "properties": {
23 23
        "did": {
24 24
          "format": "did",
25 25
          "type": "string"
26 26
        },
27 27
        "endAt": {
28 28
          "format": "datetime",
29 29
          "type": "string"
30 30
        },
31 31
        "id": {
32 32
          "type": "integer"
33 33
        },
34 34
        "moderator": {
35 35
          "description": "The moderator assigned to this report",
36 36
          "ref": "tools.ozone.team.defs#member",
37 37
          "type": "ref"
38 38
        },
39 39
        "queue": {
40 40
          "ref": "tools.ozone.queue.defs#queueView",
41 41
          "type": "ref"
42 42
        },
43 43
        "reportId": {
44 44
          "type": "integer"
45 45
        },
46 46
        "startAt": {
47 47
          "format": "datetime",
48 48
          "type": "string"
49 49
        }
50 50
      },
51 51
      "required": [
52 52
        "id",
53 53
        "did",
54 54
        "reportId",
55 55
        "startAt"
56 56
      ],
57 57
      "type": "object"
58 58
    },
59 59
    "closeActivity": {
60 60
      "description": "Activity recording a report being closed.",
61 61
      "properties": {
62 62
        "previousStatus": {
63 63
          "description": "The report's status before this activity. Populated automatically from the report row; not required in input.",
64 64
          "knownValues": [
65 65
            "open",
66 66
            "closed",
67 67
            "escalated",
68 68
            "queued",
69 69
            "assigned"
70 70
          ],
71 71
          "type": "string"
72 72
        }
73 73
      },
74 74
      "type": "object"
75 75
    },
76 76
    "escalationActivity": {
77 77
      "description": "Activity recording a report being escalated.",
78 78
      "properties": {
79 79
        "previousStatus": {
80 80
          "description": "The report's status before this activity. Populated automatically from the report row; not required in input.",
81 81
          "knownValues": [
82 82
            "open",
83 83
            "closed",
84 84
            "escalated",
85 85
            "queued",
86 86
            "assigned"
87 87
          ],
88 88
          "type": "string"
89 89
        }
90 90
      },
91 91
      "type": "object"
92 92
    },
93 93
    "historicalStats": {
94 94
      "description": "A single daily snapshot of report statistics for a calendar date.",
95 95
      "properties": {
96 96
        "acknowledgedCount": {
97 97
          "description": "Number of closures whose last report action is not label, tag, or takedown during this day.",
98 98
          "type": "integer"
99 99
        },
100 100
        "actionRate": {
101 101
          "description": "Percentage of closures actioned (actionedCount / closedCount * 100), rounded to nearest integer.",
102 102
          "type": "integer"
103 103
        },
104 104
        "actionedCount": {
105 105
          "description": "Number of closures whose last report action is label, tag, or takedown during this day.",
106 106
          "type": "integer"
107 107
        },
108 108
        "ahtDurationSec": {
109 109
          "description": "Sum of report assignment-to-close seconds for this day's samples.",
110 110
          "type": "integer"
111 111
        },
112 112
        "ahtSampleCount": {
113 113
          "description": "Number of assigned closed-report samples in ahtDurationSec.",
114 114
          "type": "integer"
115 115
        },
116 116
        "avgHandlingTimeSec": {
117 117
          "description": "Average handling time in seconds from report assignment to close.",
118 118
          "type": "integer"
119 119
        },
120 120
        "avgResolutionTimeSec": {
121 121
          "description": "Average resolution time in seconds from report creation to close.",
122 122
          "type": "integer"
123 123
        },
124 124
        "closedCount": {
125 125
          "description": "Number of close transitions during this day.",
126 126
          "type": "integer"
127 127
        },
128 128
        "computedAt": {
129 129
          "description": "When this snapshot was last computed.",
130 130
          "format": "datetime",
131 131
          "type": "string"
132 132
        },
133 133
        "date": {
134 134
          "description": "The calendar date this snapshot covers (YYYY-MM-DD).",
135 135
          "type": "string"
136 136
        },
137 137
        "escalatedCount": {
138 138
          "description": "Number of reports escalated during this day.",
139 139
          "type": "integer"
140 140
        },
141 141
        "inboundCount": {
142 142
          "description": "Reports received during this day.",
143 143
          "type": "integer"
144 144
        },
145 145
        "labelActionCount": {
146 146
          "description": "Closures whose last report action is a label event during this day.",
147 147
          "type": "integer"
148 148
        },
149 149
        "pendingCount": {
150 150
          "description": "Number of reports not closed at time of computation.",
151 151
          "type": "integer"
152 152
        },
153 153
        "resolutionDurationSec": {
154 154
          "description": "Sum of report creation-to-close seconds for this day's samples.",
155 155
          "type": "integer"
156 156
        },
157 157
        "resolutionSampleCount": {
158 158
          "description": "Number of closed-report samples in resolutionDurationSec.",
159 159
          "type": "integer"
160 160
        },
161 161
        "tagActionCount": {
162 162
          "description": "Closures whose last report action is a tag event during this day.",
163 163
          "type": "integer"
164 164
        },
165 165
        "takedownActionCount": {
166 166
          "description": "Closures whose last report action is a takedown event during this day.",
167 167
          "type": "integer"
168 168
        }
169 169
      },
170 170
      "required": [
171 171
        "date"
172 172
      ],
173 173
      "type": "object"
174 174
    },
175 175
    "liveStats": {
176 176
      "description": "Live statistics for reports for the current calendar day, filterable by queue, moderator, or report type.",
177 177
      "properties": {
178 178
        "acknowledgedCount": {
179 179
          "description": "Number of closures whose last report action is not label, tag, or takedown.",
180 180
          "type": "integer"
181 181
        },
182 182
        "actionRate": {
183 183
          "description": "Percentage of closures actioned (actionedCount / closedCount * 100), rounded to nearest integer.",
184 184
          "type": "integer"
185 185
        },
186 186
        "actionedCount": {
187 187
          "description": "Number of closures whose last report action is label, tag, or takedown.",
188 188
          "type": "integer"
189 189
        },
190 190
        "ahtDurationSec": {
191 191
          "description": "Sum of report assignment-to-close seconds.",
192 192
          "type": "integer"
193 193
        },
194 194
        "ahtSampleCount": {
195 195
          "description": "Number of assigned closed-report samples in ahtDurationSec.",
196 196
          "type": "integer"
197 197
        },
198 198
        "avgHandlingTimeSec": {
199 199
          "description": "Average handling time in seconds from report assignment to close.",
200 200
          "type": "integer"
201 201
        },
202 202
        "avgResolutionTimeSec": {
203 203
          "description": "Average resolution time in seconds from report creation to close.",
204 204
          "type": "integer"
205 205
        },
206 206
        "closedCount": {
207 207
          "description": "Number of close transitions.",
208 208
          "type": "integer"
209 209
        },
210 210
        "escalatedCount": {
211 211
          "description": "Number of reports escalated.",
212 212
          "type": "integer"
213 213
        },
214 214
        "inboundCount": {
215 215
          "description": "Reports received.",
216 216
          "type": "integer"
217 217
        },
218 218
        "labelActionCount": {
219 219
          "description": "Closures whose last report action is a label event.",
220 220
          "type": "integer"
221 221
        },
222 222
        "lastUpdated": {
223 223
          "description": "When these statistics were last computed.",
224 224
          "format": "datetime",
225 225
          "type": "string"
226 226
        },
227 227
        "pendingCount": {
228 228
          "description": "Number of reports currently not closed.",
229 229
          "type": "integer"
230 230
        },
231 231
        "resolutionDurationSec": {
232 232
          "description": "Sum of report creation-to-close seconds.",
233 233
          "type": "integer"
234 234
        },
235 235
        "resolutionSampleCount": {
236 236
          "description": "Number of closed-report samples in resolutionDurationSec.",
237 237
          "type": "integer"
238 238
        },
239 239
        "tagActionCount": {
240 240
          "description": "Closures whose last report action is a tag event.",
241 241
          "type": "integer"
242 242
        },
243 243
        "takedownActionCount": {
244 244
          "description": "Closures whose last report action is a takedown event.",
245 245
          "type": "integer"
246 246
        }
247 247
      },
248 248
      "type": "object"
249 249
    },
250 250
    "noteActivity": {
251 251
      "description": "Activity recording a note on a report. Use internalNote for moderator-only notes or publicNote for reporter-visible notes (or both).",
252 252
      "properties": {},
253 253
      "type": "object"
254 254
    },
255 255
    "queueActivity": {
256 256
      "description": "Activity recording a report being routed to a queue.",
257 257
      "properties": {
258 258
        "previousStatus": {
259 259
          "description": "The report's status before this activity. Populated automatically from the report row; not required in input.",
260 260
          "knownValues": [
261 261
            "open",
262 262
            "closed",
263 263
            "escalated",
264 264
            "queued",
265 265
            "assigned"
266 266
          ],
267 267
          "type": "string"
268 268
        }
269 269
      },
270 270
      "type": "object"
271 271
    },
272 272
    "reasonAppeal": {
273 273
      "description": "Appeal a previously taken moderation action",
274 274
      "type": "token"
275 275
    },
276 276
    "reasonChildSafetyCSAM": {
277 277
      "description": "Child sexual abuse material (CSAM). These reports will be sent only be sent to the application's Moderation Authority.",
278 278
      "type": "token"
279 279
    },
280 280
    "reasonChildSafetyGroom": {
281 281
      "description": "Grooming or predatory behavior. These reports will be sent only be sent to the application's Moderation Authority.",
282 282
      "type": "token"
283 283
    },
284 284
    "reasonChildSafetyHarassment": {
285 285
      "description": "Harassment or bullying of minors",
286 286
      "type": "token"
287 287
    },
288 288
    "reasonChildSafetyOther": {
289 289
      "description": "Other child safety. These reports will be sent only be sent to the application's Moderation Authority.",
290 290
      "type": "token"
291 291
    },
292 292
    "reasonChildSafetyPrivacy": {
293 293
      "description": "Privacy violation involving a minor",
294 294
      "type": "token"
295 295
    },
296 296
    "reasonHarassmentDoxxing": {
297 297
      "description": "Doxxing",
298 298
      "type": "token"
299 299
    },
300 300
    "reasonHarassmentHateSpeech": {
301 301
      "description": "Hate speech",
302 302
      "type": "token"
303 303
    },
304 304
    "reasonHarassmentOther": {
305 305
      "description": "Other harassing or hateful content",
306 306
      "type": "token"
307 307
    },
308 308
    "reasonHarassmentTargeted": {
309 309
      "description": "Targeted harassment",
310 310
      "type": "token"
311 311
    },
312 312
    "reasonHarassmentTroll": {
313 313
      "description": "Trolling",
314 314
      "type": "token"
315 315
    },
316 316
    "reasonMisleadingBot": {
317 317
      "description": "Fake account or bot",
318 318
      "type": "token"
319 319
    },
320 320
    "reasonMisleadingElections": {
321 321
      "description": "False information about elections",
322 322
      "type": "token"
323 323
    },
324 324
    "reasonMisleadingImpersonation": {
325 325
      "description": "Impersonation",
326 326
      "type": "token"
327 327
    },
328 328
    "reasonMisleadingOther": {
329 329
      "description": "Other misleading content",
330 330
      "type": "token"
331 331
    },
332 332
    "reasonMisleadingScam": {
333 333
      "description": "Scam",
334 334
      "type": "token"
335 335
    },
336 336
    "reasonMisleadingSpam": {
337 337
      "description": "Spam",
338 338
      "type": "token"
339 339
    },
340 340
    "reasonOther": {
341 341
      "description": "An issue not included in these options",
342 342
      "type": "token"
343 343
    },
344 344
    "reasonRuleBanEvasion": {
345 345
      "description": "Banned user returning",
346 346
      "type": "token"
347 347
    },
348 348
    "reasonRuleOther": {
349 349
      "description": "Other",
350 350
      "type": "token"
351 351
    },
352 352
    "reasonRuleProhibitedSales": {
353 353
      "description": "Promoting or selling prohibited items or services",
354 354
      "type": "token"
355 355
    },
356 356
    "reasonRuleSiteSecurity": {
357 357
      "description": "Hacking or system attacks",
358 358
      "type": "token"
359 359
    },
360 360
    "reasonSelfHarmContent": {
361 361
      "description": "Content promoting or depicting self-harm",
362 362
      "type": "token"
363 363
    },
364 364
    "reasonSelfHarmED": {
365 365
      "description": "Eating disorders",
366 366
      "type": "token"
367 367
    },
368 368
    "reasonSelfHarmOther": {
369 369
      "description": "Other dangerous content",
370 370
      "type": "token"
371 371
    },
372 372
    "reasonSelfHarmStunts": {
373 373
      "description": "Dangerous challenges or activities",
374 374
      "type": "token"
375 375
    },
376 376
    "reasonSelfHarmSubstances": {
377 377
      "description": "Dangerous substances or drug abuse",
378 378
      "type": "token"
379 379
    },
380 380
    "reasonSexualAbuseContent": {
381 381
      "description": "Adult sexual abuse content",
382 382
      "type": "token"
383 383
    },
384 384
    "reasonSexualAnimal": {
385 385
      "description": "Animal sexual abuse",
386 386
      "type": "token"
387 387
    },
388 388
    "reasonSexualDeepfake": {
389 389
      "description": "Deepfake adult content",
390 390
      "type": "token"
391 391
    },
392 392
    "reasonSexualNCII": {
393 393
      "description": "Non-consensual intimate imagery",
394 394
      "type": "token"
395 395
    },
396 396
    "reasonSexualOther": {
397 397
      "description": "Other sexual violence content",
398 398
      "type": "token"
399 399
    },
400 400
    "reasonSexualUnlabeled": {
401 401
      "description": "Unlabelled adult content",
402 402
      "type": "token"
403 403
    },
404 404
    "reasonType": {
405 405
      "knownValues": [
406 406
        "tools.ozone.report.defs#reasonAppeal",
407 407
        "tools.ozone.report.defs#reasonOther",
408 408
        "tools.ozone.report.defs#reasonViolenceAnimal",
409 409
        "tools.ozone.report.defs#reasonViolenceThreats",
410 410
        "tools.ozone.report.defs#reasonViolenceGraphicContent",
411 411
        "tools.ozone.report.defs#reasonViolenceGlorification",
412 412
        "tools.ozone.report.defs#reasonViolenceExtremistContent",
413 413
        "tools.ozone.report.defs#reasonViolenceTrafficking",
414 414
        "tools.ozone.report.defs#reasonViolenceOther",
415 415
        "tools.ozone.report.defs#reasonSexualAbuseContent",
416 416
        "tools.ozone.report.defs#reasonSexualNCII",
417 417
        "tools.ozone.report.defs#reasonSexualDeepfake",
418 418
        "tools.ozone.report.defs#reasonSexualAnimal",
419 419
        "tools.ozone.report.defs#reasonSexualUnlabeled",
420 420
        "tools.ozone.report.defs#reasonSexualOther",
421 421
        "tools.ozone.report.defs#reasonChildSafetyCSAM",
422 422
        "tools.ozone.report.defs#reasonChildSafetyGroom",
423 423
        "tools.ozone.report.defs#reasonChildSafetyPrivacy",
424 424
        "tools.ozone.report.defs#reasonChildSafetyHarassment",
425 425
        "tools.ozone.report.defs#reasonChildSafetyOther",
426 426
        "tools.ozone.report.defs#reasonHarassmentTroll",
427 427
        "tools.ozone.report.defs#reasonHarassmentTargeted",
428 428
        "tools.ozone.report.defs#reasonHarassmentHateSpeech",
429 429
        "tools.ozone.report.defs#reasonHarassmentDoxxing",
430 430
        "tools.ozone.report.defs#reasonHarassmentOther",
431 431
        "tools.ozone.report.defs#reasonMisleadingBot",
432 432
        "tools.ozone.report.defs#reasonMisleadingImpersonation",
433 433
        "tools.ozone.report.defs#reasonMisleadingSpam",
434 434
        "tools.ozone.report.defs#reasonMisleadingScam",
435 435
        "tools.ozone.report.defs#reasonMisleadingElections",
436 436
        "tools.ozone.report.defs#reasonMisleadingOther",
437 437
        "tools.ozone.report.defs#reasonRuleSiteSecurity",
438 438
        "tools.ozone.report.defs#reasonRuleProhibitedSales",
439 439
        "tools.ozone.report.defs#reasonRuleBanEvasion",
440 440
        "tools.ozone.report.defs#reasonRuleOther",
441 441
        "tools.ozone.report.defs#reasonSelfHarmContent",
442 442
        "tools.ozone.report.defs#reasonSelfHarmED",
443 443
        "tools.ozone.report.defs#reasonSelfHarmStunts",
444 444
        "tools.ozone.report.defs#reasonSelfHarmSubstances",
445 445
        "tools.ozone.report.defs#reasonSelfHarmOther"
446 446
      ],
447 447
      "type": "string"
448 448
    },
449 449
    "reasonViolenceAnimal": {
450 450
      "description": "Animal welfare violations",
451 451
      "type": "token"
452 452
    },
453 453
    "reasonViolenceExtremistContent": {
454 454
      "description": "Extremist content. These reports will be sent only be sent to the application's Moderation Authority.",
455 455
      "type": "token"
456 456
    },
457 457
    "reasonViolenceGlorification": {
458 458
      "description": "Glorification of violence",
459 459
      "type": "token"
460 460
    },
461 461
    "reasonViolenceGraphicContent": {
462 462
      "description": "Graphic violent content",
463 463
      "type": "token"
464 464
    },
465 465
    "reasonViolenceOther": {
466 466
      "description": "Other violent content",
467 467
      "type": "token"
468 468
    },
469 469
    "reasonViolenceThreats": {
470 470
      "description": "Threats or incitement",
471 471
      "type": "token"
472 472
    },
473 473
    "reasonViolenceTrafficking": {
474 474
      "description": "Human trafficking",
475 475
      "type": "token"
476 476
    },
477 477
    "reopenActivity": {
478 478
      "description": "Activity recording a closed report being reopened. Only valid when the report is in 'closed' status.",
479 479
      "properties": {
480 480
        "previousStatus": {
481 481
          "description": "The report's status before this activity. Populated automatically from the report row; not required in input.",
482 482
          "knownValues": [
483 483
            "open",
484 484
            "closed",
485 485
            "escalated",
486 486
            "queued",
487 487
            "assigned"
488 488
          ],
489 489
          "type": "string"
490 490
        }
491 491
      },
492 492
      "type": "object"
493 493
    },
494 494
    "reportActivityView": {
495 495
      "description": "A single activity entry on a report.",
496 496
      "properties": {
497 497
        "activity": {
498 498
          "description": "The typed activity object describing what occurred.",
499 499
          "refs": [
500 500
            "#queueActivity",
501 501
            "#assignmentActivity",
502 +
            "#unassignmentActivity",
502 503
            "#escalationActivity",
503 504
            "#closeActivity",
504 505
            "#reopenActivity",
505 506
            "#noteActivity"
506 507
          ],
507 508
          "type": "union"
508 509
        },
509 510
        "createdAt": {
510 511
          "description": "When this activity was created",
511 512
          "format": "datetime",
512 513
          "type": "string"
513 514
        },
514 515
        "createdBy": {
515 516
          "description": "DID of the actor who created this activity, or the service DID for automated activities.",
516 517
          "format": "did",
517 518
          "type": "string"
518 519
        },
519 520
        "id": {
520 521
          "description": "Activity ID",
521 522
          "type": "integer"
522 523
        },
523 524
        "internalNote": {
524 525
          "description": "Optional moderator-only note. Not visible to reporters.",
525 526
          "type": "string"
526 527
        },
527 528
        "isAutomated": {
528 529
          "description": "True if this activity was created by an automated process (e.g. queue router) rather than a direct human action.",
529 530
          "type": "boolean"
530 531
        },
531 532
        "meta": {
532 533
          "description": "Extensible JSON payload for loose activity-specific metadata (e.g. assignmentId).",
533 534
          "type": "unknown"
534 535
        },
535 536
        "moderator": {
536 537
          "description": "Full member record of the moderator who created this activity",
537 538
          "ref": "tools.ozone.team.defs#member",
538 539
          "type": "ref"
539 540
        },
540 541
        "publicNote": {
541 542
          "description": "Optional public note, potentially visible to the reporter.",
542 543
          "type": "string"
543 544
        },
544 545
        "report": {
545 546
          "description": "Full view of the report this activity belongs to.",
546 547
          "ref": "#reportView",
547 548
          "type": "ref"
548 549
        },
549 550
        "reportId": {
550 551
          "description": "ID of the report this activity belongs to",
551 552
          "type": "integer"
552 553
        }
553 554
      },
554 555
      "required": [
555 556
        "id",
556 557
        "reportId",
557 558
        "activity",
558 559
        "isAutomated",
559 560
        "createdBy",
560 561
        "createdAt"
561 562
      ],
562 563
      "type": "object"
563 564
    },
564 565
    "reportAssignment": {
565 566
      "description": "Information about the moderator currently assigned to a report.",
566 567
      "properties": {
567 568
        "assignedAt": {
568 569
          "description": "When the report was assigned",
569 570
          "format": "datetime",
570 571
          "type": "string"
571 572
        },
572 573
        "did": {
573 574
          "description": "DID of the assigned moderator",
574 575
          "format": "did",
575 576
          "type": "string"
576 577
        },
577 578
        "moderator": {
578 579
          "description": "Full member record of the assigned moderator",
579 580
          "ref": "tools.ozone.team.defs#member",
580 581
          "type": "ref"
581 582
        }
582 583
      },
583 584
      "required": [
584 585
        "did",
585 586
        "assignedAt"
586 587
      ],
587 588
      "type": "object"
588 589
    },
589 590
    "reportView": {
590 591
      "properties": {
591 592
        "actionEventIds": {
592 593
          "description": "Array of moderation event IDs representing actions taken on this report, in append order (most recently linked event last)",
593 594
          "items": {
594 595
            "type": "integer"
595 596
          },
596 597
          "type": "array"
597 598
        },
598 599
        "actionNote": {
599 600
          "description": "Note sent to reporter when report was actioned",
600 601
          "type": "string"
601 602
        },
602 603
        "actions": {
603 604
          "description": "Optional: expanded action events",
604 605
          "items": {
605 606
            "ref": "tools.ozone.moderation.defs#modEventView",
606 607
            "type": "ref"
607 608
          },
608 609
          "type": "array"
609 610
        },
610 611
        "assignment": {
611 612
          "description": "Information about moderator currently assigned to this report (if any)",
612 613
          "ref": "#reportAssignment",
613 614
          "type": "ref"
614 615
        },
615 616
        "comment": {
616 617
          "description": "Comment provided by the reporter",
617 618
          "type": "string"
618 619
        },
619 620
        "createdAt": {
620 621
          "description": "When the report was created",
621 622
          "format": "datetime",
622 623
          "type": "string"
623 624
        },
624 625
        "eventId": {
625 626
          "description": "ID of the moderation event that created this report",
626 627
          "type": "integer"
627 628
        },
628 629
        "id": {
629 630
          "description": "Report ID",
630 631
          "type": "integer"
631 632
        },
632 633
        "isAutomated": {
633 634
          "default": false,
634 635
          "description": "Whether this report was emitted by automated tooling.",
635 636
          "type": "boolean"
636 637
        },
637 638
        "isMuted": {
638 639
          "description": "Whether this report is muted. A report is muted if the reporter was muted or the subject was muted at the time the report was created.",
639 640
          "type": "boolean"
640 641
        },
641 642
        "queue": {
642 643
          "description": "The queue this report is assigned to (if any)",
643 644
          "ref": "tools.ozone.queue.defs#queueView",
644 645
          "type": "ref"
645 646
        },
646 647
        "queuedAt": {
647 648
          "description": "When the report was assigned to its current queue",
648 649
          "format": "datetime",
649 650
          "type": "string"
650 651
        },
651 652
        "relatedReportCount": {
652 653
          "description": "Number of other pending reports on the same subject",
653 654
          "type": "integer"
654 655
        },
655 656
        "reportType": {
656 657
          "description": "Type of report",
657 658
          "ref": "com.atproto.moderation.defs#reasonType",
658 659
          "type": "ref"
659 660
        },
660 661
        "reportedBy": {
661 662
          "description": "DID of the user who made the report",
662 663
          "format": "did",
663 664
          "type": "string"
664 665
        },
665 666
        "reporter": {
666 667
          "description": "Full subject view of the reporter account",
667 668
          "ref": "tools.ozone.moderation.defs#subjectView",
668 669
          "type": "ref"
669 670
        },
670 671
        "status": {
671 672
          "description": "Current status of the report",
672 673
          "knownValues": [
673 674
            "open",
674 675
            "closed",
675 676
            "escalated",
676 677
            "queued",
677 678
            "assigned"
678 679
          ],
679 680
          "type": "string"
680 681
        },
681 682
        "subject": {
682 683
          "description": "The subject that was reported with full details",
683 684
          "ref": "tools.ozone.moderation.defs#subjectView",
684 685
          "type": "ref"
685 686
        },
686 687
        "subjectStatus": {
687 688
          "description": "Current status of the reported subject",
688 689
          "ref": "tools.ozone.moderation.defs#subjectStatusView",
689 690
          "type": "ref"
690 691
        },
691 692
        "updatedAt": {
692 693
          "description": "When the report was last updated",
693 694
          "format": "datetime",
694 695
          "type": "string"
695 696
        }
696 697
      },
697 698
      "required": [
698 699
        "id",
699 700
        "eventId",
700 701
        "status",
701 702
        "subject",
702 703
        "reportType",
703 704
        "reportedBy",
704 705
        "reporter",
705 706
        "createdAt"
706 707
      ],
707 708
      "type": "object"
709 +
    },
710 +
    "unassignmentActivity": {
711 +
      "description": "Activity recording a moderator being unassigned from a report.",
712 +
      "properties": {
713 +
        "nextStatus": {
714 +
          "description": "The report's status immediately after the moderator was unassigned. May equal previousStatus if unassignment did not change the report's status, or be absent on older activities.",
715 +
          "knownValues": [
716 +
            "open",
717 +
            "closed",
718 +
            "escalated",
719 +
            "queued",
720 +
            "assigned"
721 +
          ],
722 +
          "type": "string"
723 +
        },
724 +
        "previousStatus": {
725 +
          "description": "The report's status immediately before the moderator was unassigned. May be absent on older activities.",
726 +
          "knownValues": [
727 +
            "open",
728 +
            "closed",
729 +
            "escalated",
730 +
            "queued",
731 +
            "assigned"
732 +
          ],
733 +
          "type": "string"
734 +
        }
735 +
      },
736 +
      "type": "object"
708 737
    }
709 738
  },
710 739
  "id": "tools.ozone.report.defs",
711 740
  "lexicon": 1
712 741
}

Compare Other Versions

Lexicon Garden

@