{"openapi":"3.1.0","info":{"title":"Evals AX API","version":"0.1.0","description":"Local agents execute experiments. This API stores private account evidence and runs bounded public website audits. Uploads are client-reported; summaries are recomputed. Device authorization uses this API's camelCase JSON protocol, not an OAuth token endpoint. Runtime refinements (including immutable evidence, manifest hashes, scoped ownership and count consistency) can reject structurally valid JSON. All responses use Cache-Control: no-store. Browser mutations require the same-origin Origin header. Authenticated cloud creations/updates and token issuance require current terms acceptance (428 terms_required); read/export/delete and guest audits remain available. Review GET /account/terms, then explicitly PUT acceptance of the reviewed current version. Stale acceptance returns 409 terms_version_changed and must not be retried automatically. See /docs/api."},"servers":[{"url":"/api/v1"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Revocable evx token. Read operations require read; mutations require write. Self-revocation permits either scope."},"browserSession":{"type":"apiKey","in":"header","name":"Cookie","description":"Opaque provider-managed browser Cookie header. The provider determines actual cookie names; there is no generic cookie named session. Use the signed-in browser and same-origin Origin for writes. CLI consumers use bearerAuth and must not copy browser cookies."}},"schemas":{"TermsStatus":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"accountTag":{"type":"string","pattern":"^\"[a-f0-9]{64}\"$","description":"Account-bound browser confirmation tag; send as If-Match when accepting from a browser session."},"currentVersion":{"type":"string"},"acceptedVersion":{"anyOf":[{"type":"string"},{"type":"null"}]},"acceptedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"required":{"type":"boolean"},"termsUrl":{"type":"string"},"reviewUrl":{"type":"string"}},"required":["accountTag","currentVersion","acceptedVersion","acceptedAt","required","termsUrl","reviewUrl"],"additionalProperties":false},"ProductTelemetry":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"enabled":{"type":"boolean"},"available":{"type":"boolean"},"collectionStartedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"windowDays":{"type":"number","const":30},"retentionDays":{"type":"number","const":90},"capacityDrops":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"population":{"anyOf":[{"type":"object","properties":{"retainedObservedAccounts":{"type":"integer","minimum":0,"maximum":9007199254740991},"firstObservedAccounts":{"type":"integer","minimum":0,"maximum":9007199254740991},"observedAccountsMissingProviderSignupDate":{"type":"integer","minimum":0,"maximum":9007199254740991},"providerDatedSignupsAmongObservedAccounts":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["retainedObservedAccounts","firstObservedAccounts","observedAccountsMissingProviderSignupDate","providerDatedSignupsAmongObservedAccounts"],"additionalProperties":false},{"type":"null"}]},"funnel":{"anyOf":[{"type":"object","properties":{"observedAccounts":{"type":"integer","minimum":0,"maximum":9007199254740991},"projectCreated":{"type":"integer","minimum":0,"maximum":9007199254740991},"experimentCreated":{"type":"integer","minimum":0,"maximum":9007199254740991},"resultUploaded":{"type":"integer","minimum":0,"maximum":9007199254740991},"resultRetrieved":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["observedAccounts","projectCreated","experimentCreated","resultUploaded","resultRetrieved"],"additionalProperties":false},{"type":"null"}]},"day7Retention":{"anyOf":[{"type":"object","properties":{"eligibleAccounts":{"type":"integer","minimum":0,"maximum":9007199254740991},"returnedAccounts":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["eligibleAccounts","returnedAccounts"],"additionalProperties":false},{"type":"null"}]},"operations":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["account_active","project_created","experiment_created","experiment_result_uploaded","experiment_result_retrieved","audit_requested","audit_completed"]},"events":{"type":"integer","minimum":0,"maximum":9007199254740991},"accounts":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","events","accounts"],"additionalProperties":false}},"coverage":{"type":"string"}},"required":["enabled","available","collectionStartedAt","windowDays","retentionDays","capacityDrops","population","funnel","day7Retention","operations","coverage"],"additionalProperties":false},"ProductTelemetryErasure":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"events":{"type":"integer","minimum":0,"maximum":9007199254740991},"accounts":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["events","accounts"],"additionalProperties":false},"Account":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"scopes":{"minItems":1,"maxItems":2,"type":"array","items":{"type":"string","enum":["read","write"]}},"tokenId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"operator":{"type":"boolean"},"plan":{"type":"string","const":"free-early-access"},"terms":{"$ref":"#/components/schemas/TermsStatus"},"limits":{"type":"object","properties":{"jsonBytes":{"type":"number","const":2000000},"projectsPerAccount":{"type":"number","const":50},"experimentsPerAccount":{"type":"number","const":200},"telemetryPerAccountPerDay":{"type":"number","const":2000},"tokensPerAccount":{"type":"number","const":20},"tokenLifetimeDays":{"type":"number","const":90},"deviceLifetimeSeconds":{"type":"number","const":600},"devicePollSeconds":{"type":"number","const":5},"pageSize":{"type":"number","const":50},"monthlyAudits":{"type":"number","const":3000},"storageBytesPerAccount":{"type":"number","const":50000000},"telemetryRetentionDays":{"type":"number","const":30},"anonymousReportRetentionDays":{"type":"number","const":7}},"required":["jsonBytes","projectsPerAccount","experimentsPerAccount","telemetryPerAccountPerDay","tokensPerAccount","tokenLifetimeDays","deviceLifetimeSeconds","devicePollSeconds","pageSize","monthlyAudits","storageBytesPerAccount","telemetryRetentionDays","anonymousReportRetentionDays"],"additionalProperties":false}},"required":["id","label","scopes","tokenId","operator","plan","terms","limits"],"additionalProperties":false},"DeviceGrant":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"deviceCode":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Private polling credential. Do not show it to another person or log it."},"userCode":{"type":"string","pattern":"^[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{4}$"},"verificationUri":{"type":"string","format":"uri"},"expiresIn":{"type":"number","const":600},"interval":{"type":"number","const":5}},"required":["deviceCode","userCode","verificationUri","expiresIn","interval"],"additionalProperties":false},"DevicePending":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"status":{"type":"string","const":"pending"}},"required":["status"],"additionalProperties":false},"DeviceToken":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"token":{"type":"string","pattern":"^evx_[a-f0-9]{64}$","description":"Bearer secret returned once. Store privately; never include it in logs, prompts, or source control."},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"account":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"}},"required":["id","label"],"additionalProperties":false}},"required":["token","expiresAt","account"],"additionalProperties":false},"DeviceDecision":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"status":{"type":"string","enum":["approved","denied"]}},"required":["status"],"additionalProperties":false},"CreatedToken":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"token":{"type":"string","pattern":"^evx_[a-f0-9]{64}$","description":"Bearer secret returned once. Store privately; never include it in logs, prompts, or source control."},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"scopes":{"minItems":1,"maxItems":2,"type":"array","items":{"type":"string","enum":["read","write"]}}},"required":["id","token","expiresAt","scopes"],"additionalProperties":false},"TokenMetadata":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"scopes":{"minItems":1,"maxItems":2,"type":"array","items":{"type":"string","enum":["read","write"]}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"lastUsedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"revokedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]}},"required":["id","name","scopes","createdAt","expiresAt","lastUsedAt","revokedAt"],"additionalProperties":false},"TokenList":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"maxItems":100,"type":"array","items":{"$ref":"#/components/schemas/TokenMetadata"}},"nextCursor":{"type":"null"}},"required":["items","nextCursor"],"additionalProperties":false},"AuditSubmission":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"url":{"type":"string","pattern":"^\\/reports\\/[a-f0-9-]+$"},"visibility":{"type":"string","const":"public-link"},"savedToAccount":{"type":"boolean"}},"required":["id","url","visibility","savedToAccount"],"additionalProperties":false},"AuditRun":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"url":{"type":"string"},"status":{"type":"string","enum":["queued","running","completed","failed"]},"createdAt":{"type":"string"},"compareTo":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"error":{"anyOf":[{"type":"string"},{"type":"null"}]},"report":{"anyOf":[{"type":"object","properties":{"tool":{"type":"object","properties":{"name":{"type":"string","const":"vibecheck"},"version":{"type":"string","minLength":1}},"required":["name","version"],"additionalProperties":false},"generatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"url":{"type":"string","format":"uri"},"finalUrl":{"type":"string","format":"uri"},"methodology":{"type":"object","properties":{"version":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"mode":{"type":"string","const":"static-observations"},"agentOutcomes":{"type":"string","const":"not-measured"},"scoreCalibration":{"type":"string","const":"uncalibrated-legacy-checklist"},"scope":{"type":"string","minLength":1}},"required":["version","mode","agentOutcomes","scoreCalibration","scope"],"additionalProperties":false},"score":{"type":"integer","minimum":0,"maximum":100,"description":"Uncalibrated legacy checklist value, 0-100. Does not measure agent readiness, task success, or agent performance."},"grade":{"type":"string","enum":["A","B","C","D","F"],"description":"Uncalibrated legacy checklist band, not an agent-performance grade."},"categories":{"minItems":7,"maxItems":7,"type":"array","items":{"type":"object","properties":{"category":{"type":"string","enum":["structure","noise","structuredData","interactivity","discoverability","rendering","protocol"]},"label":{"type":"string","minLength":1},"score":{"type":"integer","minimum":0,"maximum":100,"description":"Uncalibrated legacy checklist value, 0-100. Does not measure agent readiness, task success, or agent performance."},"weight":{"type":"number","exclusiveMinimum":0},"checks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z-]+\\/[a-z0-9-]+$"},"category":{"type":"string","enum":["structure","noise","structuredData","interactivity","discoverability","rendering","protocol"]},"title":{"type":"string","minLength":1},"weight":{"type":"number","exclusiveMinimum":0},"docs":{"type":"array","items":{"type":"string","format":"uri"}},"status":{"type":"string","enum":["pass","warn","fail","skip"]},"score":{"type":"number","minimum":0,"maximum":1,"description":"Uncalibrated checklist outcome, ignored when skipped; not a success probability."},"message":{"type":"string","minLength":1},"findings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string","minLength":1},"selector":{"type":"string","minLength":1},"snippet":{"type":"string","minLength":1}},"required":["message"],"additionalProperties":false}},"remediation":{"type":"object","properties":{"summary":{"type":"string","minLength":1},"targetSelector":{"type":"string","minLength":1},"beforeHtml":{"type":"string","minLength":1},"afterHtml":{"type":"string","minLength":1}},"required":["summary"],"additionalProperties":false},"assessment":{"type":"object","properties":{"basis":{"type":"string","enum":["transport-observation","standards-related","hypothesis","optional-convention"]},"agentOutcomes":{"type":"string","const":"not-measured"},"interpretation":{"type":"string","minLength":1},"limitation":{"type":"string","minLength":1},"experiment":{"type":"string","minLength":1},"references":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"relation":{"type":"string","enum":["standard","research-context","convention","provider-guidance"]},"note":{"type":"string","minLength":1}},"required":["url","relation","note"],"additionalProperties":false}}},"required":["basis","agentOutcomes","interpretation","limitation","experiment","references"],"additionalProperties":false}},"required":["id","category","title","weight","docs","status","score","message"],"additionalProperties":false}}},"required":["category","label","score","weight","checks"],"additionalProperties":false}},"checks":{"minItems":1,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z-]+\\/[a-z0-9-]+$"},"category":{"type":"string","enum":["structure","noise","structuredData","interactivity","discoverability","rendering","protocol"]},"title":{"type":"string","minLength":1},"weight":{"type":"number","exclusiveMinimum":0},"docs":{"type":"array","items":{"type":"string","format":"uri"}},"status":{"type":"string","enum":["pass","warn","fail","skip"]},"score":{"type":"number","minimum":0,"maximum":1,"description":"Uncalibrated checklist outcome, ignored when skipped; not a success probability."},"message":{"type":"string","minLength":1},"findings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string","minLength":1},"selector":{"type":"string","minLength":1},"snippet":{"type":"string","minLength":1}},"required":["message"],"additionalProperties":false}},"remediation":{"type":"object","properties":{"summary":{"type":"string","minLength":1},"targetSelector":{"type":"string","minLength":1},"beforeHtml":{"type":"string","minLength":1},"afterHtml":{"type":"string","minLength":1}},"required":["summary"],"additionalProperties":false},"assessment":{"type":"object","properties":{"basis":{"type":"string","enum":["transport-observation","standards-related","hypothesis","optional-convention"]},"agentOutcomes":{"type":"string","const":"not-measured"},"interpretation":{"type":"string","minLength":1},"limitation":{"type":"string","minLength":1},"experiment":{"type":"string","minLength":1},"references":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"relation":{"type":"string","enum":["standard","research-context","convention","provider-guidance"]},"note":{"type":"string","minLength":1}},"required":["url","relation","note"],"additionalProperties":false}}},"required":["basis","agentOutcomes","interpretation","limitation","experiment","references"],"additionalProperties":false}},"required":["id","category","title","weight","docs","status","score","message"],"additionalProperties":false}},"page":{"type":"object","properties":{"status":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fetchMs":{"type":"number","minimum":0},"bodyBytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"redirects":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"status":{"type":"integer","minimum":300,"maximum":399}},"required":["url","status"],"additionalProperties":false}},"htmlTokens":{"type":"integer","minimum":0,"maximum":9007199254740991},"visibleTokens":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","fetchMs","bodyBytes","redirects","htmlTokens","visibleTokens"],"additionalProperties":false},"counts":{"type":"object","properties":{"pass":{"type":"integer","minimum":0,"maximum":9007199254740991},"warn":{"type":"integer","minimum":0,"maximum":9007199254740991},"fail":{"type":"integer","minimum":0,"maximum":9007199254740991},"skip":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["pass","warn","fail","skip"],"additionalProperties":false}},"required":["tool","generatedAt","url","finalUrl","score","grade","categories","checks","page","counts"],"additionalProperties":false},{"type":"null"}]}},"required":["id","url","status","createdAt","compareTo","error","report"],"additionalProperties":false},"AuditList":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"url":{"type":"string"},"status":{"type":"string","enum":["queued","running","completed","failed"]},"grade":{"anyOf":[{"type":"string"},{"type":"null"}]},"score":{"anyOf":[{"type":"number"},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"compareTo":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]}},"required":["id","url","status","grade","score","createdAt","compareTo"],"additionalProperties":false}},"nextCursor":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]}},"required":["items","nextCursor"],"additionalProperties":false},"Project":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"description":{"default":"","type":"string","maxLength":2000},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["name","description","id","createdAt"],"additionalProperties":false},"ProjectList":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"maxItems":50,"type":"array","items":{"$ref":"#/components/schemas/Project"}},"nextCursor":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]}},"required":["items","nextCursor"],"additionalProperties":false},"ExperimentManifest":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"schemaVersion":{"type":"string","const":"0.1"},"id":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9._-]{0,99}$"},"name":{"type":"string","minLength":1,"maxLength":200},"hypothesis":{"type":"string","minLength":1,"maxLength":20000},"task":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9._-]{0,99}$"},"version":{"type":"string","minLength":1,"maxLength":20000},"prompt":{"type":"string","minLength":1,"maxLength":20000}},"required":["id","version","prompt"],"additionalProperties":false},"surfaces":{"type":"object","properties":{"baseline":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":20000},"revision":{"type":"string","minLength":1,"maxLength":20000}},"required":["path","revision"],"additionalProperties":false},"candidate":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":20000},"revision":{"type":"string","minLength":1,"maxLength":20000}},"required":["path","revision"],"additionalProperties":false}},"required":["baseline","candidate"],"additionalProperties":false},"agent":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"codex"},"model":{"type":"string","minLength":1,"maxLength":20000},"reasoning":{"type":"string","enum":["low","medium","high","xhigh","max","ultra"]},"executable":{"type":"string","minLength":1,"maxLength":20000},"configuration":{"default":"host","type":"string","enum":["host","isolated"]}},"required":["kind","model","reasoning","configuration"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"claude"},"model":{"type":"string","minLength":1,"maxLength":20000},"reasoning":{"type":"string","enum":["low","medium","high","xhigh","max"]},"maxBudgetUsd":{"type":"number","exclusiveMinimum":0,"maximum":100},"executable":{"type":"string","minLength":1,"maxLength":20000}},"required":["kind","model","reasoning","maxBudgetUsd"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"command"},"command":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","maxLength":4000}},"version":{"type":"string","minLength":1,"maxLength":20000}},"required":["kind","command","version"],"additionalProperties":false}]},"execution":{"type":"object","properties":{"kind":{"type":"string","const":"linux-observed"},"modelGateway":{"type":"string","enum":["none","openai-responses"]},"runtimePath":{"type":"string","minLength":1,"maxLength":20000},"runtimeSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"maxEvidenceBytes":{"type":"integer","minimum":1048576,"maximum":268435456},"maxResponseBytes":{"default":16777216,"type":"integer","minimum":1024,"maximum":67108864}},"required":["kind","modelGateway","maxEvidenceBytes","maxResponseBytes"],"additionalProperties":false},"verifier":{"type":"object","properties":{"command":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","maxLength":4000}},"version":{"type":"string","minLength":1,"maxLength":20000},"files":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":20000}},"controls":{"minItems":2,"maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9._-]{0,99}$"},"output":{"type":"string","maxLength":20000},"expectedPass":{"type":"boolean"}},"required":["id","output","expectedPass"],"additionalProperties":false}}},"required":["command","version","files"],"additionalProperties":false},"design":{"type":"object","properties":{"repetitions":{"type":"integer","minimum":2,"maximum":100},"seed":{"type":"integer","minimum":0,"maximum":4294967295},"minimumEffect":{"default":0,"type":"number","minimum":0,"maximum":1}},"required":["repetitions","seed","minimumEffect"],"additionalProperties":false},"limits":{"type":"object","properties":{"trialTimeoutMs":{"type":"integer","minimum":100,"maximum":3600000},"verifierTimeoutMs":{"type":"integer","minimum":100,"maximum":300000},"totalTimeoutMs":{"type":"integer","minimum":100,"maximum":86400000},"maxOutputBytes":{"type":"integer","minimum":1024,"maximum":10000000},"maxSurfaceBytes":{"default":50000000,"type":"integer","minimum":1024,"maximum":1000000000},"maxSurfaceFiles":{"default":10000,"type":"integer","minimum":1,"maximum":100000}},"required":["trialTimeoutMs","verifierTimeoutMs","totalTimeoutMs","maxOutputBytes","maxSurfaceBytes","maxSurfaceFiles"],"additionalProperties":false}},"required":["schemaVersion","id","name","hypothesis","task","surfaces","agent","verifier","design","limits"],"additionalProperties":false},"ExperimentResult":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"schemaVersion":{"type":"string","const":"0.1"},"frameworkVersion":{"anyOf":[{"type":"string","const":"0.1.0"},{"type":"string","const":"0.2.0"}]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"manifest":{"$ref":"#/components/schemas/ExperimentManifest"},"manifestHash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"startedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"finishedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"completion":{"type":"string","enum":["complete","interrupted"]},"provenance":{"type":"object","properties":{"runtime":{"type":"string","minLength":1,"maxLength":20000},"platform":{"type":"string","minLength":1,"maxLength":20000},"agentVersion":{"type":"string","minLength":1,"maxLength":20000},"surfaces":{"type":"object","properties":{"baseline":{"type":"string","pattern":"^[a-f0-9]{64}$"},"candidate":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["baseline","candidate"],"additionalProperties":false},"verifier":{"minItems":1,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":20000},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","sha256"],"additionalProperties":false}},"verifierControls":{"default":[],"maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9._-]{0,99}$"},"expectedPass":{"type":"boolean"},"observedPass":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"outcome":{"type":"string","enum":["matched","mismatched","not-run"]},"reason":{"type":"string","maxLength":4000},"durationMs":{"type":"number","minimum":0},"trace":{"anyOf":[{"type":"object","properties":{"file":{"type":"string","minLength":1,"maxLength":20000},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["file","sha256","bytes"],"additionalProperties":false},{"type":"null"}]}},"required":["id","expectedPass","observedPass","outcome","reason","durationMs","trace"],"additionalProperties":false}},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","maxLength":2000}}},"required":["runtime","platform","agentVersion","surfaces","verifier","verifierControls","limitations"],"additionalProperties":false},"trials":{"minItems":4,"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120},"pair":{"type":"integer","minimum":0,"maximum":9007199254740991},"variant":{"type":"string","enum":["baseline","candidate"]},"order":{"type":"integer","minimum":0,"maximum":9007199254740991},"status":{"type":"string","enum":["passed","failed","agent-error","runner-error","verifier-error","timed-out","cancelled","not-run"]},"reason":{"type":"string","maxLength":4000},"startedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"durationMs":{"type":"number","minimum":0},"agentDurationMs":{"type":"number","minimum":0},"usage":{"type":"object","properties":{"inputTokens":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"cachedInputTokens":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"outputTokens":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"reasoningTokens":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"costUsd":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"source":{"type":"string","enum":["agent-reported","unknown"]}},"required":["inputTokens","cachedInputTokens","outputTokens","reasoningTokens","costUsd","source"],"additionalProperties":false},"diagnostics":{"default":{"commandCalls":null,"nonzeroCommandExits":null,"events":[]},"type":"object","properties":{"commandCalls":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"nonzeroCommandExits":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"events":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","const":"command-exit"},"line":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"exitCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["kind","line","exitCode"],"additionalProperties":false}}},"required":["commandCalls","nonzeroCommandExits","events"],"additionalProperties":false},"trace":{"anyOf":[{"type":"object","properties":{"file":{"type":"string","minLength":1,"maxLength":20000},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["file","sha256","bytes"],"additionalProperties":false},{"type":"null"}]},"observation":{"type":"object","properties":{"file":{"type":"string","minLength":1,"maxLength":20000},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["file","sha256","bytes"],"additionalProperties":false},"outputHash":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"verification":{"anyOf":[{"type":"object","properties":{"passed":{"type":"boolean"},"reason":{"type":"string","maxLength":4000},"metrics":{"type":"object","propertyNames":{"type":"string","maxLength":100},"additionalProperties":{"type":"number"}}},"required":["passed","reason"],"additionalProperties":false},{"type":"null"}]}},"required":["id","pair","variant","order","status","reason","startedAt","durationMs","agentDurationMs","usage","diagnostics","trace","outputHash","verification"],"additionalProperties":false}}},"required":["schemaVersion","frameworkVersion","id","manifest","manifestHash","startedAt","finishedAt","completion","provenance","trials"],"additionalProperties":false},"ExperimentSummary":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"evidenceOrigin":{"type":"string","const":"client-reported"},"primaryOutcome":{"type":"string","const":"independently-verified-task-success"},"baseline":{"$ref":"#/components/schemas/ExperimentVariantSummary"},"candidate":{"$ref":"#/components/schemas/ExperimentVariantSummary"},"effect":{"type":"object","properties":{"estimate":{"anyOf":[{"type":"number","minimum":-1,"maximum":1},{"type":"null"}]},"confidence":{"type":"number","const":0.95},"interval":{"anyOf":[{"type":"array","prefixItems":[{"type":"number","minimum":-1,"maximum":1},{"type":"number","minimum":-1,"maximum":1}]},{"type":"null"}],"description":"Null when the fixed plan is incomplete or the verifier failed. No inference is available in those cases."},"method":{"type":"string","const":"paired-hoeffding"},"units":{"type":"string","const":"success-rate-difference"}},"required":["estimate","confidence","interval","method","units"],"additionalProperties":false},"discordance":{"type":"object","properties":{"candidateWins":{"type":"integer","minimum":0,"maximum":9007199254740991},"baselineWins":{"type":"integer","minimum":0,"maximum":9007199254740991},"pValue":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"null"}]},"method":{"type":"string","const":"exact-two-sided-binomial"}},"required":["candidateWins","baselineWins","pValue","method"],"additionalProperties":false},"conclusion":{"type":"string","enum":["incomplete","inconclusive","candidate-supported","regression-supported"]},"verifierQualification":{"type":"string","enum":["controls-matched","controls-failed","not-declared"]},"scope":{"type":"string"},"cautions":{"type":"array","items":{"type":"string"}}},"required":["evidenceOrigin","primaryOutcome","baseline","candidate","effect","discordance","conclusion","verifierQualification","scope","cautions"],"additionalProperties":false},"ExperimentVariantSummary":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"planned":{"type":"integer","minimum":0,"maximum":9007199254740991},"attempted":{"type":"integer","minimum":0,"maximum":9007199254740991},"passed":{"type":"integer","minimum":0,"maximum":9007199254740991},"successRate":{"type":"number","minimum":0,"maximum":1},"failures":{"type":"integer","minimum":0,"maximum":9007199254740991},"errors":{"type":"integer","minimum":0,"maximum":9007199254740991},"notCompleted":{"type":"integer","minimum":0,"maximum":9007199254740991},"meanAgentDurationMs":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Null means unknown or no observations; it is not zero."},"inputTokens":{"$ref":"#/components/schemas/UsageCoverage"},"outputTokens":{"$ref":"#/components/schemas/UsageCoverage"},"costUsd":{"$ref":"#/components/schemas/UsageCoverage"}},"required":["planned","attempted","passed","successRate","failures","errors","notCompleted","meanAgentDurationMs","inputTokens","outputTokens","costUsd"],"additionalProperties":false},"UsageCoverage":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"knownTotal":{"type":"number","minimum":0,"description":"Sum of reported values only. Read reportedTrials and complete before interpreting a zero."},"reportedTrials":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalTrials":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["knownTotal","reportedTrials","totalTrials","complete"],"additionalProperties":false},"ExperimentMetadata":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"uploadedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]}},"required":["id","projectId","title","createdAt","uploadedAt"],"additionalProperties":false},"Experiment":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"manifest":{"$ref":"#/components/schemas/ExperimentManifest"},"report":{"anyOf":[{"$ref":"#/components/schemas/ExperimentResult"},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"uploadedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"summary":{"anyOf":[{"$ref":"#/components/schemas/ExperimentSummary"},{"type":"null"}]},"evidenceOrigin":{"type":"string","const":"client-reported"}},"required":["id","projectId","title","manifest","report","createdAt","uploadedAt","summary","evidenceOrigin"],"additionalProperties":false},"ExperimentList":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"maxItems":50,"type":"array","items":{"$ref":"#/components/schemas/ExperimentMetadata"}},"nextCursor":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]}},"required":["items","nextCursor"],"additionalProperties":false},"UsageEvent":{"$schema":"https://json-schema.org/draft/2020-12/schema","oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"kind":{"type":"string","const":"agent"},"event":{"type":"object","properties":{"eventId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"source":{"type":"string","minLength":1,"maxLength":80},"model":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"reasoningLevel":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}]},"inputTokens":{"anyOf":[{"type":"integer","minimum":0,"maximum":1000000000},{"type":"null"}]},"cachedInputTokens":{"anyOf":[{"type":"integer","minimum":0,"maximum":1000000000},{"type":"null"}]},"outputTokens":{"anyOf":[{"type":"integer","minimum":0,"maximum":1000000000},{"type":"null"}]},"durationMs":{"anyOf":[{"type":"number","minimum":0,"maximum":86400000},{"type":"null"}]},"costUsd":{"anyOf":[{"type":"number","minimum":0,"maximum":1000000},{"type":"null"}]},"outcome":{"type":"string","enum":["success","failure","unknown"]},"evidenceSource":{"type":"string","enum":["adapter","operator"]},"attributes":{"default":{},"type":"object","propertyNames":{"type":"string","maxLength":80},"additionalProperties":{"anyOf":[{"type":"string","maxLength":500},{"type":"number"},{"type":"boolean"},{"type":"null"}]}}},"required":["eventId","sessionId","source","model","reasoningLevel","inputTokens","cachedInputTokens","outputTokens","durationMs","costUsd","outcome","evidenceSource","attributes"],"additionalProperties":false},"recordedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["id","kind","event","recordedAt"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"kind":{"type":"string","const":"audit"},"event":{"type":"object","properties":{"reportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"durationMs":{"type":"number","minimum":0},"processCpuMs":{"type":"number","minimum":0},"outcome":{"type":"string","enum":["success","failure"]},"contentBytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"source":{"type":"string","const":"server"},"costUsd":{"type":"null"},"costBasis":{"type":"string","const":"unknown"},"cpuBasis":{"type":"string","const":"process-delta-shared"},"region":{"type":"string"}},"required":["reportId","durationMs","processCpuMs","outcome","contentBytes","source","costUsd","costBasis","cpuBasis","region"],"additionalProperties":false},"recordedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["id","kind","event","recordedAt"],"additionalProperties":false}]},"TelemetryList":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"maxItems":50,"type":"array","items":{"$ref":"#/components/schemas/UsageEvent"}},"nextCursor":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]}},"required":["items","nextCursor"],"additionalProperties":false},"TelemetryRecorded":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"duplicate":{"type":"boolean"}},"required":["id","duplicate"],"additionalProperties":false},"AccountUsage":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"projectCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"experimentCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"storageBytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"auditMeasurementsWithoutEvent":{"type":"integer","minimum":0,"maximum":9007199254740991},"agentEvents":{"type":"integer","minimum":0,"maximum":9007199254740991},"audits":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknownCostEvents":{"type":"integer","minimum":0,"maximum":9007199254740991},"reportedAgentCostUsd":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Null means unknown or no observations; it is not zero."},"reportedInputTokens":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Null means unknown or no observations; it is not zero."},"reportedOutputTokens":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Null means unknown or no observations; it is not zero."},"reportedFailures":{"type":"integer","minimum":0,"maximum":9007199254740991},"windowDays":{"type":"number","const":30},"costBasis":{"type":"string"}},"required":["projectCount","experimentCount","storageBytes","auditMeasurementsWithoutEvent","agentEvents","audits","unknownCostEvents","reportedAgentCostUsd","reportedInputTokens","reportedOutputTokens","reportedFailures","windowDays","costBasis"],"additionalProperties":false},"Controls":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"auditsEnabled":{"type":"boolean"},"uploadsEnabled":{"type":"boolean"},"monthlyAuditLimit":{"type":"integer","minimum":0,"maximum":100000}},"required":["auditsEnabled","uploadsEnabled","monthlyAuditLimit"],"additionalProperties":false},"Operations":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"controls":{"$ref":"#/components/schemas/Controls"},"usage":{"type":"object","properties":{"auditsThisMonth":{"type":"integer","minimum":0,"maximum":9007199254740991},"auditsLastHour":{"type":"integer","minimum":0,"maximum":9007199254740991},"activeAudits":{"type":"integer","minimum":0,"maximum":9007199254740991},"failuresLastDay":{"type":"integer","minimum":0,"maximum":9007199254740991},"slowestAuditMs":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Null means unknown or no observations; it is not zero."}},"required":["auditsThisMonth","auditsLastHour","activeAudits","failuresLastDay","slowestAuditMs"],"additionalProperties":false},"environmentPauses":{"type":"object","properties":{"audits":{"type":"boolean"},"uploads":{"type":"boolean"}},"required":["audits","uploads"],"additionalProperties":false},"billingCoverage":{"type":"string"},"product":{"$ref":"#/components/schemas/ProductTelemetry"}},"required":["controls","usage","environmentPauses","billingCoverage","product"],"additionalProperties":false},"ApiError":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"terms":{"type":"object","properties":{"currentVersion":{"type":"string"},"termsUrl":{"type":"string"},"reviewUrl":{"type":"string"}},"required":["currentVersion","termsUrl","reviewUrl"],"additionalProperties":false}},"required":["code","message"],"additionalProperties":false},"requestId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["error","requestId"],"additionalProperties":false},"TermsAcceptanceInput":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"version":{"type":"string","minLength":1,"maxLength":40},"accepted":{"type":"boolean","const":true}},"required":["version","accepted"],"additionalProperties":false},"ProjectInput":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"description":{"default":"","type":"string","maxLength":2000}},"required":["name"],"additionalProperties":false},"TelemetryInput":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"eventId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"source":{"type":"string","minLength":1,"maxLength":80},"model":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"reasoningLevel":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}]},"inputTokens":{"anyOf":[{"type":"integer","minimum":0,"maximum":1000000000},{"type":"null"}]},"cachedInputTokens":{"anyOf":[{"type":"integer","minimum":0,"maximum":1000000000},{"type":"null"}]},"outputTokens":{"anyOf":[{"type":"integer","minimum":0,"maximum":1000000000},{"type":"null"}]},"durationMs":{"anyOf":[{"type":"number","minimum":0,"maximum":86400000},{"type":"null"}]},"costUsd":{"anyOf":[{"type":"number","minimum":0,"maximum":1000000},{"type":"null"}]},"outcome":{"type":"string","enum":["success","failure","unknown"]},"evidenceSource":{"type":"string","enum":["adapter","operator"]},"attributes":{"default":{},"type":"object","propertyNames":{"type":"string","maxLength":80},"additionalProperties":{"anyOf":[{"type":"string","maxLength":500},{"type":"number"},{"type":"boolean"},{"type":"null"}]}}},"required":["eventId","sessionId","source","model","reasoningLevel","inputTokens","cachedInputTokens","outputTokens","durationMs","costUsd","outcome","evidenceSource"],"additionalProperties":false},"TokenInput":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80},"scopes":{"minItems":1,"maxItems":2,"type":"array","items":{"type":"string","enum":["read","write"]}}},"required":["name","scopes"],"additionalProperties":false},"AuditInput":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"url":{"type":"string","minLength":1,"maxLength":2048},"compareTo":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["url"],"additionalProperties":false},"ExperimentManifestInput":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"schemaVersion":{"type":"string","const":"0.1"},"id":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9._-]{0,99}$"},"name":{"type":"string","minLength":1,"maxLength":200},"hypothesis":{"type":"string","minLength":1,"maxLength":20000},"task":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9._-]{0,99}$"},"version":{"type":"string","minLength":1,"maxLength":20000},"prompt":{"type":"string","minLength":1,"maxLength":20000}},"required":["id","version","prompt"],"additionalProperties":false},"surfaces":{"type":"object","properties":{"baseline":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":20000},"revision":{"type":"string","minLength":1,"maxLength":20000}},"required":["path","revision"],"additionalProperties":false},"candidate":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":20000},"revision":{"type":"string","minLength":1,"maxLength":20000}},"required":["path","revision"],"additionalProperties":false}},"required":["baseline","candidate"],"additionalProperties":false},"agent":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"codex"},"model":{"type":"string","minLength":1,"maxLength":20000},"reasoning":{"type":"string","enum":["low","medium","high","xhigh","max","ultra"]},"executable":{"type":"string","minLength":1,"maxLength":20000},"configuration":{"default":"host","type":"string","enum":["host","isolated"]}},"required":["kind","model","reasoning"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"claude"},"model":{"type":"string","minLength":1,"maxLength":20000},"reasoning":{"type":"string","enum":["low","medium","high","xhigh","max"]},"maxBudgetUsd":{"type":"number","exclusiveMinimum":0,"maximum":100},"executable":{"type":"string","minLength":1,"maxLength":20000}},"required":["kind","model","reasoning","maxBudgetUsd"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"command"},"command":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","maxLength":4000}},"version":{"type":"string","minLength":1,"maxLength":20000}},"required":["kind","command","version"],"additionalProperties":false}]},"execution":{"type":"object","properties":{"kind":{"type":"string","const":"linux-observed"},"modelGateway":{"type":"string","enum":["none","openai-responses"]},"runtimePath":{"type":"string","minLength":1,"maxLength":20000},"runtimeSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"maxEvidenceBytes":{"type":"integer","minimum":1048576,"maximum":268435456},"maxResponseBytes":{"default":16777216,"type":"integer","minimum":1024,"maximum":67108864}},"required":["kind","modelGateway","maxEvidenceBytes"],"additionalProperties":false},"verifier":{"type":"object","properties":{"command":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","maxLength":4000}},"version":{"type":"string","minLength":1,"maxLength":20000},"files":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":20000}},"controls":{"minItems":2,"maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9._-]{0,99}$"},"output":{"type":"string","maxLength":20000},"expectedPass":{"type":"boolean"}},"required":["id","output","expectedPass"],"additionalProperties":false}}},"required":["command","version","files"],"additionalProperties":false},"design":{"type":"object","properties":{"repetitions":{"type":"integer","minimum":2,"maximum":100},"seed":{"type":"integer","minimum":0,"maximum":4294967295},"minimumEffect":{"default":0,"type":"number","minimum":0,"maximum":1}},"required":["repetitions","seed"],"additionalProperties":false},"limits":{"type":"object","properties":{"trialTimeoutMs":{"type":"integer","minimum":100,"maximum":3600000},"verifierTimeoutMs":{"type":"integer","minimum":100,"maximum":300000},"totalTimeoutMs":{"type":"integer","minimum":100,"maximum":86400000},"maxOutputBytes":{"type":"integer","minimum":1024,"maximum":10000000},"maxSurfaceBytes":{"default":50000000,"type":"integer","minimum":1024,"maximum":1000000000},"maxSurfaceFiles":{"default":10000,"type":"integer","minimum":1,"maximum":100000}},"required":["trialTimeoutMs","verifierTimeoutMs","totalTimeoutMs","maxOutputBytes"],"additionalProperties":false}},"required":["schemaVersion","id","name","hypothesis","task","surfaces","agent","verifier","design","limits"],"additionalProperties":false},"ExperimentResultInput":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"schemaVersion":{"type":"string","const":"0.1"},"frameworkVersion":{"anyOf":[{"type":"string","const":"0.1.0"},{"type":"string","const":"0.2.0"}]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"manifest":{"$ref":"#/components/schemas/ExperimentManifestInput"},"manifestHash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"startedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"finishedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"completion":{"type":"string","enum":["complete","interrupted"]},"provenance":{"type":"object","properties":{"runtime":{"type":"string","minLength":1,"maxLength":20000},"platform":{"type":"string","minLength":1,"maxLength":20000},"agentVersion":{"type":"string","minLength":1,"maxLength":20000},"surfaces":{"type":"object","properties":{"baseline":{"type":"string","pattern":"^[a-f0-9]{64}$"},"candidate":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["baseline","candidate"],"additionalProperties":false},"verifier":{"minItems":1,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":20000},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","sha256"],"additionalProperties":false}},"verifierControls":{"default":[],"maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9._-]{0,99}$"},"expectedPass":{"type":"boolean"},"observedPass":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"outcome":{"type":"string","enum":["matched","mismatched","not-run"]},"reason":{"type":"string","maxLength":4000},"durationMs":{"type":"number","minimum":0},"trace":{"anyOf":[{"type":"object","properties":{"file":{"type":"string","minLength":1,"maxLength":20000},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["file","sha256","bytes"],"additionalProperties":false},{"type":"null"}]}},"required":["id","expectedPass","observedPass","outcome","reason","durationMs","trace"],"additionalProperties":false}},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","maxLength":2000}}},"required":["runtime","platform","agentVersion","surfaces","verifier","limitations"],"additionalProperties":false},"trials":{"minItems":4,"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120},"pair":{"type":"integer","minimum":0,"maximum":9007199254740991},"variant":{"type":"string","enum":["baseline","candidate"]},"order":{"type":"integer","minimum":0,"maximum":9007199254740991},"status":{"type":"string","enum":["passed","failed","agent-error","runner-error","verifier-error","timed-out","cancelled","not-run"]},"reason":{"type":"string","maxLength":4000},"startedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"durationMs":{"type":"number","minimum":0},"agentDurationMs":{"type":"number","minimum":0},"usage":{"type":"object","properties":{"inputTokens":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"cachedInputTokens":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"outputTokens":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"reasoningTokens":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"costUsd":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"source":{"type":"string","enum":["agent-reported","unknown"]}},"required":["inputTokens","cachedInputTokens","outputTokens","reasoningTokens","costUsd","source"],"additionalProperties":false},"diagnostics":{"default":{"commandCalls":null,"nonzeroCommandExits":null,"events":[]},"type":"object","properties":{"commandCalls":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"nonzeroCommandExits":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"events":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","const":"command-exit"},"line":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"exitCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["kind","line","exitCode"],"additionalProperties":false}}},"required":["commandCalls","nonzeroCommandExits","events"],"additionalProperties":false},"trace":{"anyOf":[{"type":"object","properties":{"file":{"type":"string","minLength":1,"maxLength":20000},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["file","sha256","bytes"],"additionalProperties":false},{"type":"null"}]},"observation":{"type":"object","properties":{"file":{"type":"string","minLength":1,"maxLength":20000},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["file","sha256","bytes"],"additionalProperties":false},"outputHash":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"verification":{"anyOf":[{"type":"object","properties":{"passed":{"type":"boolean"},"reason":{"type":"string","maxLength":4000},"metrics":{"type":"object","propertyNames":{"type":"string","maxLength":100},"additionalProperties":{"type":"number"}}},"required":["passed","reason"],"additionalProperties":false},{"type":"null"}]}},"required":["id","pair","variant","order","status","reason","startedAt","durationMs","agentDurationMs","usage","trace","outputHash","verification"],"additionalProperties":false}}},"required":["schemaVersion","frameworkVersion","id","manifest","manifestHash","startedAt","finishedAt","completion","provenance","trials"],"additionalProperties":false},"OpenApiDocument":{"type":"object","required":["openapi","info","servers","components","paths"],"properties":{"openapi":{"const":"3.1.0"},"info":{"type":"object","required":["title","version","description"],"properties":{"title":{"type":"string"},"version":{"type":"string"},"description":{"type":"string"}}},"servers":{"type":"array","items":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}},"components":{"type":"object","required":["schemas","securitySchemes"],"properties":{"schemas":{"type":"object","additionalProperties":true},"securitySchemes":{"type":"object","additionalProperties":true}}},"paths":{"type":"object","additionalProperties":true}}}}},"paths":{"/openapi.json":{"get":{"summary":"Read the versioned API contract","security":[],"parameters":[],"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenApiDocument"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/account":{"get":{"summary":"Account identity, scopes and early-access limits","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[],"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/account/terms":{"get":{"summary":"Read current terms and this account's acceptance status","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[],"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TermsStatus"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"put":{"summary":"Explicitly accept the reviewed current version; owner and first timestamp are server assigned","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[{"name":"If-Match","in":"header","required":false,"schema":{"type":"string"},"description":"Required with browser session authentication: use accountTag returned by GET /account/terms. Detects an account change before recording acceptance. Bearer credentials already bind their account."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TermsAcceptanceInput"}}}},"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TermsStatus"}}}},"409":{"description":"terms_version_changed: review the new version before accepting","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/account/product-telemetry":{"delete":{"summary":"Erase this account's retained product observations; later service use may create new observations","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[],"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductTelemetryErasure"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/operations/product-telemetry":{"get":{"summary":"Operator-only aggregate product observations; incomplete signup population, no account identifiers","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[],"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductTelemetry"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/auth/device":{"post":{"summary":"Request a device grant; 10 requests/hour/client","security":[],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false}}}},"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceGrant"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/auth/device/token":{"post":{"summary":"Poll at the returned interval; 202 pending, 200 token, 429 slow_down","security":[],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["deviceCode"],"properties":{"deviceCode":{"type":"string","maxLength":128}},"additionalProperties":false}}}},"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceToken"}}}},"202":{"description":"Approval is pending; wait the grant interval before polling again","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DevicePending"}}}},"429":{"description":"Polling too quickly; error.code is slow_down","headers":{"Retry-After":{"schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/auth/device/decision":{"post":{"summary":"Approve or decline from a signed-in browser; display matching code and account","security":[{"browserSession":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["userCode","approve","owner"],"additionalProperties":false,"properties":{"userCode":{"type":"string","description":"Displayed user code; case-insensitive after trimming whitespace"},"approve":{"type":"boolean"},"owner":{"type":"string","description":"The user: prefixed owner displayed by the browser; must match its current signed-in identity"}}}}}},"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceDecision"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/auth/tokens":{"get":{"summary":"List up to 100 recent account token metadata records; secrets are omitted","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[],"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenList"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"post":{"summary":"Create a token; secret returned once","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenInput"}}}},"responses":{"201":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedToken"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/auth/tokens/{id}":{"delete":{"summary":"Revoke an account token","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Completed; no response body"},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/auth/token":{"delete":{"summary":"Revoke the authenticating token, including a read-only token","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"204":{"description":"Completed; no response body"},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/reports":{"get":{"summary":"List account report summaries","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[{"name":"cursor","in":"query","schema":{"type":"string","format":"uuid"},"description":"Pass nextCursor from a collection response. Null means no next page. Pages contain at most 50 items."}],"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditList"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"post":{"summary":"Submit a public website audit; authentication optionally saves to account","security":[{},{"bearerAuth":[]},{"browserSession":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditInput"}}}},"responses":{"202":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditSubmission"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/reports/{id}":{"get":{"summary":"Read a public-link report","security":[],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditRun"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"delete":{"summary":"Erase an owned report","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Completed; no response body"},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/projects":{"get":{"summary":"List private projects","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[{"name":"cursor","in":"query","schema":{"type":"string","format":"uuid"},"description":"Pass nextCursor from a collection response. Null means no next page. Pages contain at most 50 items."}],"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectList"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"post":{"summary":"Create a project","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInput"}}}},"responses":{"201":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/projects/{id}":{"get":{"summary":"Read a project","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"put":{"summary":"Rename or describe a project","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInput"}}}},"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"delete":{"summary":"Delete a project and its experiments","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Completed; no response body"},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/experiments":{"get":{"summary":"List experiment metadata","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[{"name":"cursor","in":"query","schema":{"type":"string","format":"uuid"},"description":"Pass nextCursor from a collection response. Null means no next page. Pages contain at most 50 items."},{"name":"projectId","in":"query","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExperimentList"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"post":{"summary":"Save a declared experiment and optional completed evidence","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["projectId","title","manifest"],"additionalProperties":false,"properties":{"projectId":{"type":"string","format":"uuid"},"title":{"type":"string","minLength":1,"maxLength":200},"manifest":{"$ref":"#/components/schemas/ExperimentManifestInput"},"report":{"$ref":"#/components/schemas/ExperimentResultInput"}}}}}},"responses":{"201":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Experiment"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/experiments/{id}":{"get":{"summary":"Read manifest, result and server-computed summary","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Experiment"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"put":{"summary":"Attach a report once; identical retries succeed","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["report"],"additionalProperties":false,"properties":{"report":{"$ref":"#/components/schemas/ExperimentResultInput"}}}}}},"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Experiment"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"delete":{"summary":"Erase an experiment","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Completed; no response body"},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/experiments/{id}/manifest":{"get":{"summary":"Download the private manifest as experiment.json","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExperimentManifest"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/experiments/{id}/result":{"get":{"summary":"Download private evidence as result.json; 404 until uploaded","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExperimentResult"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/telemetry":{"get":{"summary":"List the last 30 days of usage events","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[{"name":"cursor","in":"query","schema":{"type":"string","format":"uuid"},"description":"Pass nextCursor from a collection response. Null means no next page. Pages contain at most 50 items."}],"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelemetryList"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"post":{"summary":"Record an event; idempotent for the same ID and content","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelemetryInput"}}}},"responses":{"201":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelemetryRecorded"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/telemetry/{id}":{"get":{"summary":"Read an owned event","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageEvent"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"delete":{"summary":"Erase an event; does not replenish admission quotas","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Completed; no response body"},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/usage":{"get":{"summary":"Aggregate 30-day account usage, with unknown-cost coverage","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[],"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountUsage"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/operations":{"get":{"summary":"Service controls and bounded usage; configured operators only","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[],"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operations"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"put":{"summary":"Pause audits/uploads or change monthly audit cap; configured operators only","security":[{"bearerAuth":[]},{"browserSession":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Controls"}}}},"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"description":"Request identifier for diagnostics","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Controls"}}}},"default":{"description":"Structured error. Inspect error.code; retry-after may be supplied for limits or temporary failures.","headers":{"Retry-After":{"description":"Optional delay in seconds before retrying","schema":{"type":"integer","minimum":0}},"X-Request-Id":{"schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}}}}