app.gainforest.evaluator.evaluation
Schema Diff
+4 -1
Compatibility Analysis
Backward Compatible
Backward compatible. 12 non-breaking changes.
Non-Breaking Changes (12)
- AddedVertex AddedVertex { vertex_id: "app.gainforest.evaluator.defs#bioacousticsResult" }
- AddedVertex AddedVertex { vertex_id: "app.gainforest.evaluator.defs#carbonEstimationResult" }
- AddedVertex AddedVertex { vertex_id: "app.gainforest.evaluator.defs#deforestationResult" }
- AddedVertex AddedVertex { vertex_id: "app.gainforest.evaluator.evaluation:body.result:variant5" }
- AddedVertex AddedVertex { vertex_id: "app.gainforest.evaluator.evaluation:body.result:variant6" }
- AddedVertex AddedVertex { vertex_id: "app.gainforest.evaluator.evaluation:body.result:variant7" }
- AddedEdge AddedEdge { src: "app.gainforest.evaluator.evaluation:body.result", tgt: "app.gainforest.evaluator.evaluation:body.result:variant5", kind: "variant", name: Some("app.gainforest.evaluator.defs#bioacousticsResult") }
- AddedEdge AddedEdge { src: "app.gainforest.evaluator.evaluation:body.result", tgt: "app.gainforest.evaluator.evaluation:body.result:variant6", kind: "variant", name: Some("app.gainforest.evaluator.defs#deforestationResult") }
- AddedEdge AddedEdge { src: "app.gainforest.evaluator.evaluation:body.result", tgt: "app.gainforest.evaluator.evaluation:body.result:variant7", kind: "variant", name: Some("app.gainforest.evaluator.defs#carbonEstimationResult") }
- AddedEdge AddedEdge { src: "app.gainforest.evaluator.evaluation:body.result:variant5", tgt: "app.gainforest.evaluator.defs#bioacousticsResult", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "app.gainforest.evaluator.evaluation:body.result:variant6", tgt: "app.gainforest.evaluator.defs#deforestationResult", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "app.gainforest.evaluator.evaluation:body.result:variant7", tgt: "app.gainforest.evaluator.defs#carbonEstimationResult", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "app.gainforest.evaluator.defs#bioacousticsResult" }AddedVertex { vertex_id: "app.gainforest.evaluator.defs#carbonEstimationResult" }AddedVertex { vertex_id: "app.gainforest.evaluator.defs#deforestationResult" }AddedVertex { vertex_id: "app.gainforest.evaluator.evaluation:body.result:variant5" }AddedVertex { vertex_id: "app.gainforest.evaluator.evaluation:body.result:variant6" }AddedVertex { vertex_id: "app.gainforest.evaluator.evaluation:body.result:variant7" }
Additional Notes
- Non-breaking: AddedEdge { src: "app.gainforest.evaluator.evaluation:body.result", tgt: "app.gainforest.evaluator.evaluation:body.result:variant5", kind: "variant", name: Some("app.gainforest.evaluator.defs#bioacousticsResult") }
- Non-breaking: AddedEdge { src: "app.gainforest.evaluator.evaluation:body.result", tgt: "app.gainforest.evaluator.evaluation:body.result:variant6", kind: "variant", name: Some("app.gainforest.evaluator.defs#deforestationResult") }
- Non-breaking: AddedEdge { src: "app.gainforest.evaluator.evaluation:body.result", tgt: "app.gainforest.evaluator.evaluation:body.result:variant7", kind: "variant", name: Some("app.gainforest.evaluator.defs#carbonEstimationResult") }
- Non-breaking: AddedEdge { src: "app.gainforest.evaluator.evaluation:body.result:variant5", tgt: "app.gainforest.evaluator.defs#bioacousticsResult", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "app.gainforest.evaluator.evaluation:body.result:variant6", tgt: "app.gainforest.evaluator.defs#deforestationResult", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "app.gainforest.evaluator.evaluation:body.result:variant7", tgt: "app.gainforest.evaluator.defs#carbonEstimationResult", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "A single evaluation produced by an evaluator service. Exactly one of 'subject' (single target) or 'subjects' (batch) must be provided.",
6
6
"key": "tid",
7
7
"record": {
8
8
"properties": {
9
9
"confidence": {
10
10
"description": "Overall confidence in this evaluation (0-1000, where 1000 = 100.0%).",
11
11
"maximum": 1000,
12
12
"minimum": 0,
13
13
"type": "integer"
14
14
},
15
15
"createdAt": {
16
16
"description": "Timestamp of when this evaluation was produced.",
17
17
"format": "datetime",
18
18
"type": "string"
19
19
},
20
20
"dynamicProperties": {
21
21
"description": "Additional structured data as a JSON string. Escape hatch for experimental result types before they are formalized into the union.",
22
22
"maxGraphemes": 10000,
23
23
"type": "string"
24
24
},
25
25
"evaluationType": {
26
26
"description": "Identifier for the type of evaluation (must match one declared in the evaluator's service record).",
27
27
"maxGraphemes": 64,
28
28
"type": "string"
29
29
},
30
30
"method": {
31
31
"description": "Method/model provenance for this specific evaluation (overrides service-level method if set).",
32
32
"ref": "app.gainforest.evaluator.defs#methodInfo",
33
33
"type": "ref"
34
34
},
35
35
"neg": {
36
36
"description": "If true, this is a negation/withdrawal of a previous evaluation (like label negation).",
37
37
"type": "boolean"
38
38
},
39
39
"result": {
40
40
"description": "The typed evaluation result. The $type field determines which result schema is used.",
41
41
"refs": [
42
42
"app.gainforest.evaluator.defs#speciesIdResult",
43
43
"app.gainforest.evaluator.defs#dataQualityResult",
44
44
"app.gainforest.evaluator.defs#verificationResult",
45
45
"app.gainforest.evaluator.defs#classificationResult",
46
-
"app.gainforest.evaluator.defs#measurementResult"
46
+
"app.gainforest.evaluator.defs#measurementResult",
47
+
"app.gainforest.evaluator.defs#bioacousticsResult",
48
+
"app.gainforest.evaluator.defs#deforestationResult",
49
+
"app.gainforest.evaluator.defs#carbonEstimationResult"
47
50
],
48
51
"type": "union"
49
52
},
50
53
"subject": {
51
54
"description": "Single target record being evaluated. Use this OR subjects, not both.",
52
55
"ref": "app.gainforest.evaluator.defs#subjectRef",
53
56
"type": "ref"
54
57
},
55
58
"subjects": {
56
59
"description": "Batch evaluation: multiple target records sharing the same result. Use this OR subject, not both.",
57
60
"items": {
58
61
"ref": "app.gainforest.evaluator.defs#subjectRef",
59
62
"type": "ref"
60
63
},
61
64
"maxLength": 100,
62
65
"type": "array"
63
66
},
64
67
"supersedes": {
65
68
"description": "AT-URI of a previous evaluation record that this one supersedes (e.g., model re-run with improved version).",
66
69
"format": "at-uri",
67
70
"type": "string"
68
71
}
69
72
},
70
73
"required": [
71
74
"evaluationType",
72
75
"createdAt"
73
76
],
74
77
"type": "object"
75
78
},
76
79
"type": "record"
77
80
}
78
81
},
79
82
"description": "An evaluation record published by an evaluator in their own repo. Contains structured, typed results about a target record (or batch of records). Discovered by AppViews via the atproto-accept-evaluators HTTP header pattern.",
80
83
"id": "app.gainforest.evaluator.evaluation",
81
84
"lexicon": 1
82
85
}