tools.ozone.report.defs
Schema Diff
+29 -0
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
}