{ "$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": {} } } }