app.certified.badge.response

certified.app

Schema Diff

+9 -3

From

CID
bafyreiep6ibjc5d...
Indexed At
2026-02-18 18:01 UTC
View this version

To

CID
bafyreid3jomhjnv...
Indexed At
2026-07-26 20:06 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

5 breaking changes, 7 non-breaking changes.

Breaking Changes (5)
  • RemovedVertex RemovedVertex { vertex_id: "app.certified.badge.award" }
  • RemovedEdge RemovedEdge { src: "app.certified.badge.response:body.badgeAward", tgt: "app.certified.badge.award", kind: "ref", name: None }
  • ConstraintTightened ConstraintTightened { vertex_id: "app.certified.badge.response:body.badgeAward", sort: "ref", old_value: "app.certified.badge.award", new_value: "com.atproto.repo.strongRef" }
  • ConstraintAdded ConstraintAdded { vertex_id: "app.certified.badge.response:body.response", sort: "knownValues", value: "[\"accepted\",\"rejected\"]" }
  • ConstraintAdded ConstraintAdded { vertex_id: "app.certified.badge.response:body.weight", sort: "maxLength", value: "50" }
Non-Breaking Changes (7)
  • AddedVertex AddedVertex { vertex_id: "app.certified.badge.response:body.signatures" }
  • AddedVertex AddedVertex { vertex_id: "app.certified.signature.defs#list" }
  • AddedVertex AddedVertex { vertex_id: "com.atproto.repo.strongRef" }
  • AddedEdge AddedEdge { src: "app.certified.badge.response:body", tgt: "app.certified.badge.response:body.signatures", kind: "prop", name: Some("signatures") }
  • AddedEdge AddedEdge { src: "app.certified.badge.response:body.badgeAward", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "app.certified.badge.response:body.signatures", tgt: "app.certified.signature.defs#list", kind: "ref", name: None }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "app.certified.badge.response:body.response", sort: "enum" }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "app.certified.badge.award" }

Added Elements

  • AddedVertex { vertex_id: "app.certified.badge.response:body.signatures" }
  • AddedVertex { vertex_id: "app.certified.signature.defs#list" }
  • AddedVertex { vertex_id: "com.atproto.repo.strongRef" }

Constraint Changes

  • ConstraintTightened ConstraintTightened { vertex_id: "app.certified.badge.response:body.badgeAward", sort: "ref", old_value: "app.certified.badge.award", new_value: "com.atproto.repo.strongRef" }
  • ConstraintAdded ConstraintAdded { vertex_id: "app.certified.badge.response:body.weight", sort: "maxLength", value: "50" }
  • ConstraintAdded ConstraintAdded { vertex_id: "app.certified.badge.response:body.response", sort: "knownValues", value: "[\"accepted\",\"rejected\"]" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "app.certified.badge.response:body.response", sort: "enum" }

Additional Notes

  • Breaking: RemovedEdge { src: "app.certified.badge.response:body.badgeAward", tgt: "app.certified.badge.award", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "app.certified.badge.response:body", tgt: "app.certified.badge.response:body.signatures", kind: "prop", name: Some("signatures") }
  • Non-breaking: AddedEdge { src: "app.certified.badge.response:body.badgeAward", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "app.certified.badge.response:body.signatures", tgt: "app.certified.signature.defs#list", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "Recipient response to a badge award.",
6 6
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 9
          "badgeAward": {
10 -
            "description": "Reference to the badge award.",
11 -
            "ref": "app.certified.badge.award",
10 +
            "description": "Strong reference to the badge award being responded to. The record referenced must conform with the lexicon app.certified.badge.award.",
11 +
            "ref": "com.atproto.repo.strongRef",
12 12
            "type": "ref"
13 13
          },
14 14
          "createdAt": {
15 15
            "description": "Client-declared timestamp when this record was originally created",
16 16
            "format": "datetime",
17 17
            "type": "string"
18 18
          },
19 19
          "response": {
20 20
            "description": "The recipient’s response for the badge (accepted or rejected).",
21 -
            "enum": [
21 +
            "knownValues": [
22 22
              "accepted",
23 23
              "rejected"
24 24
            ],
25 25
            "type": "string"
26 26
          },
27 +
          "signatures": {
28 +
            "description": "Optional cryptographic signatures attesting to this record's content.",
29 +
            "ref": "app.certified.signature.defs#list",
30 +
            "type": "ref"
31 +
          },
27 32
          "weight": {
28 33
            "description": "Optional relative weight for accepted badges, assigned by the recipient.",
34 +
            "maxLength": 50,
29 35
            "type": "string"
30 36
          }
31 37
        },
32 38
        "required": [
33 39
          "badgeAward",
34 40
          "response",
35 41
          "createdAt"
36 42
        ],
37 43
        "type": "object"
38 44
      },
39 45
      "type": "record"
40 46
    }
41 47
  },
42 48
  "id": "app.certified.badge.response",
43 49
  "lexicon": 1
44 50
}

Compare Other Versions

Lexicon Garden

@