{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://quantumsoftware.tech/schemas/nm-quantum-job-0.1.schema.json","title":"N/M Quantum Job 0.1","type":"object","additionalProperties":false,"required":["format","version","contractVersion","id","provider","status","target","metadata","attempts","maxAttempts","createdAt","updatedAt"],"properties":{"format":{"const":"nm-quantum-job"},"version":{"const":"0.1"},"contractVersion":{"const":"0.1.0-preview"},"id":{"type":"string","minLength":1,"pattern":"^[A-Za-z0-9._:-]+$","x-maxUtf8Bytes":128,"x-rejectUnicodeControls":true},"provider":{"type":"string","minLength":1,"pattern":"^[A-Za-z0-9._:-]+$","x-maxUtf8Bytes":80,"x-rejectUnicodeControls":true},"status":{"enum":["queued","running","succeeded","failed","cancelled"]},"target":{"type":"string","minLength":1,"pattern":"^[A-Za-z0-9._:-]+$","x-maxUtf8Bytes":80,"x-rejectUnicodeControls":true},"shots":{"type":"integer","minimum":1,"maximum":100000},"metadata":{"type":"object","maxProperties":16,"propertyNames":{"pattern":"^[A-Za-z0-9_.-]+$","x-maxUtf8Bytes":40},"additionalProperties":{"type":"string","x-maxUtf8Bytes":160,"x-rejectUnicodeControls":true}},"attempts":{"type":"integer","minimum":0,"maximum":2},"maxAttempts":{"type":"integer","minimum":1,"maximum":2},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"result":{"type":"object","additionalProperties":false,"required":["success","engine","executionTimeMs","output","probabilities","diagnostics"],"properties":{"success":{"const":true},"engine":{"enum":["statevector","stabilizer"]},"executionTimeMs":{"type":"number","minimum":0},"output":{"type":"array","maxItems":200,"items":{"type":"string","minLength":0,"x-maxUtf8Bytes":4096,"x-rejectUnicodeControls":true}},"probabilities":{"type":"array","maxItems":4096,"items":{"type":"object","additionalProperties":false,"required":["state","probability"],"properties":{"state":{"type":"string","minLength":1,"pattern":"^[01]+$","x-maxUtf8Bytes":4096,"x-rejectUnicodeControls":true},"probability":{"type":"number","minimum":0,"maximum":1}}}},"histogram":{"type":"object","additionalProperties":false,"required":["shots","entries"],"properties":{"shots":{"type":"integer","minimum":1,"maximum":100000},"entries":{"type":"array","maxItems":4096,"items":{"type":"object","additionalProperties":false,"required":["state","count","probability"],"properties":{"state":{"type":"string","minLength":1,"pattern":"^[01]+$","x-maxUtf8Bytes":4096,"x-rejectUnicodeControls":true},"count":{"type":"integer","minimum":0},"probability":{"type":"number","minimum":0,"maximum":1}}}}}},"diagnostics":{"type":"array","maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["code","severity","message"],"properties":{"code":{"type":"string","minLength":1,"pattern":"^[A-Z][A-Z0-9]*(?:-[A-Z0-9]+)+$","x-maxUtf8Bytes":80,"x-rejectUnicodeControls":true},"severity":{"enum":["error","warning","info"]},"message":{"type":"string","minLength":1,"x-maxUtf8Bytes":1000,"x-rejectUnicodeControls":true}}}},"programResult":{"oneOf":[{"type":"object","additionalProperties":false,"required":["contractVersion","status","type","value","line"],"properties":{"contractVersion":{"const":"0.2.0-runtime-experimental"},"status":{"const":"ok"},"type":{"type":"string","pattern":"^(?:Bit|Int|Float|Array<(?:Bit|Int|Float),(?:[1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-6])>)$"},"value":{"anyOf":[{"type":"number"},{"type":"array","minItems":1,"maxItems":256,"items":{"type":"number"}}]},"line":{"type":"integer","minimum":1}}},{"type":"object","additionalProperties":false,"required":["contractVersion","status","error","line"],"properties":{"contractVersion":{"const":"0.2.0-runtime-experimental"},"status":{"const":"error"},"error":{"type":"object","additionalProperties":false,"required":["code"],"properties":{"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]{0,63}$"}}},"line":{"type":"integer","minimum":1}}}],"x-contract":"NM-RFC-0007"}}},"error":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","minLength":1,"pattern":"^[A-Z][A-Z0-9]*(?:-[A-Z0-9]+)+$","x-maxUtf8Bytes":80,"x-rejectUnicodeControls":true},"message":{"type":"string","minLength":1,"x-maxUtf8Bytes":1000,"x-rejectUnicodeControls":true}}}},"allOf":[{"if":{"properties":{"status":{"const":"succeeded"}},"required":["status"]},"then":{"required":["result"],"not":{"required":["error"]}}},{"if":{"properties":{"status":{"const":"failed"}},"required":["status"]},"then":{"required":["error"],"not":{"required":["result"]}}},{"if":{"properties":{"status":{"enum":["queued","running","cancelled"]}},"required":["status"]},"then":{"not":{"anyOf":[{"required":["result"]},{"required":["error"]}]}}}],"x-maxUtf8Bytes":1048576,"x-stateInvariants":["attempts <= maxAttempts","updatedAt >= createdAt","histogram entry counts sum to shots"]}