Files
memabra/docs/schemas/candidate_object.schema.json
2026-04-15 11:06:05 +08:00

86 lines
1.7 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://memabra.local/schemas/candidate_object.schema.json",
"title": "CandidateObject",
"description": "Unified retrieval/routing candidate for memory, skill, or tool objects in memabra.",
"type": "object",
"additionalProperties": false,
"required": [
"id",
"type",
"title",
"summary",
"triggers",
"cost",
"confidence",
"success_rate",
"freshness",
"risk",
"tags",
"source"
],
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"type": {
"type": "string",
"enum": ["memory", "skill", "tool"]
},
"title": {
"type": "string",
"minLength": 1
},
"summary": {
"type": "string",
"minLength": 1
},
"triggers": {
"type": "array",
"items": {"type": "string"},
"default": []
},
"cost": {
"type": "number",
"minimum": 0
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"success_rate": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"freshness": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"risk": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"embedding_ref": {
"type": ["string", "null"]
},
"tags": {
"type": "array",
"items": {"type": "string"},
"default": []
},
"source": {
"type": "string",
"enum": ["user", "system", "generated", "external"]
},
"type_payload": {
"type": "object",
"description": "Type-specific metadata retained without collapsing semantic boundaries.",
"default": {}
}
}
}