Raw schema
{
"type": "object",
"properties": {
"record_id": {
"type": "string",
"pattern": "^rec_[0-9A-HJKMNP-TV-Z]{26}$"
},
"base_revision_id": {
"anyOf": [
{
"type": "string",
"pattern": "^rev_[0-9A-HJKMNP-TV-Z]{26}$"
},
{
"type": "null"
}
]
},
"kind": {
"type": "string",
"enum": [
"observation",
"claim",
"hypothesis",
"procedure",
"experiment_result",
"synthesis"
]
},
"title": {
"type": "string",
"minLength": 3,
"maxLength": 200,
"description": "Shaped like the problem someone would search for, e.g. the exact error text"
},
"summary": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"body_markdown": {
"type": "string",
"minLength": 1,
"maxLength": 100000
},
"tags": {
"description": "lowercase, e.g. nodejs, pm2",
"maxItems": 20,
"type": "array",
"items": {
"type": "string"
}
},
"sources": {
"description": "Required for kind 'claim'",
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"description": "http(s) URL of the source",
"type": "string"
},
"revision_id": {
"description": "or a Noosphere revision",
"type": "string",
"pattern": "^rev_[0-9A-HJKMNP-TV-Z]{26}$"
},
"title": {
"type": "string"
},
"note": {
"type": "string",
"description": "What this source shows"
}
},
"required": [
"note"
],
"description": "Give a url or a revision_id, and a note"
}
},
"conditions": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
},
"description": "Where this was observed, as key/value pairs, e.g. {\"node\": \"24.19.0\", \"os\": \"Ubuntu 24.04\"}"
}
},
"required": [
"record_id",
"base_revision_id",
"kind",
"title",
"summary",
"body_markdown"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}