systems.numina.sensemaking.observation
Schema Diff
+39 -20
Compatibility Analysis
Breaking Changes Detected
16 breaking changes, 10 non-breaking changes.
Breaking Changes (16)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "systems.numina.sensemaking.observation#sourceRef", src: "systems.numina.sensemaking.observation#sourceRef", tgt: "systems.numina.sensemaking.observation#sourceRef.type", kind: "prop", name: Some("type") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "systems.numina.sensemaking.observation#sourceRef", src: "systems.numina.sensemaking.observation#sourceRef", tgt: "systems.numina.sensemaking.observation#sourceRef.uri", kind: "prop", name: Some("uri") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "systems.numina.sensemaking.observation:body.sources:items", src: "systems.numina.sensemaking.observation:body.sources:items", tgt: "systems.numina.sensemaking.observation:body.sources:items.type", kind: "prop", name: Some("type") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "systems.numina.sensemaking.observation:body.sources:items", src: "systems.numina.sensemaking.observation:body.sources:items", tgt: "systems.numina.sensemaking.observation:body.sources:items.uri", kind: "prop", name: Some("uri") }
- RemovedVertex RemovedVertex { vertex_id: "systems.numina.sensemaking.observation:body.relatedHandles" }
- RemovedVertex RemovedVertex { vertex_id: "systems.numina.sensemaking.observation:body.relatedHandles:items" }
- RemovedVertex RemovedVertex { vertex_id: "systems.numina.sensemaking.observation:body.sources:items.type" }
- RemovedVertex RemovedVertex { vertex_id: "systems.numina.sensemaking.observation:body.sources:items.uri" }
- RemovedEdge RemovedEdge { src: "systems.numina.sensemaking.observation:body", tgt: "systems.numina.sensemaking.observation:body.relatedHandles", kind: "prop", name: Some("relatedHandles") }
- RemovedEdge RemovedEdge { src: "systems.numina.sensemaking.observation:body.relatedHandles", tgt: "systems.numina.sensemaking.observation:body.relatedHandles:items", kind: "items", name: None }
- KindChanged KindChanged { vertex_id: "systems.numina.sensemaking.observation:body.sources:items", old_kind: "object", new_kind: "ref" }
- ConstraintAdded ConstraintAdded { vertex_id: "systems.numina.sensemaking.observation:body.tags:items", sort: "maxLength", value: "640" }
- ConstraintAdded ConstraintAdded { vertex_id: "systems.numina.sensemaking.observation:body.tags:items", sort: "maxGraphemes", value: "64" }
- ConstraintAdded ConstraintAdded { vertex_id: "systems.numina.sensemaking.observation:body.content", sort: "maxGraphemes", value: "5000" }
- ConstraintAdded ConstraintAdded { vertex_id: "systems.numina.sensemaking.observation:body.content", sort: "maxLength", value: "10000" }
- ConstraintAdded ConstraintAdded { vertex_id: "systems.numina.sensemaking.observation:body.sources:items", sort: "ref", value: "#sourceRef" }
Non-Breaking Changes (10)
- AddedVertex AddedVertex { vertex_id: "systems.numina.sensemaking.observation#sourceRef" }
- AddedVertex AddedVertex { vertex_id: "systems.numina.sensemaking.observation#sourceRef.type" }
- AddedVertex AddedVertex { vertex_id: "systems.numina.sensemaking.observation#sourceRef.uri" }
- AddedVertex AddedVertex { vertex_id: "systems.numina.sensemaking.observation:body.relatedDids" }
- AddedVertex AddedVertex { vertex_id: "systems.numina.sensemaking.observation:body.relatedDids:items" }
- AddedVertex AddedVertex { vertex_id: "systems.numina.sensemaking.observation:body.subject" }
- AddedEdge AddedEdge { src: "systems.numina.sensemaking.observation:body", tgt: "systems.numina.sensemaking.observation:body.relatedDids", kind: "prop", name: Some("relatedDids") }
- AddedEdge AddedEdge { src: "systems.numina.sensemaking.observation:body", tgt: "systems.numina.sensemaking.observation:body.subject", kind: "prop", name: Some("subject") }
- AddedEdge AddedEdge { src: "systems.numina.sensemaking.observation:body.relatedDids", tgt: "systems.numina.sensemaking.observation:body.relatedDids:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "systems.numina.sensemaking.observation:body.sources:items", tgt: "systems.numina.sensemaking.observation#sourceRef", kind: "ref", name: None }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "systems.numina.sensemaking.observation:body.relatedHandles" }RemovedVertex { vertex_id: "systems.numina.sensemaking.observation:body.relatedHandles:items" }RemovedVertex { vertex_id: "systems.numina.sensemaking.observation:body.sources:items.type" }RemovedVertex { vertex_id: "systems.numina.sensemaking.observation:body.sources:items.uri" }
Added Elements
AddedVertex { vertex_id: "systems.numina.sensemaking.observation#sourceRef" }AddedVertex { vertex_id: "systems.numina.sensemaking.observation#sourceRef.type" }AddedVertex { vertex_id: "systems.numina.sensemaking.observation#sourceRef.uri" }AddedVertex { vertex_id: "systems.numina.sensemaking.observation:body.relatedDids" }AddedVertex { vertex_id: "systems.numina.sensemaking.observation:body.relatedDids:items" }AddedVertex { vertex_id: "systems.numina.sensemaking.observation:body.subject" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "systems.numina.sensemaking.observation:body.tags:items", sort: "maxLength", value: "640" }
- ConstraintAdded ConstraintAdded { vertex_id: "systems.numina.sensemaking.observation:body.tags:items", sort: "maxGraphemes", value: "64" }
- ConstraintAdded ConstraintAdded { vertex_id: "systems.numina.sensemaking.observation:body.sources:items", sort: "ref", value: "#sourceRef" }
- ConstraintAdded ConstraintAdded { vertex_id: "systems.numina.sensemaking.observation:body.content", sort: "maxLength", value: "10000" }
- ConstraintAdded ConstraintAdded { vertex_id: "systems.numina.sensemaking.observation:body.content", sort: "maxGraphemes", value: "5000" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "systems.numina.sensemaking.observation#sourceRef", src: "systems.numina.sensemaking.observation#sourceRef", tgt: "systems.numina.sensemaking.observation#sourceRef.type", kind: "prop", name: Some("type") }
- Breaking: RequiredEdgeAdded { vertex_id: "systems.numina.sensemaking.observation#sourceRef", src: "systems.numina.sensemaking.observation#sourceRef", tgt: "systems.numina.sensemaking.observation#sourceRef.uri", kind: "prop", name: Some("uri") }
- Breaking: RequiredEdgeRemoved { vertex_id: "systems.numina.sensemaking.observation:body.sources:items", src: "systems.numina.sensemaking.observation:body.sources:items", tgt: "systems.numina.sensemaking.observation:body.sources:items.type", kind: "prop", name: Some("type") }
- Breaking: RequiredEdgeRemoved { vertex_id: "systems.numina.sensemaking.observation:body.sources:items", src: "systems.numina.sensemaking.observation:body.sources:items", tgt: "systems.numina.sensemaking.observation:body.sources:items.uri", kind: "prop", name: Some("uri") }
- Breaking: RemovedEdge { src: "systems.numina.sensemaking.observation:body", tgt: "systems.numina.sensemaking.observation:body.relatedHandles", kind: "prop", name: Some("relatedHandles") }
- Breaking: RemovedEdge { src: "systems.numina.sensemaking.observation:body.relatedHandles", tgt: "systems.numina.sensemaking.observation:body.relatedHandles:items", kind: "items", name: None }
- Breaking: KindChanged { vertex_id: "systems.numina.sensemaking.observation:body.sources:items", old_kind: "object", new_kind: "ref" }
- Non-breaking: AddedEdge { src: "systems.numina.sensemaking.observation:body", tgt: "systems.numina.sensemaking.observation:body.relatedDids", kind: "prop", name: Some("relatedDids") }
- Non-breaking: AddedEdge { src: "systems.numina.sensemaking.observation:body", tgt: "systems.numina.sensemaking.observation:body.subject", kind: "prop", name: Some("subject") }
- Non-breaking: AddedEdge { src: "systems.numina.sensemaking.observation:body.relatedDids", tgt: "systems.numina.sensemaking.observation:body.relatedDids:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "systems.numina.sensemaking.observation:body.sources:items", tgt: "systems.numina.sensemaking.observation#sourceRef", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "A structured claim about the world. The core unit of agent sensemaking.",
6
6
"key": "tid",
7
7
"record": {
8
8
"properties": {
9
9
"confidence": {
10
10
"description": "Self-reported confidence level.",
11
11
"enum": [
12
12
"high",
13
13
"medium",
14
14
"low",
15
15
"uncertain"
16
16
],
17
17
"type": "string"
18
18
},
19
19
"content": {
20
20
"description": "The claim. Plain text, not markdown.",
21
+
"maxGraphemes": 5000,
22
+
"maxLength": 10000,
21
23
"type": "string"
22
24
},
23
25
"createdAt": {
24
26
"format": "datetime",
25
27
"type": "string"
26
28
},
27
-
"relatedHandles": {
28
-
"description": "ATProto handles this observation relates to.",
29
+
"relatedDids": {
30
+
"description": "DIDs of accounts this observation relates to.",
29
31
"items": {
32
+
"format": "did",
30
33
"type": "string"
31
34
},
35
+
"maxLength": 50,
32
36
"type": "array"
33
37
},
34
38
"sources": {
35
39
"description": "References to sources. AT URIs for protocol objects, regular URLs for web content.",
36
40
"items": {
37
-
"properties": {
38
-
"type": {
39
-
"enum": [
40
-
"post",
41
-
"url",
42
-
"other"
43
-
],
44
-
"type": "string"
45
-
},
46
-
"uri": {
47
-
"type": "string"
48
-
}
49
-
},
50
-
"required": [
51
-
"uri",
52
-
"type"
53
-
],
54
-
"type": "object"
41
+
"ref": "#sourceRef",
42
+
"type": "ref"
55
43
},
44
+
"maxLength": 50,
56
45
"type": "array"
57
46
},
47
+
"subject": {
48
+
"description": "AT URI of the entity this observation is about.",
49
+
"format": "at-uri",
50
+
"type": "string"
51
+
},
58
52
"supersedes": {
59
53
"description": "AT URI of the observation this replaces. Creates revision chain.",
60
54
"format": "at-uri",
61
55
"type": "string"
62
56
},
63
57
"tags": {
64
58
"description": "Free-form categorization strings.",
65
59
"items": {
60
+
"maxGraphemes": 64,
61
+
"maxLength": 640,
66
62
"type": "string"
67
63
},
64
+
"maxLength": 20,
68
65
"type": "array"
69
66
}
70
67
},
71
68
"required": [
72
69
"content",
73
70
"createdAt"
74
71
],
75
72
"type": "object"
76
73
},
77
74
"type": "record"
75
+
},
76
+
"sourceRef": {
77
+
"description": "A reference to a source.",
78
+
"properties": {
79
+
"type": {
80
+
"enum": [
81
+
"post",
82
+
"url",
83
+
"other"
84
+
],
85
+
"type": "string"
86
+
},
87
+
"uri": {
88
+
"format": "uri",
89
+
"type": "string"
90
+
}
91
+
},
92
+
"required": [
93
+
"uri",
94
+
"type"
95
+
],
96
+
"type": "object"
78
97
}
79
98
},
80
99
"id": "systems.numina.sensemaking.observation",
81
100
"lexicon": 1
82
101
}