{"apiVersion":"aitvaras.dev/v1alpha1","status":"open-experimental-contract","schemas":{"Service":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"apiVersion":{"type":"string","const":"aitvaras.dev/v1alpha1"},"kind":{"type":"string","const":"Service"},"metadata":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z][a-z0-9-]{2,63}$"},"name":{"type":"string","minLength":1,"maxLength":100},"summary":{"type":"string","minLength":1,"maxLength":300},"description":{"type":"string","maxLength":3000},"category":{"type":"string","enum":["signer","automation","protection","institutional","custom"]},"publisher":{"type":"string","minLength":1,"maxLength":100},"license":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"access":{"type":"string","enum":["open-source","commercial","private"]}},"required":["name","access"],"additionalProperties":false},"documentation":{"type":"string","maxLength":500}},"required":["slug","name","summary","description","category","publisher","license"],"additionalProperties":false},"compatibility":{"type":"object","properties":{"networks":{"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":100}},"protocols":{"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":100}},"targets":{"minItems":1,"maxItems":16,"type":"array","items":{"type":"object","properties":{"cloud":{"type":"string","enum":["AWS","Azure","GCP","On-premises"]},"runtime":{"type":"string","pattern":"^[a-z][a-z0-9-]{2,63}$"},"status":{"type":"string","enum":["proposed","tested"]}},"required":["cloud","runtime","status"],"additionalProperties":false}}},"required":["networks","protocols","targets"],"additionalProperties":false},"interfaces":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","pattern":"^[a-z][a-z0-9-]{2,63}$"},"transport":{"type":"string","enum":["http","grpc","nats","vsock","custom"]},"description":{"type":"string","maxLength":500}},"required":["name","transport","description"],"additionalProperties":false}},"dependencies":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","pattern":"^[a-z][a-z0-9-]{2,63}$"},"kind":{"type":"string","enum":["nats","postgresql","rpc","signer","policy","custom"]},"required":{"type":"boolean"},"description":{"type":"string","maxLength":500}},"required":["name","kind","required","description"],"additionalProperties":false}},"configuration":{"maxItems":64,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","pattern":"^[A-Z][A-Z0-9_]{1,79}$"},"type":{"type":"string","enum":["string","integer","boolean","secret-reference"]},"required":{"type":"boolean"},"description":{"type":"string","maxLength":500}},"required":["key","type","required","description"],"additionalProperties":false}},"readiness":{"type":"string","enum":["planned","sample","private-integration","packaging-ready"]},"extensions":{"type":"object","propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9.-]+\\/[a-zA-Z][a-zA-Z0-9_.-]+$"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["apiVersion","kind","metadata","compatibility","interfaces","dependencies","configuration","readiness"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"ServiceRelease":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"apiVersion":{"type":"string","const":"aitvaras.dev/v1alpha1"},"kind":{"type":"string","const":"ServiceRelease"},"metadata":{"type":"object","properties":{"name":{"type":"string","pattern":"^[a-z][a-z0-9-]{2,63}$"},"version":{"type":"string","pattern":"^\\d+\\.\\d+\\.\\d+(?:-[a-zA-Z0-9.-]+)?$"},"supplier":{"type":"string","minLength":1,"maxLength":100},"product":{"type":"string","minLength":1,"maxLength":100}},"required":["name","version","supplier","product"],"additionalProperties":false},"executor":{"type":"object","properties":{"type":{"type":"string","pattern":"^[a-z][a-z0-9-]{2,63}$"},"contractVersion":{"type":"string","const":"1"},"architecture":{"type":"string","enum":["amd64","arm64"]}},"required":["type","contractVersion","architecture"],"additionalProperties":false},"artifact":{"type":"object","properties":{"format":{"type":"string","enum":["nitro-eif","oci-archive"]},"path":{"type":"string","maxLength":240,"pattern":"^[A-Za-z0-9_.][A-Za-z0-9_./-]*$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"sizeBytes":{"type":"integer","exclusiveMinimum":0,"maximum":4294967296},"sourceRevision":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}]}},"required":["format","path","sha256","sizeBytes","sourceRevision"],"additionalProperties":false},"files":{"minItems":1,"maxItems":256,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","maxLength":240,"pattern":"^[A-Za-z0-9_.][A-Za-z0-9_./-]*$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"sizeBytes":{"type":"integer","minimum":0,"maximum":4294967296}},"required":["path","sha256","sizeBytes"],"additionalProperties":false}},"attestation":{"oneOf":[{"type":"object","properties":{"expectedSigned":{"type":"boolean"},"pcrs":{"type":"object","propertyNames":{"type":"string","enum":["PCR0","PCR1","PCR2","PCR3","PCR4","PCR8"]},"additionalProperties":{"type":"string","pattern":"^[a-f0-9]{96}$"}},"debugAllowed":{"type":"boolean","const":false},"profile":{"type":"string","const":"aws-nitro"}},"required":["expectedSigned","pcrs","debugAllowed","profile"],"additionalProperties":false},{"type":"object","properties":{"profile":{"type":"string","enum":["intel-tdx","amd-sev-snp","custom"]},"debugAllowed":{"type":"boolean","const":false},"referenceValuesPath":{"type":"string","maxLength":240,"pattern":"^[A-Za-z0-9_.][A-Za-z0-9_./-]*$"},"policyPath":{"type":"string","maxLength":240,"pattern":"^[A-Za-z0-9_.][A-Za-z0-9_./-]*$"},"verifier":{"type":"string","minLength":1,"maxLength":100}},"required":["profile","debugAllowed","referenceValuesPath","policyPath","verifier"],"additionalProperties":false}]},"signatures":{"maxItems":8,"type":"array","items":{"type":"object","properties":{"purpose":{"type":"string","enum":["release-manifest","eif"]},"status":{"type":"string","enum":["not-provided","provided-unverified"]},"path":{"anyOf":[{"type":"string","maxLength":240,"pattern":"^[A-Za-z0-9_.][A-Za-z0-9_./-]*$"},{"type":"null"}]},"certificatePath":{"anyOf":[{"type":"string","maxLength":240,"pattern":"^[A-Za-z0-9_.][A-Za-z0-9_./-]*$"},{"type":"null"}]},"signerFingerprint":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]}},"required":["purpose","status","path","certificatePath","signerFingerprint"],"additionalProperties":false}},"compatibility":{"type":"object","properties":{"status":{"type":"string","enum":["unresolved","declared-tested"]},"evidencePaths":{"maxItems":32,"type":"array","items":{"type":"string","maxLength":240,"pattern":"^[A-Za-z0-9_.][A-Za-z0-9_./-]*$"}},"versions":{"type":"object","propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9-]{2,63}$"},"additionalProperties":{"type":"string","maxLength":100}}},"required":["status","evidencePaths","versions"],"additionalProperties":false},"requirements":{"type":"object","properties":{"cpu":{"type":"integer","minimum":1,"maximum":64},"memoryMiB":{"type":"integer","minimum":512,"maximum":524288},"vsockPorts":{"maxItems":16,"type":"array","items":{"type":"integer","minimum":1,"maximum":65535}},"dependencies":{"maxItems":16,"type":"array","items":{"type":"string","enum":["nats","postgres","kms","secrets-manager","s3","oidc"]}},"customerInputs":{"maxItems":64,"type":"array","items":{"type":"string","pattern":"^[A-Z][A-Z0-9_]{1,79}$"}}},"required":["cpu","memoryMiB","vsockPorts","dependencies","customerInputs"],"additionalProperties":false},"extensions":{"type":"object","propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9.-]+\\/[a-zA-Z][a-zA-Z0-9_.-]+$"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["apiVersion","kind","metadata","executor","artifact","files","attestation","signatures","compatibility","requirements"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"PackageReservation":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"manifest":{"type":"object","properties":{"apiVersion":{"type":"string","const":"aitvaras.dev/v1alpha1"},"kind":{"type":"string","const":"ServiceRelease"},"metadata":{"type":"object","properties":{"name":{"type":"string","pattern":"^[a-z][a-z0-9-]{2,63}$"},"version":{"type":"string","pattern":"^\\d+\\.\\d+\\.\\d+(?:-[a-zA-Z0-9.-]+)?$"},"supplier":{"type":"string","minLength":1,"maxLength":100},"product":{"type":"string","minLength":1,"maxLength":100}},"required":["name","version","supplier","product"],"additionalProperties":false},"executor":{"type":"object","properties":{"type":{"type":"string","pattern":"^[a-z][a-z0-9-]{2,63}$"},"contractVersion":{"type":"string","const":"1"},"architecture":{"type":"string","enum":["amd64","arm64"]}},"required":["type","contractVersion","architecture"],"additionalProperties":false},"artifact":{"type":"object","properties":{"format":{"type":"string","enum":["nitro-eif","oci-archive"]},"path":{"type":"string","maxLength":240,"pattern":"^[A-Za-z0-9_.][A-Za-z0-9_./-]*$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"sizeBytes":{"type":"integer","exclusiveMinimum":0,"maximum":4294967296},"sourceRevision":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}]}},"required":["format","path","sha256","sizeBytes","sourceRevision"],"additionalProperties":false},"files":{"minItems":1,"maxItems":256,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","maxLength":240,"pattern":"^[A-Za-z0-9_.][A-Za-z0-9_./-]*$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"sizeBytes":{"type":"integer","minimum":0,"maximum":4294967296}},"required":["path","sha256","sizeBytes"],"additionalProperties":false}},"attestation":{"oneOf":[{"type":"object","properties":{"expectedSigned":{"type":"boolean"},"pcrs":{"type":"object","propertyNames":{"type":"string","enum":["PCR0","PCR1","PCR2","PCR3","PCR4","PCR8"]},"additionalProperties":{"type":"string","pattern":"^[a-f0-9]{96}$"}},"debugAllowed":{"type":"boolean","const":false},"profile":{"type":"string","const":"aws-nitro"}},"required":["expectedSigned","pcrs","debugAllowed","profile"],"additionalProperties":false},{"type":"object","properties":{"profile":{"type":"string","enum":["intel-tdx","amd-sev-snp","custom"]},"debugAllowed":{"type":"boolean","const":false},"referenceValuesPath":{"type":"string","maxLength":240,"pattern":"^[A-Za-z0-9_.][A-Za-z0-9_./-]*$"},"policyPath":{"type":"string","maxLength":240,"pattern":"^[A-Za-z0-9_.][A-Za-z0-9_./-]*$"},"verifier":{"type":"string","minLength":1,"maxLength":100}},"required":["profile","debugAllowed","referenceValuesPath","policyPath","verifier"],"additionalProperties":false}]},"signatures":{"maxItems":8,"type":"array","items":{"type":"object","properties":{"purpose":{"type":"string","enum":["release-manifest","eif"]},"status":{"type":"string","enum":["not-provided","provided-unverified"]},"path":{"anyOf":[{"type":"string","maxLength":240,"pattern":"^[A-Za-z0-9_.][A-Za-z0-9_./-]*$"},{"type":"null"}]},"certificatePath":{"anyOf":[{"type":"string","maxLength":240,"pattern":"^[A-Za-z0-9_.][A-Za-z0-9_./-]*$"},{"type":"null"}]},"signerFingerprint":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]}},"required":["purpose","status","path","certificatePath","signerFingerprint"],"additionalProperties":false}},"compatibility":{"type":"object","properties":{"status":{"type":"string","enum":["unresolved","declared-tested"]},"evidencePaths":{"maxItems":32,"type":"array","items":{"type":"string","maxLength":240,"pattern":"^[A-Za-z0-9_.][A-Za-z0-9_./-]*$"}},"versions":{"type":"object","propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9-]{2,63}$"},"additionalProperties":{"type":"string","maxLength":100}}},"required":["status","evidencePaths","versions"],"additionalProperties":false},"requirements":{"type":"object","properties":{"cpu":{"type":"integer","minimum":1,"maximum":64},"memoryMiB":{"type":"integer","minimum":512,"maximum":524288},"vsockPorts":{"maxItems":16,"type":"array","items":{"type":"integer","minimum":1,"maximum":65535}},"dependencies":{"maxItems":16,"type":"array","items":{"type":"string","enum":["nats","postgres","kms","secrets-manager","s3","oidc"]}},"customerInputs":{"maxItems":64,"type":"array","items":{"type":"string","pattern":"^[A-Z][A-Z0-9_]{1,79}$"}}},"required":["cpu","memoryMiB","vsockPorts","dependencies","customerInputs"],"additionalProperties":false},"extensions":{"type":"object","propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9.-]+\\/[a-zA-Z][a-zA-Z0-9_.-]+$"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["apiVersion","kind","metadata","executor","artifact","files","attestation","signatures","compatibility","requirements"],"additionalProperties":false},"packageSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"sizeBytes":{"type":"integer","exclusiveMinimum":0,"maximum":1073741824},"filename":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_.-]{0,150}\\.(?:tar\\.gz|eif|tar)$"}},"required":["manifest","packageSha256","sizeBytes","filename"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"PackageEvidence":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"apiVersion":{"type":"string","const":"aitvaras.dev/v1alpha1"},"kind":{"type":"string","const":"PackageEvidence"},"inventory":{"minItems":1,"maxItems":256,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","maxLength":240,"pattern":"^[A-Za-z0-9_.][A-Za-z0-9_./-]*$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"sizeBytes":{"type":"integer","minimum":0,"maximum":4294967296}},"required":["path","sha256","sizeBytes"],"additionalProperties":false}},"sources":{"maxItems":64,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","maxLength":240,"pattern":"^[A-Za-z0-9_.][A-Za-z0-9_./-]*$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"text":{"type":"string","maxLength":8192},"truncated":{"type":"boolean"}},"required":["path","sha256","text","truncated"],"additionalProperties":false}},"warnings":{"maxItems":256,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","maxLength":240},"reason":{"type":"string","maxLength":200}},"required":["path","reason"],"additionalProperties":false}},"verification":{"type":"string","const":"inventory-only"},"deploymentEnabled":{"type":"boolean","const":false}},"required":["apiVersion","kind","inventory","sources","warnings","verification","deploymentEnabled"],"additionalProperties":false}},"crossFieldRules":["Unique inventory paths","Main artifact hash and size must match inventory","Nitro signed EIF declaration and nonzero PCR0/PCR8","All signature/certificate/policy/evidence references must be inventoried","Tested compatibility requires evidence paths"],"agentGuide":"/agents.md","openapi":"/openapi.json","deploymentEnabled":false}