{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://quantumsoftware.tech/schemas/nm-workspace-snapshot-0.1.schema.json","title":"N/M Workspace Snapshot 0.1","type":"object","additionalProperties":false,"required":["format","version","readonly","name","entryModule","documents","reproducibility"],"properties":{"format":{"const":"nm-workspace-snapshot"},"version":{"const":"0.1"},"readonly":{"const":true},"name":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9._-]{0,62}[a-z0-9])?$"},"entryModule":{"type":"string","maxLength":128,"pattern":"^[A-Za-z_]\\w*$"},"documents":{"type":"array","minItems":1,"maxItems":5000,"x-maxAggregateSourceUtf8Bytes":5000000,"items":{"type":"object","additionalProperties":false,"required":["path","moduleName","source","sourceHash"],"properties":{"path":{"type":"string","maxLength":512,"x-maxUtf8Bytes":512,"x-unicodeNormalization":"NFC","x-rejectUnicodeControls":true,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*\\\\).+\\.nm$"},"moduleName":{"type":"string","maxLength":128,"pattern":"^[A-Za-z_]\\w*$"},"source":{"type":"string"},"sourceHash":{"type":"string","pattern":"^[0-9a-f]{16}$"}}}},"reproducibility":{"type":"object","additionalProperties":false,"required":["hashAlgorithm","sourceHash","runFingerprint","languageVersion","packageVersion","engine","seed","entryModule","documentCount"],"properties":{"hashAlgorithm":{"const":"fnv1a-64"},"sourceHash":{"type":"string","pattern":"^[0-9a-f]{16}$"},"runFingerprint":{"type":"string","pattern":"^[0-9a-f]{16}$"},"languageVersion":{"type":"string","minLength":1},"packageVersion":{"type":"string","minLength":1},"engine":{"enum":["statevector","stabilizer"]},"seed":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]},"entryModule":{"type":"string","maxLength":128,"pattern":"^[A-Za-z_]\\w*$"},"documentCount":{"type":"integer","minimum":1,"maximum":5000},"feedForwardBranchRecord":{"type":"object","additionalProperties":false,"required":["contractVersion","seed","outcomes","branchesTaken","randomDraws","verification"],"properties":{"contractVersion":{"const":"0.3.0-experimental"},"seed":{"type":"string","pattern":"^(?:0|[1-9][0-9]{0,15})$"},"outcomes":{"type":"array","maxItems":100000,"items":{"enum":[0,1]}},"branchesTaken":{"type":"array","maxItems":100000,"items":{"type":"boolean"}},"randomDraws":{"type":"integer","minimum":0,"maximum":100000},"verification":{"oneOf":[{"type":"object","additionalProperties":false,"required":["tier","label","backend","conditioningMeasurements","reachablePaths","probabilitySum","tolerance","invariants"],"properties":{"tier":{"const":1},"label":{"const":"verified"},"backend":{"enum":["statevector","stabilizer"]},"conditioningMeasurements":{"type":"integer","minimum":0,"maximum":8},"reachablePaths":{"type":"integer","minimum":1,"maximum":256},"probabilitySum":{"type":"number"},"tolerance":{"const":1e-10},"invariants":{"type":"array","maxItems":100,"items":{"type":"string","maxLength":256}}}},{"type":"object","additionalProperties":false,"required":["tier","label"],"properties":{"tier":{"const":2},"label":{"const":"sampled"},"conditioningMeasurements":{"type":"integer","minimum":0,"maximum":100000},"reason":{"enum":["budget","noise","unsupported","undeclared"]}}}]}}}}}}}