{
"id": "pub.chive.graph.nodeProposal",
"defs": {
"main": {
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"proposalType",
"kind",
"rationale",
"createdAt"
],
"properties": {
"kind": {
"type": "string",
"description": "Node kind being proposed",
"knownValues": [
"type",
"object"
]
},
"subkind": {
"type": "string",
"maxLength": 50,
"description": "Subkind slug (e.g., 'field', 'institution', 'contribution-type')"
},
"evidence": {
"type": "array",
"items": {
"ref": "#evidence",
"type": "ref"
},
"maxLength": 10,
"description": "Supporting evidence for the proposal"
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"rationale": {
"type": "string",
"maxLength": 2000,
"description": "Justification for the proposal"
},
"targetUri": {
"type": "string",
"format": "at-uri",
"description": "AT-URI of node to update/deprecate/merge"
},
"mergeIntoUri": {
"type": "string",
"format": "at-uri",
"description": "AT-URI of node to merge into (for merge action)"
},
"proposalType": {
"type": "string",
"description": "Type of proposal action",
"knownValues": [
"create",
"update",
"merge",
"deprecate"
]
},
"proposedNode": {
"ref": "#proposedNodeData",
"type": "ref",
"description": "Proposed node data (for create/update)"
},
"schemaRevision": {
"type": "integer",
"minimum": 1,
"description": "Schema revision this record was created with. Absent means revision 1."
}
}
},
"description": "Unified proposal for creating, updating, merging, or deprecating knowledge graph nodes (stored in user PDS)"
},
"evidence": {
"type": "object",
"required": [
"type"
],
"properties": {
"uri": {
"type": "string",
"format": "uri",
"description": "URI to evidence"
},
"type": {
"type": "string",
"description": "Evidence type",
"knownValues": [
"wikidata",
"lcsh",
"fast",
"ror",
"credit",
"usage",
"citation",
"external",
"other"
]
},
"description": {
"type": "string",
"maxLength": 500,
"description": "Description of the evidence"
}
},
"description": "Supporting evidence for a proposal"
},
"proposedNodeData": {
"type": "object",
"required": [
"label"
],
"properties": {
"label": {
"type": "string",
"maxLength": 500
},
"metadata": {
"ref": "pub.chive.graph.node#nodeMetadata",
"type": "ref"
},
"description": {
"type": "string",
"maxLength": 2000
},
"externalIds": {
"type": "array",
"items": {
"ref": "pub.chive.graph.node#externalId",
"type": "ref"
},
"maxLength": 20
},
"alternateLabels": {
"type": "array",
"items": {
"type": "string",
"maxLength": 500
},
"maxLength": 50
}
},
"description": "Proposed node data"
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1,
"revision": 1
}