app.gainforest.evaluator.service
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"evaluationTypeDefinition": {
"description": "Definition of a single evaluation type produced by this evaluator.",
"properties": {
"identifier": {
"description": "The evaluation type identifier (must match an entry in evaluationTypes).",
"maxGraphemes": 64,
"type": "string"
},
"locales": {
"description": "Human-readable names and descriptions in various languages.",
"items": {
"ref": "#evaluationTypeLocale",
"type": "ref"
},
"maxLength": 20,
"type": "array"
},
"method": {
"description": "Default method info for this evaluation type (can be overridden per-evaluation).",
"ref": "app.gainforest.evaluator.defs#methodInfo",
"type": "ref"
},
"resultType": {
"description": "The lexicon reference for the result type (e.g., 'app.gainforest.evaluator.defs#speciesIdResult').",
"maxGraphemes": 128,
"type": "string"
}
},
"required": [
"identifier",
"resultType"
],
"type": "object"
},
"evaluationTypeLocale": {
"description": "Localized name and description for an evaluation type.",
"properties": {
"description": {
"description": "Longer description of what this evaluation type does.",
"maxGraphemes": 2048,
"type": "string"
},
"lang": {
"description": "Language code (BCP-47, e.g., 'en', 'pt-BR').",
"maxGraphemes": 16,
"type": "string"
},
"name": {
"description": "Short human-readable name for this evaluation type.",
"maxGraphemes": 128,
"type": "string"
}
},
"required": [
"lang",
"name",
"description"
],
"type": "object"
},
"evaluatorPolicies": {
"description": "Policies declaring what this evaluator does and how it operates.",
"properties": {
"accessModel": {
"description": "Whether this evaluator requires user subscription ('subscription') or processes all matching records ('open').",
"knownValues": [
"open",
"subscription"
],
"maxGraphemes": 64,
"type": "string"
},
"evaluationTypeDefinitions": {
"description": "Detailed definitions for each evaluation type, including human-readable descriptions.",
"items": {
"ref": "#evaluationTypeDefinition",
"type": "ref"
},
"maxLength": 20,
"type": "array"
},
"evaluationTypes": {
"description": "List of evaluation type identifiers this evaluator produces (e.g., 'species-id', 'data-quality').",
"items": {
"maxGraphemes": 64,
"type": "string"
},
"maxLength": 20,
"type": "array"
},
"subjectCollections": {
"description": "NSIDs of record collections this evaluator can evaluate (e.g., 'app.gainforest.dwc.occurrence').",
"items": {
"maxGraphemes": 128,
"type": "string"
},
"maxLength": 20,
"type": "array"
}
},
"required": [
"evaluationTypes"
],
"type": "object"
},
"main": {
"description": "An evaluator service declaration. Publish at /app.gainforest.evaluator.service/self to declare this account as an evaluator.",
"key": "literal:self",
"record": {
"properties": {
"createdAt": {
"description": "Timestamp of when this evaluator service was declared.",
"format": "datetime",
"type": "string"
},
"policies": {
"description": "The evaluator's policies including supported evaluation types and access model.",
"ref": "#evaluatorPolicies",
"type": "ref"
}
},
"required": [
"policies",
"createdAt"
],
"type": "object"
},
"type": "record"
}
},
"description": "Declaration record published at rkey 'self' to register an account as an evaluator service. Analogous to app.bsky.labeler.service for labelers.",
"id": "app.gainforest.evaluator.service",
"lexicon": 1
}
Metadata
- DID
-
did:plc:qoti4acfmc5wg6zzmtix6hse - CID
-
bafyreid33g65fyrsg24okjqx5vvuh4r4m4ft4pkf3tfqjcp57x3fw6eo34 - Indexed At
- 2026-02-18 18:06 UTC
- AT-URI
-
at://did:plc:qoti4acfmc5wg6zzmtix6hse/com.atproto.lexicon.schema/app.gainforest.evaluator.service
Referenced Schemas (1)
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
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 patt…
-
A subscription record published by a user in their own repo to request evaluations from a specific evaluator service. The evaluator detects subscriptions via Jetstream and processes matching records. Deleting this recor…