full diff

us.off-the-clock.automod.rule

off-the-clock.us +36 −0
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": 1
106142}

Compare other versions