{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://quantumsoftware.tech/schemas/nm-experiment-record-0.1.schema.json","title":"N/M Experiment Record 0.1","type":"object","additionalProperties":false,"required":["format","version","id","runId","createdAt","sourceHash","runtime","workload","outcome","integrity"],"properties":{"format":{"const":"nm-experiment"},"version":{"const":"0.1"},"id":{"type":"string","pattern":"^nmexp-[0-9a-f]{16}$"},"runId":{"type":"string","pattern":"^nmrun-[0-9a-f]{16}$"},"createdAt":{"type":"string","format":"date-time"},"sourceHash":{"type":"string","pattern":"^[0-9a-f]{16}$"},"source":{"type":"string"},"runtime":{"type":"object","additionalProperties":false,"required":["languageVersion","packageVersion"],"properties":{"languageVersion":{"type":"string","maxLength":64},"packageVersion":{"type":"string","maxLength":64},"engine":{"enum":["statevector","stabilizer"]},"genericOracles":{"type":"object","additionalProperties":false,"required":["contractVersion","rfc","instantiations"],"properties":{"contractVersion":{"const":"0.2.0-experimental"},"rfc":{"const":"NM-RFC-0010"},"instantiations":{"type":"array","maxItems":128,"items":{"type":"object","additionalProperties":false,"required":["algorithm","constArguments","oracles"],"properties":{"algorithm":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"},"constArguments":{"type":"array","maxItems":16,"items":{"type":"integer","minimum":0}},"oracles":{"type":"array","maxItems":16,"items":{"type":"object","additionalProperties":false,"required":["declaration","kind","concreteWidths","verificationTier","artifactHash"],"properties":{"declaration":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"},"kind":{"enum":["xor","phase"]},"concreteWidths":{"type":"array","minItems":1,"maxItems":16,"items":{"type":"integer","minimum":1}},"verificationTier":{"enum":["structural","exhaustive"]},"artifactHash":{"type":"string","pattern":"^fnv1a32:[0-9a-f]{8}$"}}}}}}}}},"feedForward":{"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"]}}}]}}}}},"workload":{"type":"object","additionalProperties":false,"required":["kind"],"properties":{"kind":{"enum":["run","train","classifier","kernel","qaoa","benchmark"]},"optimizer":{"enum":["gd","momentum","adam","spsa","qng"]},"objective":{"enum":["minimize","maximize"]},"datasetId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"},"presetId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"},"seed":{"type":"integer"},"steps":{"type":"integer","minimum":1,"maximum":100},"evaluationBudget":{"type":"integer","minimum":1,"maximum":10000000}}},"outcome":{"type":"object","additionalProperties":false,"required":["success"],"properties":{"success":{"type":"boolean"},"converged":{"type":"boolean"},"initialCost":{"type":"number"},"finalCost":{"type":"number"},"finalAccuracy":{"type":"number","minimum":0,"maximum":1},"costHistory":{"type":"array","maxItems":101,"items":{"type":"number"}},"accuracyHistory":{"type":"array","maxItems":101,"items":{"type":"number","minimum":0,"maximum":1}},"circuitEvaluations":{"type":"integer","minimum":0,"maximum":10000000},"durationMs":{"type":"number","minimum":0,"maximum":86400000},"errorCode":{"type":"string","pattern":"^[A-Z][A-Z0-9-]{2,63}$"}},"allOf":[{"if":{"properties":{"success":{"const":true}},"required":["success"]},"then":{"not":{"required":["errorCode"]}}},{"if":{"properties":{"success":{"const":false}},"required":["success"]},"then":{"properties":{"converged":{"not":{"const":true}}}}}]},"integrity":{"type":"object","additionalProperties":false,"required":["algorithm","recordHash"],"properties":{"algorithm":{"const":"fnv1a-64"},"recordHash":{"type":"string","pattern":"^[0-9a-f]{16}$"}}}}}