{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://quantumsoftware.tech/schemas/nm-workspace-handoff-0.1.schema.json","title":"N/M workspace handoff 0.1","type":"object","additionalProperties":false,"required":["format","version","from","to","source","sourceHash","execution","project","learning","returnPath","integrity"],"properties":{"format":{"const":"nm-workspace-handoff"},"version":{"const":"0.1"},"from":{"enum":["playground","quantum-ai","learn"]},"to":{"enum":["playground","quantum-ai","learn"]},"source":{"type":"string","maxLength":120000,"x-maxUtf8Bytes":120000},"sourceHash":{"type":"string","pattern":"^[0-9a-f]{16}$"},"execution":{"type":"object","additionalProperties":false,"required":["target","seed","datasets"],"properties":{"target":{"anyOf":[{"type":"null"},{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"}]},"seed":{"type":["integer","null"],"minimum":-9007199254740991,"maximum":9007199254740991},"datasets":{"type":"array","maxItems":16,"items":{"type":"object","additionalProperties":false,"required":["id","split"],"properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"},"split":{"enum":["train","validation","test","synthetic",null]}}}}}},"project":{"anyOf":[{"type":"null"},{"type":"object","additionalProperties":false,"required":["id","revision","activePath"],"properties":{"id":{"type":"string","pattern":"^[a-z0-9][a-z0-9._-]{2,79}$"},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"activePath":{"type":"string","minLength":3,"maxLength":512,"x-maxUtf8Bytes":512}}}]},"learning":{"anyOf":[{"type":"null"},{"type":"object","additionalProperties":false,"required":["topic","lesson"],"properties":{"topic":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]{0,79}$"},"lesson":{"type":["integer","null"],"minimum":0,"maximum":9007199254740991}}}]},"returnPath":{"anyOf":[{"type":"null"},{"type":"string","maxLength":1024,"pattern":"^/(?!/)"}]},"integrity":{"type":"object","additionalProperties":false,"required":["algorithm","handoffHash"],"properties":{"algorithm":{"const":"fnv1a-64"},"handoffHash":{"type":"string","pattern":"^[0-9a-f]{16}$"}}}}}