From
bafyreibtif6lqlt4moce442i6llhh3xkqxiprfjbdb7oda3k6descg7yha
indexed 2026-11-08 20:44 UTC
View this version
To
bafyreic4gdldnudzppf6carvgylcd42mx7jbl5y6ncs6eysdvyrsyxhrtu
indexed 2026-11-10 03:55 UTC
View this version
Compatibility
breaking 1 breaking change, 7 non-breaking changes.
Breaking changes (1)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "us.off-the-clock.automod.rule#warning", src: "us.off-the-clock.automod.rule#warning", tgt: "us.off-the-clock.automod.rule#warning.types", kind: "prop", name: Some("types") }
Non-breaking changes (7)
- AddedVertex AddedVertex { vertex_id: "us.off-the-clock.automod.rule#warning" }
- AddedVertex AddedVertex { vertex_id: "us.off-the-clock.automod.rule#warning.types" }
- AddedVertex AddedVertex { vertex_id: "us.off-the-clock.automod.rule#warning.types:items" }
- AddedVertex AddedVertex { vertex_id: "us.off-the-clock.automod.rule:body.warning" }
- AddedEdge AddedEdge { src: "us.off-the-clock.automod.rule#warning.types", tgt: "us.off-the-clock.automod.rule#warning.types:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "us.off-the-clock.automod.rule:body", tgt: "us.off-the-clock.automod.rule:body.warning", kind: "prop", name: Some("warning") }
- AddedEdge AddedEdge { src: "us.off-the-clock.automod.rule:body.warning", tgt: "us.off-the-clock.automod.rule#warning", kind: "ref", name: None }
Migration guidance
Added
AddedVertex { vertex_id: "us.off-the-clock.automod.rule#warning" }AddedVertex { vertex_id: "us.off-the-clock.automod.rule#warning.types" }AddedVertex { vertex_id: "us.off-the-clock.automod.rule#warning.types:items" }AddedVertex { vertex_id: "us.off-the-clock.automod.rule:body.warning" }
Notes
- Breaking: RequiredEdgeAdded { vertex_id: "us.off-the-clock.automod.rule#warning", src: "us.off-the-clock.automod.rule#warning", tgt: "us.off-the-clock.automod.rule#warning.types", kind: "prop", name: Some("types") }
- Non-breaking: AddedEdge { src: "us.off-the-clock.automod.rule#warning.types", tgt: "us.off-the-clock.automod.rule#warning.types:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "us.off-the-clock.automod.rule:body", tgt: "us.off-the-clock.automod.rule:body.warning", kind: "prop", name: Some("warning") }
- Non-breaking: AddedEdge { src: "us.off-the-clock.automod.rule:body.warning", tgt: "us.off-the-clock.automod.rule#warning", kind: "ref", name: None }
Changes
11
{22
"$type": "com.atproto.lexicon.schema",33
"defs": {44
"main": {55
"description": "One automod rule of a pair, in its management half (D95). The feed generator runs a pair's rules over each new or changed record version in its content half, highest priority first and oldest first on a tie, and applies the labels of each rule that matches.",66
"key": "tid",77
"record": {88
"properties": {99
"createdAt": {1010
"format": "datetime",1111
"type": "string"1212
},1313
"description": {1414
"maxGraphemes": 300,1515
"maxLength": 3000,1616
"type": "string"1717
},1818
"enabled": {1919
"description": "False turns the rule off; absent is on.",2020
"type": "boolean"2121
},2222
"engine": {2323
"knownValues": [2424
"datalogic",2525
"jev"2626
],2727
"maxLength": 64,2828
"type": "string"2929
},3030
"labels": {3131
"description": "The labels a match applies.",3232
"items": {3333
"knownValues": [3434
"nsfw-suggestive",3535
"nsfw-explicit",3636
"spoiler",3737
"content-warning"3838
],3939
"maxLength": 128,4040
"type": "string"4141
},4242
"maxLength": 8,4343
"minLength": 1,4444
"type": "array"4545
},4646
"name": {4747
"maxGraphemes": 64,4848
"maxLength": 640,4949
"type": "string"5050
},5151
"precondition": {5252
"ref": "#precondition",5353
"type": "ref"5454
},5555
"priority": {5656
"description": "Rules run from the highest priority to the lowest.",5757
"type": "integer"5858
},5959
"rule": {6060
"description": "The engine's fields: a JSON Logic object for datalogic; for jev, {kind: noul|choice, instructions, criteria?, options?, matches?, threshold} with threshold a whole percent from 1 to 100.",6161
"type": "unknown"6262
},6363
"stackKey": {6464
"description": "Once a rule with this key matches, later rules with the same key are skipped for that record.",6565
"maxLength": 64,6666
"type": "string"67
},68
"warning": {69
"ref": "#warning",70
"type": "ref"6771
}6872
},6973
"required": [7074
"name",7175
"priority",7276
"engine",7377
"rule",7478
"labels",7579
"createdAt"7680
],7781
"type": "object"7882
},7983
"type": "record"8084
},8185
"precondition": {8286
"description": "Checked before the rule runs (AUT-9): when `when` holds over the rule's document, `rule` skips this rule alone and `stack` skips it and every later rule sharing its stackKey.",8387
"properties": {8488
"stop": {8589
"knownValues": [8690
"rule",8791
"stack"8892
],8993
"maxLength": 64,9094
"type": "string"9195
},9296
"when": {9397
"description": "A JSON Logic object over the record's document, its labels included.",9498
"type": "unknown"9599
}96100
},97101
"required": [98102
"stop",99103
"when"100104
],101105
"type": "object"106
},107
"warning": {108
"description": "The types of the content warning a rule applying content-warning writes beside its label (AUT-2, D101). A rule naming a type outside the twelve is ignored.",109
"properties": {110
"types": {111
"items": {112
"knownValues": [113
"violence",114
"gore",115
"death",116
"self-harm",117
"abuse",118
"substances",119
"eating",120
"mental-health",121
"medical",122
"bigotry",123
"distressing-news",124
"flashing"125
],126
"maxLength": 64,127
"type": "string"128
},129
"maxLength": 12,130
"minLength": 1,131
"type": "array"132
}133
},134
"required": [135
"types"136
],137
"type": "object"102138
}103139
},104140
"id": "us.off-the-clock.automod.rule",105141
"lexicon": 1106142
}