{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://guanghulab.com/schemas/hldp-recursive-memory-v1.0.schema.json", "title": "HLDP v1 recursive causal memory tree", "type": "object", "required": ["protocol", "root", "nodes"], "properties": { "protocol": { "const": "HLDP-v1.0" }, "root": { "type": "string", "minLength": 1 }, "nodes": { "type": "object", "additionalProperties": { "$ref": "#/$defs/node" } } }, "$defs": { "nonEmpty": { "type": "string", "minLength": 1 }, "node": { "type": "object", "required": ["path", "summary", "trigger", "emergence", "lock", "why", "children", "sources", "rejected"], "properties": { "path": { "$ref": "#/$defs/nonEmpty" }, "summary": { "$ref": "#/$defs/nonEmpty" }, "trigger": { "$ref": "#/$defs/nonEmpty" }, "emergence": { "$ref": "#/$defs/nonEmpty" }, "lock": { "$ref": "#/$defs/nonEmpty" }, "why": { "$ref": "#/$defs/nonEmpty" }, "children": { "type": "array", "maxItems": 10, "uniqueItems": true, "items": { "$ref": "#/$defs/nonEmpty" } }, "sources": { "type": "array", "minItems": 1, "items": { "$ref": "#/$defs/nonEmpty" } }, "rejected": { "type": "array", "items": { "$ref": "#/$defs/nonEmpty" } } }, "additionalProperties": false } }, "additionalProperties": false }