{"$defs":{"input":{"additionalProperties":false,"properties":{"default":{"type":"number"},"hint":{"type":"string"},"id":{"pattern":"^[a-z][a-z0-9_]{0,47}$","type":"string"},"integer":{"default":false,"type":"boolean"},"label":{"type":"string"},"max":{"type":"number"},"min":{"type":"number"},"unit":{"type":"string"},"units":{"items":{"$ref":"#/$defs/unit"},"type":"array"}},"required":["id","label","unit","default","min","max"],"type":"object"},"output":{"additionalProperties":false,"properties":{"formula":{"maxLength":512,"type":"string"},"id":{"pattern":"^[a-z][a-z0-9_]{0,47}$","type":"string"},"label":{"type":"string"},"precision":{"maximum":10,"minimum":0,"type":"integer"},"unit":{"type":"string"}},"required":["id","label","unit","formula"],"type":"object"},"unit":{"additionalProperties":false,"properties":{"factor":{"exclusiveMinimum":0,"type":"number"},"label":{"type":"string"},"offset":{"default":0,"type":"number"}},"required":["label","factor"],"type":"object"}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"category":{"enum":["electronics","rf","mcu","aquarium","reef","everyday","converters"]},"checks":{"items":{"additionalProperties":false,"properties":{"formula":{"maxLength":512,"type":"string"},"max":{"type":"number"},"message":{"maxLength":400,"type":"string"},"min":{"type":"number"}},"required":["formula","min","max","message"],"type":"object"},"maxItems":12,"type":"array"},"description":{"maxLength":1200,"type":"string"},"explanation":{"items":{"maxLength":1500,"minLength":1,"type":"string"},"maxItems":12,"type":"array"},"id":{"pattern":"^[a-z0-9-]{1,70}$","type":"string"},"inputs":{"items":{"$ref":"#/$defs/input"},"maxItems":20,"minItems":1,"type":"array"},"notes":{"items":{"type":"string"},"type":"array"},"outputs":{"items":{"$ref":"#/$defs/output"},"maxItems":20,"minItems":1,"type":"array"},"section":{"maxLength":80,"type":"string"},"sources":{"items":{"format":"uri","type":"string"},"type":"array"},"tags":{"items":{"type":"string"},"maxItems":10,"type":"array"},"tests":{"items":{"additionalProperties":false,"properties":{"expected":{"additionalProperties":{"type":"number"},"type":"object"},"inputs":{"additionalProperties":{"type":"number"},"type":"object"},"tolerance":{"exclusiveMinimum":0,"maximum":0.001,"type":"number"}},"required":["inputs","expected"],"type":"object"},"maxItems":10,"minItems":1,"type":"array"},"title":{"maxLength":120,"type":"string"},"version":{"const":1},"visuals":{"items":{"additionalProperties":false,"properties":{"caption":{"maxLength":300,"type":"string"},"kind":{"enum":["diagram","curve","bar"]},"x":{"type":"string"},"y":{"type":"string"}},"required":["kind"],"type":"object"},"maxItems":4,"type":"array"}},"required":["version","id","title","description","category","inputs","outputs","tests"],"title":"Calibria Formula v1","type":"object"}