86 lines
1.7 KiB
JSON
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": {}
|
|
}
|
|
}
|
|
} |