app.gainforest.evaluator.evaluation

gainforest.earth

Schema Diff

+4 -1

From

CID
bafyreibc6cszbre...
Indexed At
2026-02-18 18:05 UTC
View this version

To

CID
bafyreigp7c65blc...
Indexed At
2026-04-29 14:28 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 6 non-breaking changes.

Non-Breaking Changes (6)
  • 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") }

Migration Guidance

Added Elements

  • 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") }
1 1
{
2 2
  "id": "app.gainforest.evaluator.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
          "evaluationType",
11 11
          "createdAt"
12 12
        ],
13 13
        "properties": {
14 14
          "neg": {
15 15
            "type": "boolean",
16 16
            "description": "If true, this is a negation/withdrawal of a previous evaluation (like label negation)."
17 17
          },
18 18
          "method": {
19 19
            "ref": "app.gainforest.evaluator.defs#methodInfo",
20 20
            "type": "ref",
21 21
            "description": "Method/model provenance for this specific evaluation (overrides service-level method if set)."
22 22
          },
23 23
          "result": {
24 24
            "refs": [
25 25
              "app.gainforest.evaluator.defs#speciesIdResult",
26 26
              "app.gainforest.evaluator.defs#dataQualityResult",
27 27
              "app.gainforest.evaluator.defs#verificationResult",
28 28
              "app.gainforest.evaluator.defs#classificationResult",
29 -
              "app.gainforest.evaluator.defs#measurementResult"
29 +
              "app.gainforest.evaluator.defs#measurementResult",
30 +
              "app.gainforest.evaluator.defs#bioacousticsResult",
31 +
              "app.gainforest.evaluator.defs#deforestationResult",
32 +
              "app.gainforest.evaluator.defs#carbonEstimationResult"
30 33
            ],
31 34
            "type": "union",
32 35
            "description": "The typed evaluation result. The $type field determines which result schema is used."
33 36
          },
34 37
          "subject": {
35 38
            "ref": "app.gainforest.evaluator.defs#subjectRef",
36 39
            "type": "ref",
37 40
            "description": "Single target record being evaluated. Use this OR subjects, not both."
38 41
          },
39 42
          "subjects": {
40 43
            "type": "array",
41 44
            "items": {
42 45
              "ref": "app.gainforest.evaluator.defs#subjectRef",
43 46
              "type": "ref"
44 47
            },
45 48
            "maxLength": 100,
46 49
            "description": "Batch evaluation: multiple target records sharing the same result. Use this OR subject, not both."
47 50
          },
48 51
          "createdAt": {
49 52
            "type": "string",
50 53
            "format": "datetime",
51 54
            "description": "Timestamp of when this evaluation was produced."
52 55
          },
53 56
          "confidence": {
54 57
            "type": "integer",
55 58
            "maximum": 1000,
56 59
            "minimum": 0,
57 60
            "description": "Overall confidence in this evaluation (0-1000, where 1000 = 100.0%)."
58 61
          },
59 62
          "supersedes": {
60 63
            "type": "string",
61 64
            "format": "at-uri",
62 65
            "description": "AT-URI of a previous evaluation record that this one supersedes (e.g., model re-run with improved version)."
63 66
          },
64 67
          "evaluationType": {
65 68
            "type": "string",
66 69
            "description": "Identifier for the type of evaluation (must match one declared in the evaluator's service record).",
67 70
            "maxGraphemes": 64
68 71
          },
69 72
          "dynamicProperties": {
70 73
            "type": "string",
71 74
            "description": "Additional structured data as a JSON string. Escape hatch for experimental result types before they are formalized into the union.",
72 75
            "maxGraphemes": 10000
73 76
          }
74 77
        }
75 78
      },
76 79
      "description": "A single evaluation produced by an evaluator service. Exactly one of 'subject' (single target) or 'subjects' (batch) must be provided."
77 80
    }
78 81
  },
79 82
  "$type": "com.atproto.lexicon.schema",
80 83
  "lexicon": 1,
81 84
  "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."
82 85
}

Compare Other Versions

Lexicon Garden

@