social.colibri.moderation

colibri.social

Schema Diff

+12 -2

From

CID
bafyreihmzsrwyrg...
Indexed At
2026-07-24 14:44 UTC
View this version

To

CID
bafyreig725sx2b7...
Indexed At
2026-08-15 22:24 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

1 breaking change, 4 non-breaking changes.

Breaking Changes (1)
  • ConstraintTightened ConstraintTightened { vertex_id: "social.colibri.moderation:body.action", sort: "knownValues", old_value: "[\"ban\",\"unban\",\"hideMessage\",\"unhideMessage\",\"kick\"]", new_value: "[\"ban\",\"unban\",\"hideMessage\",\"unhideMessage\",\"kick\",\"suppressEmbeds\",\"unsuppressEmbeds\"]" }
Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "social.colibri.moderation:body.embeds" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.moderation:body.embeds:items" }
  • AddedEdge AddedEdge { src: "social.colibri.moderation:body", tgt: "social.colibri.moderation:body.embeds", kind: "prop", name: Some("embeds") }
  • AddedEdge AddedEdge { src: "social.colibri.moderation:body.embeds", tgt: "social.colibri.moderation:body.embeds:items", kind: "items", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "social.colibri.moderation:body.embeds" }
  • AddedVertex { vertex_id: "social.colibri.moderation:body.embeds:items" }

Constraint Changes

  • ConstraintTightened ConstraintTightened { vertex_id: "social.colibri.moderation:body.action", sort: "knownValues", old_value: "[\"ban\",\"unban\",\"hideMessage\",\"unhideMessage\",\"kick\"]", new_value: "[\"ban\",\"unban\",\"hideMessage\",\"unhideMessage\",\"kick\",\"suppressEmbeds\",\"unsuppressEmbeds\"]" }

Additional Notes

  • Non-breaking: AddedEdge { src: "social.colibri.moderation:body", tgt: "social.colibri.moderation:body.embeds", kind: "prop", name: Some("embeds") }
  • Non-breaking: AddedEdge { src: "social.colibri.moderation:body.embeds", tgt: "social.colibri.moderation:body.embeds:items", kind: "items", name: None }
1 1
{
2 2
  "id": "social.colibri.moderation",
3 3
  "defs": {
4 4
    "main": {
5 5
      "key": "tid",
6 6
      "type": "record",
7 7
      "record": {
8 8
        "type": "object",
9 9
        "required": [
10 10
          "action",
11 11
          "subject",
12 12
          "createdBy",
13 13
          "createdAt"
14 14
        ],
15 15
        "properties": {
16 16
          "$type": {
17 17
            "type": "string",
18 18
            "format": "nsid",
19 19
            "description": "The type of the record."
20 20
          },
21 21
          "action": {
22 22
            "type": "string",
23 23
            "description": "The moderation action being recorded.",
24 24
            "knownValues": [
25 25
              "ban",
26 26
              "unban",
27 27
              "hideMessage",
28 28
              "unhideMessage",
29 -
              "kick"
29 +
              "kick",
30 +
              "suppressEmbeds",
31 +
              "unsuppressEmbeds"
30 32
            ]
31 33
          },
34 +
          "embeds": {
35 +
            "type": "array",
36 +
            "items": {
37 +
              "type": "string",
38 +
              "format": "uri"
39 +
            },
40 +
            "description": "URLs this action applies to, used by suppressEmbeds and unsuppressEmbeds. Ignored by every other action."
41 +
          },
32 42
          "reason": {
33 43
            "type": "string",
34 44
            "maxLength": 512,
35 45
            "description": "Optional human-readable reason for the action."
36 46
          },
37 47
          "subject": {
38 48
            "ref": "lex:social.colibri.moderation#subject",
39 49
            "type": "ref"
40 50
          },
41 51
          "createdAt": {
42 52
            "type": "string",
43 53
            "format": "datetime"
44 54
          },
45 55
          "createdBy": {
46 56
            "type": "string",
47 57
            "format": "did",
48 58
            "description": "DID of the issuer (typically a member with the required permission)."
49 59
          }
50 60
        }
51 61
      },
52 62
      "description": "A moderation event scoped to the community that owns this repo. Acts as an append-only audit log; current state is derived from the action history per subject."
53 63
    },
54 64
    "subject": {
55 65
      "type": "object",
56 66
      "properties": {
57 67
        "did": {
58 68
          "type": "string",
59 69
          "format": "did"
60 70
        },
61 71
        "uri": {
62 72
          "type": "string",
63 73
          "format": "at-uri"
64 74
        }
65 75
      },
66 76
      "description": "Target of the moderation action. Use `did` for user-targeted actions, `uri` for content-targeted actions."
67 77
    }
68 78
  },
69 79
  "$type": "com.atproto.lexicon.schema",
70 80
  "lexicon": 1,
71 -
  "revision": 1
81 +
  "revision": 2
72 82
}

Compare Other Versions

Lexicon Garden

@