A single evaluation produced by an evaluator service. Exactly one of 'subject' (single target) or 'subjects' (batch) must be provided.
tid
Timestamp-based ID
Properties
confidence
integer
Optional
Overall confidence in this evaluation (0-1000, where 1000 = 100.0%).
minimum: 0maximum: 1000createdAt
string
datetime
Required
Timestamp of when this evaluation was produced.
dynamicProperties
string
Optional
Additional structured data as a JSON string. Escape hatch for experimental result types before they are formalized into the union.
maxGraphemes: 10000 graphemesevaluationType
string
Required
Identifier for the type of evaluation (must match one declared in the evaluator's service record).
maxGraphemes: 64 graphemesmethod
ref
app.gainforest.evaluator.defs#methodInfo
Optional
Method/model provenance for this specific evaluation (overrides service-level method if set).
neg
boolean
Optional
If true, this is a negation/withdrawal of a previous evaluation (like label negation).
result
union
Optional
The typed evaluation result. The $type field determines which result schema is used.
subject
ref
app.gainforest.evaluator.defs#subjectRef
Optional
Single target record being evaluated. Use this OR subjects, not both.
subjects
array
of
ref
app.gainforest.evaluator.defs#subjectRef
Optional
Batch evaluation: multiple target records sharing the same result. Use this OR subject, not both.
maxLength: 100 itemssupersedes
string
at-uri
Optional
AT-URI of a previous evaluation record that this one supersedes (e.g., model re-run with improved version).
View raw schema
{
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"evaluationType",
"createdAt"
],
"properties": {
"neg": {
"type": "boolean",
"description": "If true, this is a negation/withdrawal of a previous evaluation (like label negation)."
},
"method": {
"ref": "app.gainforest.evaluator.defs#methodInfo",
"type": "ref",
"description": "Method/model provenance for this specific evaluation (overrides service-level method if set)."
},
"result": {
"refs": [
"app.gainforest.evaluator.defs#speciesIdResult",
"app.gainforest.evaluator.defs#dataQualityResult",
"app.gainforest.evaluator.defs#verificationResult",
"app.gainforest.evaluator.defs#classificationResult",
"app.gainforest.evaluator.defs#measurementResult"
],
"type": "union",
"description": "The typed evaluation result. The $type field determines which result schema is used."
},
"subject": {
"ref": "app.gainforest.evaluator.defs#subjectRef",
"type": "ref",
"description": "Single target record being evaluated. Use this OR subjects, not both."
},
"subjects": {
"type": "array",
"items": {
"ref": "app.gainforest.evaluator.defs#subjectRef",
"type": "ref"
},
"maxLength": 100,
"description": "Batch evaluation: multiple target records sharing the same result. Use this OR subject, not both."
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "Timestamp of when this evaluation was produced."
},
"confidence": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "Overall confidence in this evaluation (0-1000, where 1000 = 100.0%)."
},
"supersedes": {
"type": "string",
"format": "at-uri",
"description": "AT-URI of a previous evaluation record that this one supersedes (e.g., model re-run with improved version)."
},
"evaluationType": {
"type": "string",
"description": "Identifier for the type of evaluation (must match one declared in the evaluator's service record).",
"maxGraphemes": 64
},
"dynamicProperties": {
"type": "string",
"description": "Additional structured data as a JSON string. Escape hatch for experimental result types before they are formalized into the union.",
"maxGraphemes": 10000
}
}
},
"description": "A single evaluation produced by an evaluator service. Exactly one of 'subject' (single target) or 'subjects' (batch) must be provided."
}