ai.rizom.brain.link
Schema Diff
+18 -13
Compatibility Analysis
Breaking Changes Detected
8 breaking changes, 4 non-breaking changes.
Breaking Changes (8)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "ai.rizom.brain.link#source", src: "ai.rizom.brain.link#source", tgt: "ai.rizom.brain.link#source.ref", kind: "prop", name: Some("ref") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "ai.rizom.brain.link#source", src: "ai.rizom.brain.link#source", tgt: "ai.rizom.brain.link#source.label", kind: "prop", name: Some("label") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "ai.rizom.brain.link:body.source", src: "ai.rizom.brain.link:body.source", tgt: "ai.rizom.brain.link:body.source.label", kind: "prop", name: Some("label") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "ai.rizom.brain.link:body.source", src: "ai.rizom.brain.link:body.source", tgt: "ai.rizom.brain.link:body.source.ref", kind: "prop", name: Some("ref") }
- RemovedVertex RemovedVertex { vertex_id: "ai.rizom.brain.link:body.source.label" }
- RemovedVertex RemovedVertex { vertex_id: "ai.rizom.brain.link:body.source.ref" }
- KindChanged KindChanged { vertex_id: "ai.rizom.brain.link:body.source", old_kind: "object", new_kind: "ref" }
- ConstraintAdded ConstraintAdded { vertex_id: "ai.rizom.brain.link:body.source", sort: "ref", value: "#source" }
Non-Breaking Changes (4)
- AddedVertex AddedVertex { vertex_id: "ai.rizom.brain.link#source" }
- AddedVertex AddedVertex { vertex_id: "ai.rizom.brain.link#source.label" }
- AddedVertex AddedVertex { vertex_id: "ai.rizom.brain.link#source.ref" }
- AddedEdge AddedEdge { src: "ai.rizom.brain.link:body.source", tgt: "ai.rizom.brain.link#source", kind: "ref", name: None }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "ai.rizom.brain.link:body.source.label" }RemovedVertex { vertex_id: "ai.rizom.brain.link:body.source.ref" }
Added Elements
AddedVertex { vertex_id: "ai.rizom.brain.link#source" }AddedVertex { vertex_id: "ai.rizom.brain.link#source.label" }AddedVertex { vertex_id: "ai.rizom.brain.link#source.ref" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "ai.rizom.brain.link:body.source", sort: "ref", value: "#source" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "ai.rizom.brain.link#source", src: "ai.rizom.brain.link#source", tgt: "ai.rizom.brain.link#source.ref", kind: "prop", name: Some("ref") }
- Breaking: RequiredEdgeAdded { vertex_id: "ai.rizom.brain.link#source", src: "ai.rizom.brain.link#source", tgt: "ai.rizom.brain.link#source.label", kind: "prop", name: Some("label") }
- Breaking: RequiredEdgeRemoved { vertex_id: "ai.rizom.brain.link:body.source", src: "ai.rizom.brain.link:body.source", tgt: "ai.rizom.brain.link:body.source.label", kind: "prop", name: Some("label") }
- Breaking: RequiredEdgeRemoved { vertex_id: "ai.rizom.brain.link:body.source", src: "ai.rizom.brain.link:body.source", tgt: "ai.rizom.brain.link:body.source.ref", kind: "prop", name: Some("ref") }
- Breaking: KindChanged { vertex_id: "ai.rizom.brain.link:body.source", old_kind: "object", new_kind: "ref" }
- Non-breaking: AddedEdge { src: "ai.rizom.brain.link:body.source", tgt: "ai.rizom.brain.link#source", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "Public curated link from a Rizom brain.",
6
6
"key": "any",
7
7
"record": {
8
8
"properties": {
9
9
"anchorDid": {
10
10
"type": "string"
11
11
},
12
12
"brainDid": {
13
13
"type": "string"
14
14
},
15
15
"capturedAt": {
16
16
"format": "datetime",
17
17
"type": "string"
18
18
},
19
19
"createdAt": {
20
20
"format": "datetime",
21
21
"type": "string"
22
22
},
23
23
"description": {
24
24
"maxLength": 2000,
25
25
"type": "string"
26
26
},
27
27
"domain": {
28
28
"type": "string"
29
29
},
30
30
"source": {
31
-
"properties": {
32
-
"label": {
33
-
"type": "string"
34
-
},
35
-
"ref": {
36
-
"type": "string"
37
-
}
38
-
},
39
-
"required": [
40
-
"ref",
41
-
"label"
42
-
],
43
-
"type": "object"
31
+
"ref": "#source",
32
+
"type": "ref"
44
33
},
45
34
"sourceEntityId": {
46
35
"type": "string"
47
36
},
48
37
"sourceEntityType": {
49
38
"type": "string"
50
39
},
51
40
"summary": {
52
41
"maxLength": 100000,
53
42
"type": "string"
54
43
},
55
44
"title": {
56
45
"maxLength": 500,
57
46
"type": "string"
58
47
},
59
48
"updatedAt": {
60
49
"format": "datetime",
61
50
"type": "string"
62
51
},
63
52
"url": {
64
53
"format": "uri",
65
54
"type": "string"
66
55
}
67
56
},
68
57
"required": [
69
58
"title",
70
59
"url",
71
60
"createdAt"
72
61
],
73
62
"type": "object"
74
63
},
75
64
"type": "record"
65
+
},
66
+
"source": {
67
+
"description": "Attribution for where this link was captured.",
68
+
"properties": {
69
+
"label": {
70
+
"type": "string"
71
+
},
72
+
"ref": {
73
+
"type": "string"
74
+
}
75
+
},
76
+
"required": [
77
+
"ref",
78
+
"label"
79
+
],
80
+
"type": "object"
76
81
}
77
82
},
78
83
"id": "ai.rizom.brain.link",
79
84
"lexicon": 1
80
85
}