org.hypercerts.context.evaluation
Schema Diff
+14 -6
Compatibility Analysis
Breaking Changes Detected
6 breaking changes, 4 non-breaking changes.
Breaking Changes (6)
- KindChanged KindChanged { vertex_id: "org.hypercerts.context.evaluation#score.max", old_kind: "integer", new_kind: "string" }
- KindChanged KindChanged { vertex_id: "org.hypercerts.context.evaluation#score.min", old_kind: "integer", new_kind: "string" }
- KindChanged KindChanged { vertex_id: "org.hypercerts.context.evaluation#score.value", old_kind: "integer", new_kind: "string" }
- ConstraintAdded ConstraintAdded { vertex_id: "org.hypercerts.context.evaluation#score.max", sort: "maxLength", value: "50" }
- ConstraintAdded ConstraintAdded { vertex_id: "org.hypercerts.context.evaluation#score.min", sort: "maxLength", value: "50" }
- ConstraintAdded ConstraintAdded { vertex_id: "org.hypercerts.context.evaluation#score.value", sort: "maxLength", value: "50" }
Non-Breaking Changes (4)
- AddedVertex AddedVertex { vertex_id: "app.certified.signature.defs#list" }
- AddedVertex AddedVertex { vertex_id: "org.hypercerts.context.evaluation:body.signatures" }
- AddedEdge AddedEdge { src: "org.hypercerts.context.evaluation:body", tgt: "org.hypercerts.context.evaluation:body.signatures", kind: "prop", name: Some("signatures") }
- AddedEdge AddedEdge { src: "org.hypercerts.context.evaluation:body.signatures", tgt: "app.certified.signature.defs#list", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "app.certified.signature.defs#list" }AddedVertex { vertex_id: "org.hypercerts.context.evaluation:body.signatures" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "org.hypercerts.context.evaluation#score.value", sort: "maxLength", value: "50" }
- ConstraintAdded ConstraintAdded { vertex_id: "org.hypercerts.context.evaluation#score.max", sort: "maxLength", value: "50" }
- ConstraintAdded ConstraintAdded { vertex_id: "org.hypercerts.context.evaluation#score.min", sort: "maxLength", value: "50" }
Additional Notes
- Breaking: KindChanged { vertex_id: "org.hypercerts.context.evaluation#score.max", old_kind: "integer", new_kind: "string" }
- Breaking: KindChanged { vertex_id: "org.hypercerts.context.evaluation#score.min", old_kind: "integer", new_kind: "string" }
- Breaking: KindChanged { vertex_id: "org.hypercerts.context.evaluation#score.value", old_kind: "integer", new_kind: "string" }
- Non-breaking: AddedEdge { src: "org.hypercerts.context.evaluation:body", tgt: "org.hypercerts.context.evaluation:body.signatures", kind: "prop", name: Some("signatures") }
- Non-breaking: AddedEdge { src: "org.hypercerts.context.evaluation:body.signatures", tgt: "app.certified.signature.defs#list", kind: "ref", name: None }
1
1
{
2
2
"id": "org.hypercerts.context.evaluation",
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
"evaluators",
11
11
"summary",
12
12
"createdAt"
13
13
],
14
14
"properties": {
15
15
"score": {
16
16
"ref": "#score",
17
17
"type": "ref",
18
18
"description": "Optional overall score for this evaluation on a numeric scale."
19
19
},
20
20
"content": {
21
21
"type": "array",
22
22
"items": {
23
23
"refs": [
24
24
"org.hypercerts.defs#uri",
25
25
"org.hypercerts.defs#smallBlob"
26
26
],
27
27
"type": "union"
28
28
},
29
29
"maxLength": 100,
30
30
"description": "Evaluation data (URIs or blobs) containing detailed reports or methodology"
31
31
},
32
32
"subject": {
33
33
"ref": "com.atproto.repo.strongRef",
34
34
"type": "ref",
35
35
"description": "A strong reference to what is being evaluated (e.g. activity, measurement, contribution, etc.)"
36
36
},
37
37
"summary": {
38
38
"type": "string",
39
39
"maxLength": 5000,
40
40
"description": "Brief evaluation summary",
41
41
"maxGraphemes": 1000
42
42
},
43
43
"location": {
44
44
"ref": "com.atproto.repo.strongRef",
45
45
"type": "ref",
46
46
"description": "An optional reference for georeferenced evaluations. The record referenced must conform with the lexicon app.certified.location."
47
47
},
48
48
"createdAt": {
49
49
"type": "string",
50
50
"format": "datetime",
51
51
"description": "Client-declared timestamp when this record was originally created"
52
52
},
53
53
"evaluators": {
54
54
"type": "array",
55
55
"items": {
56
56
"ref": "app.certified.defs#did",
57
57
"type": "ref"
58
58
},
59
59
"maxLength": 1000,
60
60
"description": "DIDs of the evaluators"
61
61
},
62
+
"signatures": {
63
+
"ref": "app.certified.signature.defs#list",
64
+
"type": "ref",
65
+
"description": "Optional cryptographic signatures attesting to this record's content."
66
+
},
62
67
"measurements": {
63
68
"type": "array",
64
69
"items": {
65
70
"ref": "com.atproto.repo.strongRef",
66
71
"type": "ref"
67
72
},
68
73
"maxLength": 100,
69
74
"description": "Optional references to the measurements that contributed to this evaluation. The record(s) referenced must conform with the lexicon org.hypercerts.context.measurement"
70
75
}
71
76
}
72
77
},
73
78
"description": "An evaluation of a hypercert record (e.g. an activity and its impact)."
74
79
},
75
80
"score": {
76
81
"type": "object",
77
82
"required": [
78
83
"min",
79
84
"max",
80
85
"value"
81
86
],
82
87
"properties": {
83
88
"max": {
84
-
"type": "integer",
85
-
"description": "Maximum value of the scale, e.g. 5 or 10."
89
+
"type": "string",
90
+
"maxLength": 50,
91
+
"description": "Maximum value of the scale as a numeric string (e.g. '5', '10')."
86
92
},
87
93
"min": {
88
-
"type": "integer",
89
-
"description": "Minimum value of the scale, e.g. 0 or 1."
94
+
"type": "string",
95
+
"maxLength": 50,
96
+
"description": "Minimum value of the scale as a numeric string (e.g. '0', '1')."
90
97
},
91
98
"value": {
92
-
"type": "integer",
93
-
"description": "Score within the inclusive range [min, max]."
99
+
"type": "string",
100
+
"maxLength": 50,
101
+
"description": "Score within the inclusive range [min, max] as a numeric string (e.g. '3.7')."
94
102
}
95
103
},
96
104
"description": "Overall score for an evaluation on a numeric scale."
97
105
}
98
106
},
99
107
"$type": "com.atproto.lexicon.schema",
100
108
"lexicon": 1
101
109
}