{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"schema":{"type":"string","const":"careervector.execution-cell-lab/v1"},"status":{"type":"string","const":"experiment"},"grid":{"type":"object","properties":{"columns":{"type":"number","const":21},"rows":{"type":"number","const":21},"routeResolution":{"type":"number","const":0.5},"coordinateMeaning":{"type":"string","const":"nodes occupy one-based cells; routes use zero-based cell lines"}},"required":["columns","rows","routeResolution","coordinateMeaning"],"additionalProperties":false},"principles":{"minItems":1,"type":"array","items":{"$ref":"#/$defs/__schema0"}},"cells":{"minItems":1,"type":"array","items":{"$ref":"#/$defs/__schema1"}}},"required":["schema","status","grid","principles","cells"],"additionalProperties":false,"$defs":{"__schema0":{"type":"string","minLength":1},"__schema1":{"type":"object","properties":{"id":{"type":"string","minLength":1},"title":{"type":"string","minLength":1},"subtitle":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"status":{"$ref":"#/$defs/__schema2"},"focusNodeId":{"type":"string","minLength":1},"sources":{"minItems":1,"type":"array","items":{"$ref":"#/$defs/__schema3"}},"zones":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"kind":{"type":"string","enum":["frame","target","privacy"]},"state":{"$ref":"#/$defs/__schema2"},"tone":{"$ref":"#/$defs/__schema4"},"rect":{"$ref":"#/$defs/__schema5"}},"required":["id","label","detail","kind","state","tone","rect"],"additionalProperties":false}},"nodes":{"minItems":1,"type":"array","items":{"$ref":"#/$defs/__schema6"}},"annotations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"text":{"type":"string","minLength":1},"tone":{"$ref":"#/$defs/__schema4"},"rect":{"$ref":"#/$defs/__schema5"}},"required":["id","text","tone","rect"],"additionalProperties":false}},"ports":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"side":{"type":"string","enum":["north","east","south","west"]},"offset":{"type":"number","minimum":0,"maximum":21,"multipleOf":0.5},"direction":{"type":"string","enum":["in","out","both"]},"kind":{"$ref":"#/$defs/__schema8"},"state":{"$ref":"#/$defs/__schema2"},"contract":{"type":"string","minLength":1}},"required":["id","label","side","offset","direction","kind","state","contract"],"additionalProperties":false}},"edges":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"from":{"$ref":"#/$defs/__schema9"},"to":{"$ref":"#/$defs/__schema9"},"label":{"type":"string","minLength":1},"kind":{"$ref":"#/$defs/__schema8"},"state":{"$ref":"#/$defs/__schema2"},"lineStyle":{"$ref":"#/$defs/__schema7"},"direction":{"default":"one-way","type":"string","enum":["one-way","two-way"]},"contract":{"type":"string","minLength":1},"route":{"minItems":2,"type":"array","items":{"$ref":"#/$defs/__schema10"}}},"required":["id","from","to","label","kind","state","lineStyle","direction","contract","route"],"additionalProperties":false}}},"required":["id","title","subtitle","summary","status","focusNodeId","sources","zones","nodes","annotations","ports","edges"],"additionalProperties":false},"__schema2":{"type":"string","enum":["as-built","target","mixed","open"]},"__schema3":{"type":"string","minLength":1},"__schema4":{"type":"string","enum":["neutral","blue","teal","grey","purple","amber","red"]},"__schema5":{"type":"object","properties":{"column":{"type":"integer","minimum":1,"maximum":21},"row":{"type":"integer","minimum":1,"maximum":21},"columnSpan":{"type":"integer","exclusiveMinimum":0,"maximum":21},"rowSpan":{"type":"integer","exclusiveMinimum":0,"maximum":21}},"required":["column","row","columnSpan","rowSpan"],"additionalProperties":false},"__schema6":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"kind":{"type":"string","enum":["actor","policy","service","process","store","boundary"]},"state":{"$ref":"#/$defs/__schema2"},"tone":{"$ref":"#/$defs/__schema4"},"lineStyle":{"$ref":"#/$defs/__schema7"},"rect":{"$ref":"#/$defs/__schema5"},"authority":{"type":"string","minLength":1},"technology":{"default":[],"type":"array","items":{"type":"string","minLength":1}},"artifacts":{"default":[],"type":"array","items":{"type":"string","minLength":1}}},"required":["id","label","detail","kind","state","tone","lineStyle","rect","authority","technology","artifacts"],"additionalProperties":false},"__schema7":{"type":"string","enum":["solid","dashed"]},"__schema8":{"type":"string","enum":["control","work","data","feedback","evidence","governance"]},"__schema9":{"type":"object","properties":{"type":{"type":"string","enum":["node","port"]},"id":{"type":"string","minLength":1}},"required":["type","id"],"additionalProperties":false},"__schema10":{"type":"object","properties":{"x":{"type":"number","minimum":0,"maximum":21,"multipleOf":0.5},"y":{"type":"number","minimum":0,"maximum":21,"multipleOf":0.5}},"required":["x","y"],"additionalProperties":false}}}