Judges one version’s labeled results under the decision’s objective and, with a base, compares the two on the same items: the loss report a preview returns. Each mistake’s loss is its severity under the objective (every mistake normal when none is set), weighted so each expected outcome counts equally however many items it has; loss_per_case is their mean. accepted (lower loss per case, no new severe mistake on a human-labeled case) and reasons say whether the candidate is better. Each side is runs by run_ids (from evaluate with items, one structure per side) or results passed inline with their structure or structure_hash. Items match by item_id; the candidate’s labels are used; unlabeled items, outcomes neither version can produce, items the base lacks and retryable failures on either side are left out and counted in excluded; a permanent failure counts as a mistake. List a resend’s run beside the original: an item’s result that didn’t fail replaces its failed one. The report lists the worst mistakes, with example ids on every roll-up row. Send cases to page through each item’s loss: filter.kind is all, wrong (default), right, failed, severe, changed, cell, question, near_cut or missing_criterion. Runs no engine and spends nothing; the word is loss, not money. An unknown or expired run is 404 RUN_UNKNOWN. A version whose result is a value, not outcomes, is 400 OUTCOMES_INVALID.
An API key, sent as Authorization: Bearer <key>. Each operation lists the scope its key needs: decisions:evaluate (evaluate and read evaluations), decisions:feedback (your app's feedback) or decisions:develop (everything else, including owner feedback and the review queue). An operation listing no scope takes any scoped key. A key with no scope, or without the operation's, gets 403 INSUFFICIENT_SCOPE.
The environment of the key that made the call: production or test. Evaluations, feedback, reviews and suggestions are separate per environment; registered structures are shared.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Moonbounce Decisions API","colors":{"primary":"#1D5AB5","light":"#74A8F0","dark":"#478EF0"},"logo":{"light":"https://mintcdn.com/moonbounce/mWuXGW-nUJSEdABp/logo/lockup-light.svg?fit=max\u0026auto=format\u0026n=mWuXGW-nUJSEdABp\u0026q=85\u0026s=367a5dedb5799a16c5737d136af68dc5","dark":"https://mintcdn.com/moonbounce/mWuXGW-nUJSEdABp/logo/lockup-dark.svg?fit=max\u0026auto=format\u0026n=mWuXGW-nUJSEdABp\u0026q=85\u0026s=3b3e891bc9f1e5b26bee272f878ecd4f","href":"https://moonbounce.ai"},"favicon":{"light":"https://mintcdn.com/moonbounce/mWuXGW-nUJSEdABp/logo/symbol-light.svg?fit=max\u0026auto=format\u0026n=mWuXGW-nUJSEdABp\u0026q=85\u0026s=78644bdbff4fda3f026238ea5135e647","dark":"https://mintcdn.com/moonbounce/mWuXGW-nUJSEdABp/logo/symbol-dark.svg?fit=max\u0026auto=format\u0026n=mWuXGW-nUJSEdABp\u0026q=85\u0026s=946e0ccec72a87a3d707728e895639e1"},"background":{"color":{"light":"#FFFEEE","dark":"#000000"}},"navbar":{"primary":{"type":"button","label":"Request access","href":"https://app.moonbounce.ai"}},"banner":{"content":"Looking for the Clavata policy and labeling API? Those docs are at [docs.clavata.ai](https://docs.clavata.ai). You are on the docs for the Moonbounce decisions platform.","dismissible":true,"type":"info","color":{"light":"#1D5AB5","dark":"#1D5AB5"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"moonbounce","hasAudioNarration":false,"actualSubdomain":"moonbounce","customDomains":["docs.moonbounce.ai"],"gitSource":{"type":"github","owner":"clavataai","repo":"decisions-platform","deployBranch":"main","contentDirectory":"docs/site","isPrivate":true,"mountPath":"","label":"","_id":"6ae8f7a905e268646b31d443"},"chroma":{"latestBuiltDeploymentHistoryId":"6aeca9a037327199c83cec33","collectionId":"e9c425b7-eb17-41bc-adf6-390226fcaa59","liveDeploymentHistoryId":"6aeca9a037327199c83cec33","schemaVersion":"v3"},"entitlements":{},"buildId":"6aed2b7f7f86d585254780fd","clientVersion":"0.0.4071","searchFilterCounts":[{"language":"default","tag":"API reference","count":39},{"language":"default","tag":"Endpoints","count":38},{"language":"default","tag":"Guides","count":14},{"language":"default","tag":"review","count":10},{"language":"default","tag":"suggestions","count":6},{"language":"default","tag":"feedback","count":5},{"language":"default","tag":"structures","count":5},{"language":"default","tag":"Get started","count":3},{"language":"default","tag":"Build a decision","count":3},{"language":"default","tag":"Improve a decision","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"brand.css","content":":root{--mb-font-sans: \"Helvetica Neue\", Helvetica, Arial, sans-serif;--mb-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;--mb-rule: rgb(225, 230, 240);--mb-rule-strong: rgb(134, 134, 134)}.dark{--mb-rule: rgb(68, 69, 74);--mb-rule-strong: rgb(134, 134, 134)}body{font-family:var(--mb-font-sans)}h1,h2,h3,h4,h5,h6{font-family:var(--mb-font-sans);font-weight:600;letter-spacing:-0.011em}#page-title{letter-spacing:-0.03em;line-height:1.05}code,pre,kbd,samp{font-family:var(--mb-font-mono)}#navbar a[target=\"_blank\"][href=\"https://app.moonbounce.ai\"]>span.absolute{background:rgb(0, 0, 0);border-radius:999px}#navbar a[target=\"_blank\"][href=\"https://app.moonbounce.ai\"] .text-white,#navbar a[target=\"_blank\"][href=\"https://app.moonbounce.ai\"] svg{color:rgb(255, 254, 238)}.dark #navbar a[target=\"_blank\"][href=\"https://app.moonbounce.ai\"]>span.absolute{background:rgb(255, 254, 238)}.dark #navbar a[target=\"_blank\"][href=\"https://app.moonbounce.ai\"] .text-white,.dark #navbar a[target=\"_blank\"][href=\"https://app.moonbounce.ai\"] svg{color:rgb(0, 0, 0)}.card,.callout,.code-block,.accordion,table{border-radius:0;box-shadow:none}.card{border:1px solid var(--mb-rule)}.card:hover{border-color:var(--mb-rule-strong)}"}],"page":{"pagePath":"api-reference/objective/judge-results-under-a-decisions-objective","slug":"/api-reference/objective/judge-results-under-a-decisions-objective","pageMetadata":{"title":"Judge results under a decision's objective","description":"Judges one version's labeled results under the decision's objective and, with a `base`, compares the two on the same items: the loss report a preview returns. Each mistake's loss is its severity under the objective (every mistake `normal` when none is set), weighted so each expected outcome counts equally however many items it has; `loss_per_case` is their mean. `accepted` (lower loss per case, no new severe mistake on a human-labeled case) and `reasons` say whether the candidate is better. Each side is runs by `run_ids` (from evaluate with `items`, one structure per side) or `results` passed inline with their `structure` or `structure_hash`. Items match by `item_id`; the candidate's labels are used; unlabeled items, outcomes neither version can produce, items the base lacks and retryable failures on either side are left out and counted in `excluded`; a permanent failure counts as a mistake. List a resend's run beside the original: an item's result that didn't fail replaces its failed one. The report lists the worst mistakes, with example ids on every roll-up row. Send `cases` to page through each item's loss: `filter.kind` is `all`, `wrong` (default), `right`, `failed`, `severe`, `changed`, `cell`, `question`, `near_cut` or `missing_criterion`. Runs no engine and spends nothing; the word is loss, not money. An unknown or expired run is 404 RUN_UNKNOWN. A version whose result is a value, not outcomes, is 400 OUTCOMES_INVALID.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/decisions/{decision_id}/loss-reports","href":"/api-reference/objective/judge-results-under-a-decisions-objective","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Judges one version’s labeled results under the decision’s objective and, with a \", _jsx(_components.code, {\n children: \"base\"\n }), \", compares the two on the same items: the loss report a preview returns. Each mistake’s loss is its severity under the objective (every mistake \", _jsx(_components.code, {\n children: \"normal\"\n }), \" when none is set), weighted so each expected outcome counts equally however many items it has; \", _jsx(_components.code, {\n children: \"loss_per_case\"\n }), \" is their mean. \", _jsx(_components.code, {\n children: \"accepted\"\n }), \" (lower loss per case, no new severe mistake on a human-labeled case) and \", _jsx(_components.code, {\n children: \"reasons\"\n }), \" say whether the candidate is better. Each side is runs by \", _jsx(_components.code, {\n children: \"run_ids\"\n }), \" (from evaluate with \", _jsx(_components.code, {\n children: \"items\"\n }), \", one structure per side) or \", _jsx(_components.code, {\n children: \"results\"\n }), \" passed inline with their \", _jsx(_components.code, {\n children: \"structure\"\n }), \" or \", _jsx(_components.code, {\n children: \"structure_hash\"\n }), \". Items match by \", _jsx(_components.code, {\n children: \"item_id\"\n }), \"; the candidate’s labels are used; unlabeled items, outcomes neither version can produce, items the base lacks and retryable failures on either side are left out and counted in \", _jsx(_components.code, {\n children: \"excluded\"\n }), \"; a permanent failure counts as a mistake. List a resend’s run beside the original: an item’s result that didn’t fail replaces its failed one. The report lists the worst mistakes, with example ids on every roll-up row. Send \", _jsx(_components.code, {\n children: \"cases\"\n }), \" to page through each item’s loss: \", _jsx(_components.code, {\n children: \"filter.kind\"\n }), \" is \", _jsx(_components.code, {\n children: \"all\"\n }), \", \", _jsx(_components.code, {\n children: \"wrong\"\n }), \" (default), \", _jsx(_components.code, {\n children: \"right\"\n }), \", \", _jsx(_components.code, {\n children: \"failed\"\n }), \", \", _jsx(_components.code, {\n children: \"severe\"\n }), \", \", _jsx(_components.code, {\n children: \"changed\"\n }), \", \", _jsx(_components.code, {\n children: \"cell\"\n }), \", \", _jsx(_components.code, {\n children: \"question\"\n }), \", \", _jsx(_components.code, {\n children: \"near_cut\"\n }), \" or \", _jsx(_components.code, {\n children: \"missing_criterion\"\n }), \". Runs no engine and spends nothing; the word is loss, not money. An unknown or expired run is 404 RUN_UNKNOWN. A version whose result is a value, not outcomes, is 400 OUTCOMES_INVALID.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Judge results under a decision's objective","description":"Judges one version's labeled results under the decision's objective and, with a `base`, compares the two on the same items: the loss report a preview returns. Each mistake's loss is its severity under the objective (every mistake `normal` when none is set), weighted so each expected outcome counts equally however many items it has; `loss_per_case` is their mean. `accepted` (lower loss per case, no new severe mistake on a human-labeled case) and `reasons` say whether the candidate is better. Each side is runs by `run_ids` (from evaluate with `items`, one structure per side) or `results` passed inline with their `structure` or `structure_hash`. Items match by `item_id`; the candidate's labels are used; unlabeled items, outcomes neither version can produce, items the base lacks and retryable failures on either side are left out and counted in `excluded`; a permanent failure counts as a mistake. List a resend's run beside the original: an item's result that didn't fail replaces its failed one. The report lists the worst mistakes, with example ids on every roll-up row. Send `cases` to page through each item's loss: `filter.kind` is `all`, `wrong` (default), `right`, `failed`, `severe`, `changed`, `cell`, `question`, `near_cut` or `missing_criterion`. Runs no engine and spends nothing; the word is loss, not money. An unknown or expired run is 404 RUN_UNKNOWN. A version whose result is a value, not outcomes, is 400 OUTCOMES_INVALID.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/decisions/{decision_id}/loss-reports","href":"/api-reference/objective/judge-results-under-a-decisions-objective","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"lossReport","x-mcp-annotations":{"readOnlyHint":true,"openWorldHint":false},"tags":["objective"],"security":["811a437b-4788-40f5-9dd9-38b8d09695de"],"summary":"Judge results under a decision's objective","description":"Judges one version's labeled results under the decision's objective and, with a `base`, compares the two on the same items: the loss report a preview returns. Each mistake's loss is its severity under the objective (every mistake `normal` when none is set), weighted so each expected outcome counts equally however many items it has; `loss_per_case` is their mean. `accepted` (lower loss per case, no new severe mistake on a human-labeled case) and `reasons` say whether the candidate is better. Each side is runs by `run_ids` (from evaluate with `items`, one structure per side) or `results` passed inline with their `structure` or `structure_hash`. Items match by `item_id`; the candidate's labels are used; unlabeled items, outcomes neither version can produce, items the base lacks and retryable failures on either side are left out and counted in `excluded`; a permanent failure counts as a mistake. List a resend's run beside the original: an item's result that didn't fail replaces its failed one. The report lists the worst mistakes, with example ids on every roll-up row. Send `cases` to page through each item's loss: `filter.kind` is `all`, `wrong` (default), `right`, `failed`, `severe`, `changed`, `cell`, `question`, `near_cut` or `missing_criterion`. Runs no engine and spends nothing; the word is loss, not money. An unknown or expired run is 404 RUN_UNKNOWN. A version whose result is a value, not outcomes, is 400 OUTCOMES_INVALID.","parameters":["2fe4c86d-8cb2-48c7-828c-aef1f784bd62"],"requestBody":"7bd08fc6-53ab-466b-8617-132c4fffbda6","responses":{"200":"09802efc-077b-4c1f-99cc-e5ad38bedfe5","400":"66081e2f-52c7-4327-a973-228655b2b912","401":"ba6cc172-ebf8-4606-a4bb-6d407c356f82","403":"88a7f798-a82e-421a-b790-2bd52f617a41","404":"b4f0144f-0891-4ead-8166-3bdfc455c2ff","429":"e548fedc-dd8c-4460-9fa2-fc07dbe3fb51","503":"01bc60df-1399-492c-91d7-41791d91f816"},"method":"post","type":"path","servers":["5199a294-99c0-440b-a171-e6a2ae5671e1"],"path":"/v1/decisions/{decision_id}/loss-reports","baseUrlOptions":["https://api.moonbounce.ai"],"title":"Judge results under a decision's objective","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"2fe4c86d-8cb2-48c7-828c-aef1f784bd62":{"schema":{"type":"string","pattern":"^[a-z][a-z0-9_.-]{0,127}$","isRequired":true,"uniqueKey":"","typeLabel":"string"},"required":true,"name":"decision_id","in":"path"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"candidate":{"oneOf":[{"type":"object","description":"One version's results: runs by id, or results inline with the structure they ran on.","required":["run_ids"],"properties":{"run_ids":{"type":"array","items":{"type":"string","pattern":"^evr_[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","uniqueKey":"candidate.oneOf.0.run_ids.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":50,"description":"Runs of one structure, from evaluate with `items`; their labeled items are judged.","isRequired":true,"uniqueKey":"candidate.oneOf.0.run_ids","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"candidate.oneOf.0","typeLabel":"object"},{"type":"object","description":"One version's results: runs by id, or results inline with the structure they ran on.","required":["structure","results"],"properties":{"structure":{"type":"object","properties":{"questions":{"type":"object","additionalProperties":{"type":"object","description":"P(true) for a statement about the state.","required":["type","instructions"],"properties":{"type":{"type":"string","enum":["noul"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.questions.additionalProperties.type","typeLabel":"enum\u003cstring>"},"instructions":{"oneOf":[{"type":"string","maxLength":4000,"minLength":1,"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.questions.additionalProperties.instructions.oneOf.0","typeLabel":"string"},{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"candidate.oneOf.1.structure.questions.additionalProperties.instructions.oneOf.1.additionalProperties","typeLabel":"any"},"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.questions.additionalProperties.instructions.oneOf.1","typeLabel":"object"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"candidate.oneOf.1.structure.questions.additionalProperties.instructions.oneOf.2.items.[INDEX]","typeLabel":"any"},"minItems":1,"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.questions.additionalProperties.instructions.oneOf.2","typeLabel":"any[]"}],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.questions.additionalProperties.instructions","typeLabel":"string | object | any[]"},"criteria":{"type":"object","properties":{"true":{"type":"string","minLength":1,"maxLength":4000,"uniqueKey":"candidate.oneOf.1.structure.questions.additionalProperties.criteria.true","typeLabel":"string"},"false":{"type":"string","minLength":1,"maxLength":4000,"uniqueKey":"candidate.oneOf.1.structure.questions.additionalProperties.criteria.false","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.questions.additionalProperties.criteria","typeLabel":"object"},"reads":{"type":"array","items":{"type":"string","minLength":1,"maxLength":256,"description":"`state.\u003ckey>` or a nested object path such as `state.order.customer.tier`: keys of an object `state`. A key has no `.`, `[` or `]`. Array indexes are not supported yet.","examples":["state.message","state.order.order_total_usd"],"uniqueKey":"candidate.oneOf.1.structure.questions.additionalProperties.reads.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":64,"description":"Paths into an object `state` this question reads, such as `state.message` or `state.order.customer.tier`. The question sees just those values, nested as in the state. Without it the question sees the whole state, as in System One. Every path must exist in the call's `state`; no entry may repeat or contain another.","uniqueKey":"candidate.oneOf.1.structure.questions.additionalProperties.reads","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.questions.additionalProperties","typeLabel":"object"},"description":"System One questions, keyed by name.","isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.questions","typeLabel":"object"},"result":{"type":"string","minLength":1,"maxLength":80,"description":"The final feature's path, such as `aggregations.band`.","examples":["questions.asks_for_refund","aggregations.band"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.result","typeLabel":"string"},"attributes":{"type":"object","additionalProperties":{"oneOf":[{"type":"object","required":["type","enum"],"properties":{"type":{"type":"string","enum":["string"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.attributes.additionalProperties.oneOf.0.type","typeLabel":"enum\u003cstring>"},"enum":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200,"uniqueKey":"candidate.oneOf.1.structure.attributes.additionalProperties.oneOf.0.enum.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":255,"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.attributes.additionalProperties.oneOf.0.enum","typeLabel":"string[]"},"default":{"type":"string","uniqueKey":"candidate.oneOf.1.structure.attributes.additionalProperties.oneOf.0.default","typeLabel":"string"},"source":{"type":"string","minLength":1,"maxLength":200,"description":"The model and version behind this attribute, such as `toxicity-classifier-v3`. Hashed.","uniqueKey":"candidate.oneOf.1.structure.attributes.additionalProperties.oneOf.0.source","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.attributes.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["number"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.attributes.additionalProperties.oneOf.1.type","typeLabel":"enum\u003cstring>"},"minimum":{"type":"number","uniqueKey":"candidate.oneOf.1.structure.attributes.additionalProperties.oneOf.1.minimum","typeLabel":"number"},"maximum":{"type":"number","uniqueKey":"candidate.oneOf.1.structure.attributes.additionalProperties.oneOf.1.maximum","typeLabel":"number"},"default":{"type":"number","uniqueKey":"candidate.oneOf.1.structure.attributes.additionalProperties.oneOf.1.default","typeLabel":"number"},"source":{"type":"string","minLength":1,"maxLength":200,"description":"The model and version behind this attribute, such as `toxicity-classifier-v3`. Hashed.","uniqueKey":"candidate.oneOf.1.structure.attributes.additionalProperties.oneOf.1.source","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.attributes.additionalProperties.oneOf.1","typeLabel":"object"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["boolean"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.attributes.additionalProperties.oneOf.2.type","typeLabel":"enum\u003cstring>"},"default":{"type":"boolean","uniqueKey":"candidate.oneOf.1.structure.attributes.additionalProperties.oneOf.2.default","typeLabel":"boolean"},"source":{"type":"string","minLength":1,"maxLength":200,"description":"The model and version behind this attribute, such as `toxicity-classifier-v3`. Hashed.","uniqueKey":"candidate.oneOf.1.structure.attributes.additionalProperties.oneOf.2.source","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.attributes.additionalProperties.oneOf.2","typeLabel":"object"}],"uniqueKey":"candidate.oneOf.1.structure.attributes.additionalProperties","typeLabel":"object"},"description":"Values your app supplies with each call in `attribute_values`. The model never sees them.","uniqueKey":"candidate.oneOf.1.structure.attributes","typeLabel":"object"},"aggregations":{"type":"object","additionalProperties":{"oneOf":[{"type":"object","description":"Σ wᵢ·xᵢ / Σ wᵢ: a weighted average from 0 to 1, not a probability.","required":["type","inputs"],"properties":{"type":{"type":"string","enum":["weighted_mean"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.0.type","typeLabel":"enum\u003cstring>"},"inputs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"A feature's path: `questions.\u003cname>`, `attributes.\u003cname>` or `aggregations.\u003cname>`.","examples":["questions.asks_for_refund","aggregations.band"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.0.inputs.items.[INDEX].name","typeLabel":"string"},"weight":{"type":"number","exclusiveMinimum":0,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.0.inputs.items.[INDEX].weight","typeLabel":"number"},"invert":{"type":"boolean","uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.0.inputs.items.[INDEX].invert","typeLabel":"boolean"}},"required":["name"],"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.0.inputs.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":64,"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.0.inputs","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"object","description":"σ(bias + Σ wᵢ·xᵢ), with signed weights on raw input values.","required":["type","bias","inputs"],"properties":{"type":{"type":"string","enum":["logistic"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.1.type","typeLabel":"enum\u003cstring>"},"bias":{"type":"number","isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.1.bias","typeLabel":"number"},"inputs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"A feature's path: `questions.\u003cname>`, `attributes.\u003cname>` or `aggregations.\u003cname>`.","examples":["questions.asks_for_refund","aggregations.band"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.1.inputs.items.[INDEX].name","typeLabel":"string"},"weight":{"type":"number","isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.1.inputs.items.[INDEX].weight","typeLabel":"number"}},"required":["name","weight"],"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.1.inputs.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":64,"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.1.inputs","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.1","typeLabel":"object"},{"type":"object","description":"min xᵢ: all of these, when they overlap.","required":["type","inputs"],"properties":{"type":{"type":"string","enum":["min"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.2.type","typeLabel":"enum\u003cstring>"},"inputs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"A feature's path: `questions.\u003cname>`, `attributes.\u003cname>` or `aggregations.\u003cname>`.","examples":["questions.asks_for_refund","aggregations.band"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.2.inputs.items.[INDEX].name","typeLabel":"string"},"invert":{"type":"boolean","uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.2.inputs.items.[INDEX].invert","typeLabel":"boolean"}},"required":["name"],"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.2.inputs.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":64,"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.2.inputs","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.2","typeLabel":"object"},{"type":"object","description":"max xᵢ: any of these, when they overlap.","required":["type","inputs"],"properties":{"type":{"type":"string","enum":["max"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.3.type","typeLabel":"enum\u003cstring>"},"inputs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"A feature's path: `questions.\u003cname>`, `attributes.\u003cname>` or `aggregations.\u003cname>`.","examples":["questions.asks_for_refund","aggregations.band"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.3.inputs.items.[INDEX].name","typeLabel":"string"},"invert":{"type":"boolean","uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.3.inputs.items.[INDEX].invert","typeLabel":"boolean"}},"required":["name"],"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.3.inputs.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":64,"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.3.inputs","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.3","typeLabel":"object"},{"type":"object","description":"Π xᵢ: all of these, when they are independent.","required":["type","inputs"],"properties":{"type":{"type":"string","enum":["product"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.4.type","typeLabel":"enum\u003cstring>"},"inputs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"A feature's path: `questions.\u003cname>`, `attributes.\u003cname>` or `aggregations.\u003cname>`.","examples":["questions.asks_for_refund","aggregations.band"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.4.inputs.items.[INDEX].name","typeLabel":"string"},"invert":{"type":"boolean","uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.4.inputs.items.[INDEX].invert","typeLabel":"boolean"}},"required":["name"],"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.4.inputs.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":64,"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.4.inputs","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.4","typeLabel":"object"},{"type":"object","description":"1 − Π(1 − xᵢ): any of these, when they are independent.","required":["type","inputs"],"properties":{"type":{"type":"string","enum":["noisy_or"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.5.type","typeLabel":"enum\u003cstring>"},"inputs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"A feature's path: `questions.\u003cname>`, `attributes.\u003cname>` or `aggregations.\u003cname>`.","examples":["questions.asks_for_refund","aggregations.band"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.5.inputs.items.[INDEX].name","typeLabel":"string"},"invert":{"type":"boolean","uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.5.inputs.items.[INDEX].invert","typeLabel":"boolean"}},"required":["name"],"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.5.inputs.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":64,"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.5.inputs","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.5","typeLabel":"object"},{"type":"object","description":"1 when every input passes its threshold (default ≥ 0.5), else 0.","required":["type","inputs"],"properties":{"type":{"type":"string","enum":["all"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.6.type","typeLabel":"enum\u003cstring>"},"inputs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"A feature's path: `questions.\u003cname>`, `attributes.\u003cname>` or `aggregations.\u003cname>`.","examples":["questions.asks_for_refund","aggregations.band"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.6.inputs.items.[INDEX].name","typeLabel":"string"},"gte":{"type":"number","uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.6.inputs.items.[INDEX].gte","typeLabel":"number"},"gt":{"type":"number","uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.6.inputs.items.[INDEX].gt","typeLabel":"number"},"lte":{"type":"number","uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.6.inputs.items.[INDEX].lte","typeLabel":"number"},"lt":{"type":"number","uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.6.inputs.items.[INDEX].lt","typeLabel":"number"}},"required":["name"],"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.6.inputs.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":64,"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.6.inputs","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.6","typeLabel":"object"},{"type":"object","description":"1 when any input passes its threshold (default ≥ 0.5), else 0.","required":["type","inputs"],"properties":{"type":{"type":"string","enum":["any"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.7.type","typeLabel":"enum\u003cstring>"},"inputs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"A feature's path: `questions.\u003cname>`, `attributes.\u003cname>` or `aggregations.\u003cname>`.","examples":["questions.asks_for_refund","aggregations.band"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.7.inputs.items.[INDEX].name","typeLabel":"string"},"gte":{"type":"number","uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.7.inputs.items.[INDEX].gte","typeLabel":"number"},"gt":{"type":"number","uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.7.inputs.items.[INDEX].gt","typeLabel":"number"},"lte":{"type":"number","uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.7.inputs.items.[INDEX].lte","typeLabel":"number"},"lt":{"type":"number","uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.7.inputs.items.[INDEX].lt","typeLabel":"number"}},"required":["name"],"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.7.inputs.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":64,"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.7.inputs","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.7","typeLabel":"object"},{"type":"object","description":"Names an outcome for each range of one feature's value. `at` means ≥; `below` is under the first cut.","required":["type","input","below","cuts"],"properties":{"type":{"type":"string","enum":["bands"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.8.type","typeLabel":"enum\u003cstring>"},"input":{"type":"string","minLength":1,"maxLength":80,"description":"A feature's path: `questions.\u003cname>`, `attributes.\u003cname>` or `aggregations.\u003cname>`.","examples":["questions.asks_for_refund","aggregations.band"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.8.input","typeLabel":"string"},"below":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.8.below","typeLabel":"string"},"cuts":{"type":"array","items":{"type":"object","properties":{"at":{"type":"number","isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.8.cuts.items.[INDEX].at","typeLabel":"number"},"outcome":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.8.cuts.items.[INDEX].outcome","typeLabel":"string"}},"required":["at","outcome"],"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.8.cuts.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":9,"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.8.cuts","typeLabel":"object[]"},"abstain":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.8.abstain","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.8","typeLabel":"object"},{"type":"object","description":"The first rule whose condition is true names its `outcome`; otherwise `else`.","required":["type","rules","else"],"properties":{"type":{"type":"string","enum":["rules"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.type","typeLabel":"enum\u003cstring>"},"rules":{"type":"array","items":{"type":"object","properties":{"when":{"oneOf":[{"type":"object","required":["name"],"properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"A feature's path: `questions.\u003cname>`, `attributes.\u003cname>` or `aggregations.\u003cname>`.","examples":["questions.asks_for_refund","aggregations.band"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.0.name","typeLabel":"string"},"gte":{"type":"number","uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.0.gte","typeLabel":"number"},"gt":{"type":"number","uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.0.gt","typeLabel":"number"},"lte":{"type":"number","uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.0.lte","typeLabel":"number"},"lt":{"type":"number","uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.0.lt","typeLabel":"number"},"is":{"type":"string","minLength":1,"maxLength":200,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.0.is","typeLabel":"string"},"in":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.0.in.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":255,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.0.in","typeLabel":"string[]"},"abstained":{"type":"boolean","enum":[true],"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.0.abstained","typeLabel":"enum\u003cboolean>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.0","typeLabel":"object"},{"type":"object","required":["all"],"properties":{"all":{"type":"array","items":{"$circularRef":"6889a875-9eb8-44b0-9d08-9fefa389dc6e"},"minItems":1,"maxItems":64,"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.1.all","typeLabel":"array"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.1","typeLabel":"object"},{"type":"object","required":["any"],"properties":{"any":{"type":"array","items":{"$circularRef":"6889a875-9eb8-44b0-9d08-9fefa389dc6e"},"minItems":1,"maxItems":64,"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.2.any","typeLabel":"array"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.2","typeLabel":"object"},{"type":"object","required":["not"],"properties":{"not":{"oneOf":[{"$circularRef":"6889a875-9eb8-44b0-9d08-9fefa389dc6e","isRequired":true}],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.3.not","typeLabel":"any"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.3","typeLabel":"object"}],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when","typeLabel":"object"},"outcome":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].outcome","typeLabel":"string"}},"required":["when","outcome"],"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":64,"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules","typeLabel":"object[]"},"else":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.else","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.9","typeLabel":"object"},{"type":"object","description":"Maps a label straight to an outcome.","required":["type","input","cases"],"properties":{"type":{"type":"string","enum":["match"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.10.type","typeLabel":"enum\u003cstring>"},"input":{"type":"string","minLength":1,"maxLength":80,"description":"A feature's path: `questions.\u003cname>`, `attributes.\u003cname>` or `aggregations.\u003cname>`.","examples":["questions.asks_for_refund","aggregations.band"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.10.input","typeLabel":"string"},"cases":{"type":"object","additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.10.cases.additionalProperties","typeLabel":"string"},"description":"Maps labels to outcomes. \"__proto__\" is not supported as a case key; use a rules is-condition for that label.","isRequired":true,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.10.cases","typeLabel":"object"},"else":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.10.else","typeLabel":"string"},"abstain":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.10.abstain","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties.oneOf.10","typeLabel":"object"}],"uniqueKey":"candidate.oneOf.1.structure.aggregations.additionalProperties","typeLabel":"object"},"uniqueKey":"candidate.oneOf.1.structure.aggregations","typeLabel":"object"}},"required":["questions","result"],"additionalProperties":false,"description":"Everything that defines a decision: questions, attribute declarations, aggregations and the result. Names are unique across all three maps.","isRequired":true,"uniqueKey":"candidate.oneOf.1.structure","typeLabel":"object"},"results":{"type":"array","items":{"type":"object","properties":{"item_id":{"type":"string","minLength":1,"maxLength":256,"isRequired":true,"uniqueKey":"candidate.oneOf.1.results.items.[INDEX].item_id","typeLabel":"string"},"status":{"type":"string","enum":["decided","computed","abstained","failed"],"isRequired":true,"uniqueKey":"candidate.oneOf.1.results.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"expected":{"type":"string","minLength":1,"maxLength":200,"description":"Needed on the candidate side; a base's labels are ignored.","uniqueKey":"candidate.oneOf.1.results.items.[INDEX].expected","typeLabel":"string"},"label_source":{"type":"string","enum":["human","synthetic","unknown"],"description":"Where the label came from: `human`, `synthetic` (an agent made it) or `unknown`. Only `human` counts toward the no-new-severe-mistake rule.","uniqueKey":"candidate.oneOf.1.results.items.[INDEX].label_source","typeLabel":"enum\u003cstring>"},"outcome":{"type":"string","minLength":1,"maxLength":200,"description":"An outcome name, or the exact enum label when a string attribute is the result.","uniqueKey":"candidate.oneOf.1.results.items.[INDEX].outcome","typeLabel":"string"},"value":{"type":"number","uniqueKey":"candidate.oneOf.1.results.items.[INDEX].value","typeLabel":"number"},"answers":{"type":"object","additionalProperties":{"oneOf":[{"type":"number","uniqueKey":"candidate.oneOf.1.results.items.[INDEX].answers.additionalProperties.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"candidate.oneOf.1.results.items.[INDEX].answers.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"candidate.oneOf.1.results.items.[INDEX].answers.additionalProperties","typeLabel":"number | null"},"uniqueKey":"candidate.oneOf.1.results.items.[INDEX].answers","typeLabel":"object"},"attributes":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","maxLength":200,"uniqueKey":"candidate.oneOf.1.results.items.[INDEX].attributes.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"candidate.oneOf.1.results.items.[INDEX].attributes.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"candidate.oneOf.1.results.items.[INDEX].attributes.additionalProperties.oneOf.2","typeLabel":"boolean"}],"uniqueKey":"candidate.oneOf.1.results.items.[INDEX].attributes.additionalProperties","typeLabel":"string | number | boolean"},"uniqueKey":"candidate.oneOf.1.results.items.[INDEX].attributes","typeLabel":"object"},"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"candidate.oneOf.1.results.items.[INDEX].error.code","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"candidate.oneOf.1.results.items.[INDEX].error.retryable","typeLabel":"boolean"},"message":{"type":"string","uniqueKey":"candidate.oneOf.1.results.items.[INDEX].error.message","typeLabel":"string"}},"required":["code","retryable"],"additionalProperties":false,"description":"A failed result's error, as evaluate gave it: a retryable one is left out, not judged.","uniqueKey":"candidate.oneOf.1.results.items.[INDEX].error","typeLabel":"object"}},"required":["item_id","status"],"additionalProperties":false,"description":"One result, as an evaluate run returns it, with its label.","uniqueKey":"candidate.oneOf.1.results.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":10000,"isRequired":true,"uniqueKey":"candidate.oneOf.1.results","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"candidate.oneOf.1","typeLabel":"object"},{"type":"object","description":"One version's results: runs by id, or results inline with the structure they ran on.","required":["structure_hash","results"],"properties":{"structure_hash":{"type":"string","pattern":"^sha256:[0-9a-f]{64}$","isRequired":true,"uniqueKey":"candidate.oneOf.2.structure_hash","typeLabel":"string"},"results":{"type":"array","items":{"type":"object","properties":{"item_id":{"type":"string","minLength":1,"maxLength":256,"isRequired":true,"uniqueKey":"candidate.oneOf.2.results.items.[INDEX].item_id","typeLabel":"string"},"status":{"type":"string","enum":["decided","computed","abstained","failed"],"isRequired":true,"uniqueKey":"candidate.oneOf.2.results.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"expected":{"type":"string","minLength":1,"maxLength":200,"description":"Needed on the candidate side; a base's labels are ignored.","uniqueKey":"candidate.oneOf.2.results.items.[INDEX].expected","typeLabel":"string"},"label_source":{"type":"string","enum":["human","synthetic","unknown"],"description":"Where the label came from: `human`, `synthetic` (an agent made it) or `unknown`. Only `human` counts toward the no-new-severe-mistake rule.","uniqueKey":"candidate.oneOf.2.results.items.[INDEX].label_source","typeLabel":"enum\u003cstring>"},"outcome":{"type":"string","minLength":1,"maxLength":200,"description":"An outcome name, or the exact enum label when a string attribute is the result.","uniqueKey":"candidate.oneOf.2.results.items.[INDEX].outcome","typeLabel":"string"},"value":{"type":"number","uniqueKey":"candidate.oneOf.2.results.items.[INDEX].value","typeLabel":"number"},"answers":{"type":"object","additionalProperties":{"oneOf":[{"type":"number","uniqueKey":"candidate.oneOf.2.results.items.[INDEX].answers.additionalProperties.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"candidate.oneOf.2.results.items.[INDEX].answers.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"candidate.oneOf.2.results.items.[INDEX].answers.additionalProperties","typeLabel":"number | null"},"uniqueKey":"candidate.oneOf.2.results.items.[INDEX].answers","typeLabel":"object"},"attributes":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","maxLength":200,"uniqueKey":"candidate.oneOf.2.results.items.[INDEX].attributes.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"candidate.oneOf.2.results.items.[INDEX].attributes.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"candidate.oneOf.2.results.items.[INDEX].attributes.additionalProperties.oneOf.2","typeLabel":"boolean"}],"uniqueKey":"candidate.oneOf.2.results.items.[INDEX].attributes.additionalProperties","typeLabel":"string | number | boolean"},"uniqueKey":"candidate.oneOf.2.results.items.[INDEX].attributes","typeLabel":"object"},"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"candidate.oneOf.2.results.items.[INDEX].error.code","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"candidate.oneOf.2.results.items.[INDEX].error.retryable","typeLabel":"boolean"},"message":{"type":"string","uniqueKey":"candidate.oneOf.2.results.items.[INDEX].error.message","typeLabel":"string"}},"required":["code","retryable"],"additionalProperties":false,"description":"A failed result's error, as evaluate gave it: a retryable one is left out, not judged.","uniqueKey":"candidate.oneOf.2.results.items.[INDEX].error","typeLabel":"object"}},"required":["item_id","status"],"additionalProperties":false,"description":"One result, as an evaluate run returns it, with its label.","uniqueKey":"candidate.oneOf.2.results.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":10000,"isRequired":true,"uniqueKey":"candidate.oneOf.2.results","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"candidate.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"candidate","typeLabel":"object"},"base":{"oneOf":[{"type":"object","description":"The version to compare with: same items, by item_id.","required":["run_ids"],"properties":{"run_ids":{"type":"array","items":{"type":"string","pattern":"^evr_[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","uniqueKey":"base.oneOf.0.run_ids.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":50,"description":"Runs of one structure, from evaluate with `items`; their labeled items are judged.","isRequired":true,"uniqueKey":"base.oneOf.0.run_ids","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"base.oneOf.0","typeLabel":"object"},{"type":"object","description":"The version to compare with: same items, by item_id.","required":["structure","results"],"properties":{"structure":{"type":"object","properties":{"questions":{"type":"object","additionalProperties":{"type":"object","description":"P(true) for a statement about the state.","required":["type","instructions"],"properties":{"type":{"type":"string","enum":["noul"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.questions.additionalProperties.type","typeLabel":"enum\u003cstring>"},"instructions":{"oneOf":[{"type":"string","maxLength":4000,"minLength":1,"isRequired":true,"uniqueKey":"base.oneOf.1.structure.questions.additionalProperties.instructions.oneOf.0","typeLabel":"string"},{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"base.oneOf.1.structure.questions.additionalProperties.instructions.oneOf.1.additionalProperties","typeLabel":"any"},"isRequired":true,"uniqueKey":"base.oneOf.1.structure.questions.additionalProperties.instructions.oneOf.1","typeLabel":"object"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"base.oneOf.1.structure.questions.additionalProperties.instructions.oneOf.2.items.[INDEX]","typeLabel":"any"},"minItems":1,"isRequired":true,"uniqueKey":"base.oneOf.1.structure.questions.additionalProperties.instructions.oneOf.2","typeLabel":"any[]"}],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.questions.additionalProperties.instructions","typeLabel":"string | object | any[]"},"criteria":{"type":"object","properties":{"true":{"type":"string","minLength":1,"maxLength":4000,"uniqueKey":"base.oneOf.1.structure.questions.additionalProperties.criteria.true","typeLabel":"string"},"false":{"type":"string","minLength":1,"maxLength":4000,"uniqueKey":"base.oneOf.1.structure.questions.additionalProperties.criteria.false","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.questions.additionalProperties.criteria","typeLabel":"object"},"reads":{"type":"array","items":{"type":"string","minLength":1,"maxLength":256,"description":"`state.\u003ckey>` or a nested object path such as `state.order.customer.tier`: keys of an object `state`. A key has no `.`, `[` or `]`. Array indexes are not supported yet.","examples":["state.message","state.order.order_total_usd"],"uniqueKey":"base.oneOf.1.structure.questions.additionalProperties.reads.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":64,"description":"Paths into an object `state` this question reads, such as `state.message` or `state.order.customer.tier`. The question sees just those values, nested as in the state. Without it the question sees the whole state, as in System One. Every path must exist in the call's `state`; no entry may repeat or contain another.","uniqueKey":"base.oneOf.1.structure.questions.additionalProperties.reads","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.questions.additionalProperties","typeLabel":"object"},"description":"System One questions, keyed by name.","isRequired":true,"uniqueKey":"base.oneOf.1.structure.questions","typeLabel":"object"},"result":{"type":"string","minLength":1,"maxLength":80,"description":"The final feature's path, such as `aggregations.band`.","examples":["questions.asks_for_refund","aggregations.band"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.result","typeLabel":"string"},"attributes":{"type":"object","additionalProperties":{"oneOf":[{"type":"object","required":["type","enum"],"properties":{"type":{"type":"string","enum":["string"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.attributes.additionalProperties.oneOf.0.type","typeLabel":"enum\u003cstring>"},"enum":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200,"uniqueKey":"base.oneOf.1.structure.attributes.additionalProperties.oneOf.0.enum.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":255,"isRequired":true,"uniqueKey":"base.oneOf.1.structure.attributes.additionalProperties.oneOf.0.enum","typeLabel":"string[]"},"default":{"type":"string","uniqueKey":"base.oneOf.1.structure.attributes.additionalProperties.oneOf.0.default","typeLabel":"string"},"source":{"type":"string","minLength":1,"maxLength":200,"description":"The model and version behind this attribute, such as `toxicity-classifier-v3`. Hashed.","uniqueKey":"base.oneOf.1.structure.attributes.additionalProperties.oneOf.0.source","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.attributes.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["number"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.attributes.additionalProperties.oneOf.1.type","typeLabel":"enum\u003cstring>"},"minimum":{"type":"number","uniqueKey":"base.oneOf.1.structure.attributes.additionalProperties.oneOf.1.minimum","typeLabel":"number"},"maximum":{"type":"number","uniqueKey":"base.oneOf.1.structure.attributes.additionalProperties.oneOf.1.maximum","typeLabel":"number"},"default":{"type":"number","uniqueKey":"base.oneOf.1.structure.attributes.additionalProperties.oneOf.1.default","typeLabel":"number"},"source":{"type":"string","minLength":1,"maxLength":200,"description":"The model and version behind this attribute, such as `toxicity-classifier-v3`. Hashed.","uniqueKey":"base.oneOf.1.structure.attributes.additionalProperties.oneOf.1.source","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.attributes.additionalProperties.oneOf.1","typeLabel":"object"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["boolean"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.attributes.additionalProperties.oneOf.2.type","typeLabel":"enum\u003cstring>"},"default":{"type":"boolean","uniqueKey":"base.oneOf.1.structure.attributes.additionalProperties.oneOf.2.default","typeLabel":"boolean"},"source":{"type":"string","minLength":1,"maxLength":200,"description":"The model and version behind this attribute, such as `toxicity-classifier-v3`. Hashed.","uniqueKey":"base.oneOf.1.structure.attributes.additionalProperties.oneOf.2.source","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.attributes.additionalProperties.oneOf.2","typeLabel":"object"}],"uniqueKey":"base.oneOf.1.structure.attributes.additionalProperties","typeLabel":"object"},"description":"Values your app supplies with each call in `attribute_values`. The model never sees them.","uniqueKey":"base.oneOf.1.structure.attributes","typeLabel":"object"},"aggregations":{"type":"object","additionalProperties":{"oneOf":[{"type":"object","description":"Σ wᵢ·xᵢ / Σ wᵢ: a weighted average from 0 to 1, not a probability.","required":["type","inputs"],"properties":{"type":{"type":"string","enum":["weighted_mean"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.0.type","typeLabel":"enum\u003cstring>"},"inputs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"A feature's path: `questions.\u003cname>`, `attributes.\u003cname>` or `aggregations.\u003cname>`.","examples":["questions.asks_for_refund","aggregations.band"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.0.inputs.items.[INDEX].name","typeLabel":"string"},"weight":{"type":"number","exclusiveMinimum":0,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.0.inputs.items.[INDEX].weight","typeLabel":"number"},"invert":{"type":"boolean","uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.0.inputs.items.[INDEX].invert","typeLabel":"boolean"}},"required":["name"],"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.0.inputs.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":64,"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.0.inputs","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"object","description":"σ(bias + Σ wᵢ·xᵢ), with signed weights on raw input values.","required":["type","bias","inputs"],"properties":{"type":{"type":"string","enum":["logistic"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.1.type","typeLabel":"enum\u003cstring>"},"bias":{"type":"number","isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.1.bias","typeLabel":"number"},"inputs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"A feature's path: `questions.\u003cname>`, `attributes.\u003cname>` or `aggregations.\u003cname>`.","examples":["questions.asks_for_refund","aggregations.band"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.1.inputs.items.[INDEX].name","typeLabel":"string"},"weight":{"type":"number","isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.1.inputs.items.[INDEX].weight","typeLabel":"number"}},"required":["name","weight"],"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.1.inputs.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":64,"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.1.inputs","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.1","typeLabel":"object"},{"type":"object","description":"min xᵢ: all of these, when they overlap.","required":["type","inputs"],"properties":{"type":{"type":"string","enum":["min"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.2.type","typeLabel":"enum\u003cstring>"},"inputs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"A feature's path: `questions.\u003cname>`, `attributes.\u003cname>` or `aggregations.\u003cname>`.","examples":["questions.asks_for_refund","aggregations.band"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.2.inputs.items.[INDEX].name","typeLabel":"string"},"invert":{"type":"boolean","uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.2.inputs.items.[INDEX].invert","typeLabel":"boolean"}},"required":["name"],"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.2.inputs.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":64,"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.2.inputs","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.2","typeLabel":"object"},{"type":"object","description":"max xᵢ: any of these, when they overlap.","required":["type","inputs"],"properties":{"type":{"type":"string","enum":["max"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.3.type","typeLabel":"enum\u003cstring>"},"inputs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"A feature's path: `questions.\u003cname>`, `attributes.\u003cname>` or `aggregations.\u003cname>`.","examples":["questions.asks_for_refund","aggregations.band"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.3.inputs.items.[INDEX].name","typeLabel":"string"},"invert":{"type":"boolean","uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.3.inputs.items.[INDEX].invert","typeLabel":"boolean"}},"required":["name"],"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.3.inputs.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":64,"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.3.inputs","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.3","typeLabel":"object"},{"type":"object","description":"Π xᵢ: all of these, when they are independent.","required":["type","inputs"],"properties":{"type":{"type":"string","enum":["product"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.4.type","typeLabel":"enum\u003cstring>"},"inputs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"A feature's path: `questions.\u003cname>`, `attributes.\u003cname>` or `aggregations.\u003cname>`.","examples":["questions.asks_for_refund","aggregations.band"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.4.inputs.items.[INDEX].name","typeLabel":"string"},"invert":{"type":"boolean","uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.4.inputs.items.[INDEX].invert","typeLabel":"boolean"}},"required":["name"],"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.4.inputs.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":64,"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.4.inputs","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.4","typeLabel":"object"},{"type":"object","description":"1 − Π(1 − xᵢ): any of these, when they are independent.","required":["type","inputs"],"properties":{"type":{"type":"string","enum":["noisy_or"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.5.type","typeLabel":"enum\u003cstring>"},"inputs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"A feature's path: `questions.\u003cname>`, `attributes.\u003cname>` or `aggregations.\u003cname>`.","examples":["questions.asks_for_refund","aggregations.band"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.5.inputs.items.[INDEX].name","typeLabel":"string"},"invert":{"type":"boolean","uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.5.inputs.items.[INDEX].invert","typeLabel":"boolean"}},"required":["name"],"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.5.inputs.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":64,"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.5.inputs","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.5","typeLabel":"object"},{"type":"object","description":"1 when every input passes its threshold (default ≥ 0.5), else 0.","required":["type","inputs"],"properties":{"type":{"type":"string","enum":["all"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.6.type","typeLabel":"enum\u003cstring>"},"inputs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"A feature's path: `questions.\u003cname>`, `attributes.\u003cname>` or `aggregations.\u003cname>`.","examples":["questions.asks_for_refund","aggregations.band"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.6.inputs.items.[INDEX].name","typeLabel":"string"},"gte":{"type":"number","uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.6.inputs.items.[INDEX].gte","typeLabel":"number"},"gt":{"type":"number","uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.6.inputs.items.[INDEX].gt","typeLabel":"number"},"lte":{"type":"number","uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.6.inputs.items.[INDEX].lte","typeLabel":"number"},"lt":{"type":"number","uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.6.inputs.items.[INDEX].lt","typeLabel":"number"}},"required":["name"],"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.6.inputs.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":64,"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.6.inputs","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.6","typeLabel":"object"},{"type":"object","description":"1 when any input passes its threshold (default ≥ 0.5), else 0.","required":["type","inputs"],"properties":{"type":{"type":"string","enum":["any"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.7.type","typeLabel":"enum\u003cstring>"},"inputs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"A feature's path: `questions.\u003cname>`, `attributes.\u003cname>` or `aggregations.\u003cname>`.","examples":["questions.asks_for_refund","aggregations.band"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.7.inputs.items.[INDEX].name","typeLabel":"string"},"gte":{"type":"number","uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.7.inputs.items.[INDEX].gte","typeLabel":"number"},"gt":{"type":"number","uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.7.inputs.items.[INDEX].gt","typeLabel":"number"},"lte":{"type":"number","uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.7.inputs.items.[INDEX].lte","typeLabel":"number"},"lt":{"type":"number","uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.7.inputs.items.[INDEX].lt","typeLabel":"number"}},"required":["name"],"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.7.inputs.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":64,"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.7.inputs","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.7","typeLabel":"object"},{"type":"object","description":"Names an outcome for each range of one feature's value. `at` means ≥; `below` is under the first cut.","required":["type","input","below","cuts"],"properties":{"type":{"type":"string","enum":["bands"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.8.type","typeLabel":"enum\u003cstring>"},"input":{"type":"string","minLength":1,"maxLength":80,"description":"A feature's path: `questions.\u003cname>`, `attributes.\u003cname>` or `aggregations.\u003cname>`.","examples":["questions.asks_for_refund","aggregations.band"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.8.input","typeLabel":"string"},"below":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.8.below","typeLabel":"string"},"cuts":{"type":"array","items":{"type":"object","properties":{"at":{"type":"number","isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.8.cuts.items.[INDEX].at","typeLabel":"number"},"outcome":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.8.cuts.items.[INDEX].outcome","typeLabel":"string"}},"required":["at","outcome"],"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.8.cuts.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":9,"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.8.cuts","typeLabel":"object[]"},"abstain":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.8.abstain","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.8","typeLabel":"object"},{"type":"object","description":"The first rule whose condition is true names its `outcome`; otherwise `else`.","required":["type","rules","else"],"properties":{"type":{"type":"string","enum":["rules"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.type","typeLabel":"enum\u003cstring>"},"rules":{"type":"array","items":{"type":"object","properties":{"when":{"oneOf":[{"type":"object","required":["name"],"properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"A feature's path: `questions.\u003cname>`, `attributes.\u003cname>` or `aggregations.\u003cname>`.","examples":["questions.asks_for_refund","aggregations.band"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.0.name","typeLabel":"string"},"gte":{"type":"number","uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.0.gte","typeLabel":"number"},"gt":{"type":"number","uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.0.gt","typeLabel":"number"},"lte":{"type":"number","uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.0.lte","typeLabel":"number"},"lt":{"type":"number","uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.0.lt","typeLabel":"number"},"is":{"type":"string","minLength":1,"maxLength":200,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.0.is","typeLabel":"string"},"in":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.0.in.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":255,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.0.in","typeLabel":"string[]"},"abstained":{"type":"boolean","enum":[true],"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.0.abstained","typeLabel":"enum\u003cboolean>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.0","typeLabel":"object"},{"type":"object","required":["all"],"properties":{"all":{"type":"array","items":{"$circularRef":"6889a875-9eb8-44b0-9d08-9fefa389dc6e"},"minItems":1,"maxItems":64,"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.1.all","typeLabel":"array"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.1","typeLabel":"object"},{"type":"object","required":["any"],"properties":{"any":{"type":"array","items":{"$circularRef":"6889a875-9eb8-44b0-9d08-9fefa389dc6e"},"minItems":1,"maxItems":64,"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.2.any","typeLabel":"array"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.2","typeLabel":"object"},{"type":"object","required":["not"],"properties":{"not":{"oneOf":[{"$circularRef":"6889a875-9eb8-44b0-9d08-9fefa389dc6e","isRequired":true}],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.3.not","typeLabel":"any"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when.oneOf.3","typeLabel":"object"}],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].when","typeLabel":"object"},"outcome":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX].outcome","typeLabel":"string"}},"required":["when","outcome"],"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":64,"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.rules","typeLabel":"object[]"},"else":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.9.else","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.9","typeLabel":"object"},{"type":"object","description":"Maps a label straight to an outcome.","required":["type","input","cases"],"properties":{"type":{"type":"string","enum":["match"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.10.type","typeLabel":"enum\u003cstring>"},"input":{"type":"string","minLength":1,"maxLength":80,"description":"A feature's path: `questions.\u003cname>`, `attributes.\u003cname>` or `aggregations.\u003cname>`.","examples":["questions.asks_for_refund","aggregations.band"],"isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.10.input","typeLabel":"string"},"cases":{"type":"object","additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.10.cases.additionalProperties","typeLabel":"string"},"description":"Maps labels to outcomes. \"__proto__\" is not supported as a case key; use a rules is-condition for that label.","isRequired":true,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.10.cases","typeLabel":"object"},"else":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.10.else","typeLabel":"string"},"abstain":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.10.abstain","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties.oneOf.10","typeLabel":"object"}],"uniqueKey":"base.oneOf.1.structure.aggregations.additionalProperties","typeLabel":"object"},"uniqueKey":"base.oneOf.1.structure.aggregations","typeLabel":"object"}},"required":["questions","result"],"additionalProperties":false,"description":"Everything that defines a decision: questions, attribute declarations, aggregations and the result. Names are unique across all three maps.","isRequired":true,"uniqueKey":"base.oneOf.1.structure","typeLabel":"object"},"results":{"type":"array","items":{"type":"object","properties":{"item_id":{"type":"string","minLength":1,"maxLength":256,"isRequired":true,"uniqueKey":"base.oneOf.1.results.items.[INDEX].item_id","typeLabel":"string"},"status":{"type":"string","enum":["decided","computed","abstained","failed"],"isRequired":true,"uniqueKey":"base.oneOf.1.results.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"expected":{"type":"string","minLength":1,"maxLength":200,"description":"Needed on the candidate side; a base's labels are ignored.","uniqueKey":"base.oneOf.1.results.items.[INDEX].expected","typeLabel":"string"},"label_source":{"type":"string","enum":["human","synthetic","unknown"],"description":"Where the label came from: `human`, `synthetic` (an agent made it) or `unknown`. Only `human` counts toward the no-new-severe-mistake rule.","uniqueKey":"base.oneOf.1.results.items.[INDEX].label_source","typeLabel":"enum\u003cstring>"},"outcome":{"type":"string","minLength":1,"maxLength":200,"description":"An outcome name, or the exact enum label when a string attribute is the result.","uniqueKey":"base.oneOf.1.results.items.[INDEX].outcome","typeLabel":"string"},"value":{"type":"number","uniqueKey":"base.oneOf.1.results.items.[INDEX].value","typeLabel":"number"},"answers":{"type":"object","additionalProperties":{"oneOf":[{"type":"number","uniqueKey":"base.oneOf.1.results.items.[INDEX].answers.additionalProperties.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"base.oneOf.1.results.items.[INDEX].answers.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"base.oneOf.1.results.items.[INDEX].answers.additionalProperties","typeLabel":"number | null"},"uniqueKey":"base.oneOf.1.results.items.[INDEX].answers","typeLabel":"object"},"attributes":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","maxLength":200,"uniqueKey":"base.oneOf.1.results.items.[INDEX].attributes.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"base.oneOf.1.results.items.[INDEX].attributes.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"base.oneOf.1.results.items.[INDEX].attributes.additionalProperties.oneOf.2","typeLabel":"boolean"}],"uniqueKey":"base.oneOf.1.results.items.[INDEX].attributes.additionalProperties","typeLabel":"string | number | boolean"},"uniqueKey":"base.oneOf.1.results.items.[INDEX].attributes","typeLabel":"object"},"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"base.oneOf.1.results.items.[INDEX].error.code","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"base.oneOf.1.results.items.[INDEX].error.retryable","typeLabel":"boolean"},"message":{"type":"string","uniqueKey":"base.oneOf.1.results.items.[INDEX].error.message","typeLabel":"string"}},"required":["code","retryable"],"additionalProperties":false,"description":"A failed result's error, as evaluate gave it: a retryable one is left out, not judged.","uniqueKey":"base.oneOf.1.results.items.[INDEX].error","typeLabel":"object"}},"required":["item_id","status"],"additionalProperties":false,"description":"One result, as an evaluate run returns it, with its label.","uniqueKey":"base.oneOf.1.results.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":10000,"isRequired":true,"uniqueKey":"base.oneOf.1.results","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"base.oneOf.1","typeLabel":"object"},{"type":"object","description":"The version to compare with: same items, by item_id.","required":["structure_hash","results"],"properties":{"structure_hash":{"type":"string","pattern":"^sha256:[0-9a-f]{64}$","isRequired":true,"uniqueKey":"base.oneOf.2.structure_hash","typeLabel":"string"},"results":{"type":"array","items":{"type":"object","properties":{"item_id":{"type":"string","minLength":1,"maxLength":256,"isRequired":true,"uniqueKey":"base.oneOf.2.results.items.[INDEX].item_id","typeLabel":"string"},"status":{"type":"string","enum":["decided","computed","abstained","failed"],"isRequired":true,"uniqueKey":"base.oneOf.2.results.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"expected":{"type":"string","minLength":1,"maxLength":200,"description":"Needed on the candidate side; a base's labels are ignored.","uniqueKey":"base.oneOf.2.results.items.[INDEX].expected","typeLabel":"string"},"label_source":{"type":"string","enum":["human","synthetic","unknown"],"description":"Where the label came from: `human`, `synthetic` (an agent made it) or `unknown`. Only `human` counts toward the no-new-severe-mistake rule.","uniqueKey":"base.oneOf.2.results.items.[INDEX].label_source","typeLabel":"enum\u003cstring>"},"outcome":{"type":"string","minLength":1,"maxLength":200,"description":"An outcome name, or the exact enum label when a string attribute is the result.","uniqueKey":"base.oneOf.2.results.items.[INDEX].outcome","typeLabel":"string"},"value":{"type":"number","uniqueKey":"base.oneOf.2.results.items.[INDEX].value","typeLabel":"number"},"answers":{"type":"object","additionalProperties":{"oneOf":[{"type":"number","uniqueKey":"base.oneOf.2.results.items.[INDEX].answers.additionalProperties.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"base.oneOf.2.results.items.[INDEX].answers.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"base.oneOf.2.results.items.[INDEX].answers.additionalProperties","typeLabel":"number | null"},"uniqueKey":"base.oneOf.2.results.items.[INDEX].answers","typeLabel":"object"},"attributes":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","maxLength":200,"uniqueKey":"base.oneOf.2.results.items.[INDEX].attributes.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"base.oneOf.2.results.items.[INDEX].attributes.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"base.oneOf.2.results.items.[INDEX].attributes.additionalProperties.oneOf.2","typeLabel":"boolean"}],"uniqueKey":"base.oneOf.2.results.items.[INDEX].attributes.additionalProperties","typeLabel":"string | number | boolean"},"uniqueKey":"base.oneOf.2.results.items.[INDEX].attributes","typeLabel":"object"},"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"base.oneOf.2.results.items.[INDEX].error.code","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"base.oneOf.2.results.items.[INDEX].error.retryable","typeLabel":"boolean"},"message":{"type":"string","uniqueKey":"base.oneOf.2.results.items.[INDEX].error.message","typeLabel":"string"}},"required":["code","retryable"],"additionalProperties":false,"description":"A failed result's error, as evaluate gave it: a retryable one is left out, not judged.","uniqueKey":"base.oneOf.2.results.items.[INDEX].error","typeLabel":"object"}},"required":["item_id","status"],"additionalProperties":false,"description":"One result, as an evaluate run returns it, with its label.","uniqueKey":"base.oneOf.2.results.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":10000,"isRequired":true,"uniqueKey":"base.oneOf.2.results","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"base.oneOf.2","typeLabel":"object"}],"uniqueKey":"base","typeLabel":"object"},"cases":{"type":"object","properties":{"filter":{"type":"object","properties":{"kind":{"type":"string","enum":["all","wrong","right","failed","severe","changed","cell","question","near_cut","missing_criterion"],"description":"Which rows: `all`, `wrong`, `right`, `failed`, `severe`, `changed` (base and candidate differ), `cell` (`expected` and `got`), `question` (a suspect question), `near_cut` (`at`), `missing_criterion`. The last three read the candidate's attributed mistakes.","isRequired":true,"uniqueKey":"cases.filter.kind","typeLabel":"enum\u003cstring>"},"expected":{"type":"string","minLength":1,"maxLength":200,"description":"An outcome name, or the exact enum label when a string attribute is the result.","uniqueKey":"cases.filter.expected","typeLabel":"string"},"got":{"oneOf":[{"type":"string","description":"An outcome name, or the exact enum label when a string attribute is the result.","maxLength":200,"minLength":1,"uniqueKey":"cases.filter.got.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"cases.filter.got.oneOf.1","typeLabel":"null"}],"uniqueKey":"cases.filter.got","typeLabel":"string | null"},"question":{"type":"string","uniqueKey":"cases.filter.question","typeLabel":"string"},"at":{"type":"number","uniqueKey":"cases.filter.at","typeLabel":"number"}},"required":["kind"],"additionalProperties":false,"description":"Default: `wrong`.","uniqueKey":"cases.filter","typeLabel":"object"},"limit":{"type":"integer","minimum":1,"maximum":200,"description":"Rows per page. Default 50.","uniqueKey":"cases.limit","typeLabel":"integer"},"cursor":{"type":"string","description":"`next_cursor` from the previous page.","uniqueKey":"cases.cursor","typeLabel":"string"}},"additionalProperties":false,"description":"Page through each item's loss. Without it the report has no rows.","uniqueKey":"cases","typeLabel":"object"}},"required":["candidate"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"candidate":{"run_ids":["\u003cstring>"]},"base":{"run_ids":["\u003cstring>"]},"cases":{"limit":100,"cursor":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"09802efc-077b-4c1f-99cc-e5ad38bedfe5":{"description":"The loss report","content":{"application/json":{"schema":{"type":"object","properties":{"objective":{"type":"object","properties":{"source":{"type":"string","enum":["stored","balanced"],"description":"`stored`: the decision's stored objective. `balanced`: none is set, so each outcome's mistakes weigh the same in total.","isRequired":true,"uniqueKey":"objective.source","typeLabel":"enum\u003cstring>"},"revision":{"oneOf":[{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"objective.revision.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":1,"isRequired":true,"uniqueKey":"objective.revision.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"objective.revision","typeLabel":"integer | null"},"objective_hash":{"oneOf":[{"type":"string","description":"The stored objective as written (null when balanced).","isRequired":true,"uniqueKey":"objective.objective_hash.oneOf.0","typeLabel":"string"},{"type":"null","description":"The stored objective as written (null when balanced).","isRequired":true,"uniqueKey":"objective.objective_hash.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"objective.objective_hash","typeLabel":"string | null"},"effective_hash":{"type":"string","description":"The hash of the severities and target scored by (each run weighs outcomes by its own cases). Never compare reports under different ones.","isRequired":true,"uniqueKey":"objective.effective_hash","typeLabel":"string"},"unknown_outcomes":{"type":"array","items":{"type":"string","uniqueKey":"objective.unknown_outcomes.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"objective.unknown_outcomes","typeLabel":"string[]"}},"required":["source","revision","objective_hash","effective_hash","unknown_outcomes"],"additionalProperties":true,"description":"What this run scored with.","x-moonbounce-sdk-known-fields":true,"isRequired":true,"uniqueKey":"objective","typeLabel":"object"},"base":{"oneOf":[{"type":"object","description":"The base's report; null when there is no base.","required":["n","loss","loss_per_case","target_met","macro_f1","outcomes","by_mistake","by_mistake_total","by_question","missing_criterion","failed","near_cuts","severe","cases","cases_total","attributed"],"x-moonbounce-sdk-known-fields":true,"properties":{"n":{"type":"integer","minimum":0,"description":"Cases scored.","isRequired":true,"uniqueKey":"base.oneOf.0.n","typeLabel":"integer"},"loss":{"type":"number","minimum":0,"description":"Total loss of the mistakes.","isRequired":true,"uniqueKey":"base.oneOf.0.loss","typeLabel":"number"},"loss_per_case":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"base.oneOf.0.loss_per_case","typeLabel":"number"},"target_met":{"oneOf":[{"type":"boolean","description":"Whether loss per case is at or below the objective's target; null without one.","isRequired":true,"uniqueKey":"base.oneOf.0.target_met.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Whether loss per case is at or below the objective's target; null without one.","isRequired":true,"uniqueKey":"base.oneOf.0.target_met.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"base.oneOf.0.target_met","typeLabel":"boolean | null"},"macro_f1":{"oneOf":[{"type":"number","minimum":0,"maximum":1,"description":"Mean F1 over the outcomes expected or given: the headline. Not the loss.","isRequired":true,"uniqueKey":"base.oneOf.0.macro_f1.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":1,"description":"Mean F1 over the outcomes expected or given: the headline. Not the loss.","isRequired":true,"uniqueKey":"base.oneOf.0.macro_f1.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"base.oneOf.0.macro_f1","typeLabel":"number | null"},"outcomes":{"type":"array","items":{"type":"object","properties":{"outcome":{"type":"string","minLength":1,"maxLength":200,"description":"An outcome name, or the exact enum label when a string attribute is the result.","isRequired":true,"uniqueKey":"base.oneOf.0.outcomes.items.[INDEX].outcome","typeLabel":"string"},"expected":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"base.oneOf.0.outcomes.items.[INDEX].expected","typeLabel":"integer"},"given":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"base.oneOf.0.outcomes.items.[INDEX].given","typeLabel":"integer"},"precision":{"oneOf":[{"type":"number","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"base.oneOf.0.outcomes.items.[INDEX].precision.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"base.oneOf.0.outcomes.items.[INDEX].precision.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"base.oneOf.0.outcomes.items.[INDEX].precision","typeLabel":"number | null"},"recall":{"oneOf":[{"type":"number","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"base.oneOf.0.outcomes.items.[INDEX].recall.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"base.oneOf.0.outcomes.items.[INDEX].recall.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"base.oneOf.0.outcomes.items.[INDEX].recall","typeLabel":"number | null"},"f1":{"oneOf":[{"type":"number","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"base.oneOf.0.outcomes.items.[INDEX].f1.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"base.oneOf.0.outcomes.items.[INDEX].f1.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"base.oneOf.0.outcomes.items.[INDEX].f1","typeLabel":"number | null"}},"required":["outcome","expected","given","precision","recall","f1"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"uniqueKey":"base.oneOf.0.outcomes.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"base.oneOf.0.outcomes","typeLabel":"object[]"},"by_mistake":{"type":"array","items":{"type":"object","properties":{"expected":{"type":"string","minLength":1,"maxLength":200,"description":"An outcome name, or the exact enum label when a string attribute is the result.","isRequired":true,"uniqueKey":"base.oneOf.0.by_mistake.items.[INDEX].expected","typeLabel":"string"},"got":{"oneOf":[{"type":"string","description":"An outcome name, or the exact enum label when a string attribute is the result.","maxLength":200,"minLength":1,"isRequired":true,"uniqueKey":"base.oneOf.0.by_mistake.items.[INDEX].got.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"base.oneOf.0.by_mistake.items.[INDEX].got.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"base.oneOf.0.by_mistake.items.[INDEX].got","typeLabel":"string | null"},"n":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"base.oneOf.0.by_mistake.items.[INDEX].n","typeLabel":"integer"},"loss":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"base.oneOf.0.by_mistake.items.[INDEX].loss","typeLabel":"number"},"examples":{"type":"array","items":{"type":"string","uniqueKey":"base.oneOf.0.by_mistake.items.[INDEX].examples.items.[INDEX]","typeLabel":"string"},"description":"A few of its cases, worst first, by the id each case carries.","isRequired":true,"uniqueKey":"base.oneOf.0.by_mistake.items.[INDEX].examples","typeLabel":"string[]"}},"required":["expected","got","n","loss","examples"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"uniqueKey":"base.oneOf.0.by_mistake.items.[INDEX]","typeLabel":"object"},"description":"Loss by mistake cell, worst first: the loss-weighted confusion matrix. A response lists the worst 50.","isRequired":true,"uniqueKey":"base.oneOf.0.by_mistake","typeLabel":"object[]"},"by_mistake_total":{"type":"integer","minimum":0,"description":"How many mistake cells there are.","isRequired":true,"uniqueKey":"base.oneOf.0.by_mistake_total","typeLabel":"integer"},"by_question":{"type":"array","items":{"type":"object","properties":{"question":{"type":"string","isRequired":true,"uniqueKey":"base.oneOf.0.by_question.items.[INDEX].question","typeLabel":"string"},"loss":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"base.oneOf.0.by_question.items.[INDEX].loss","typeLabel":"number"},"share":{"type":"number","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"base.oneOf.0.by_question.items.[INDEX].share","typeLabel":"number"},"examples":{"type":"array","items":{"type":"string","uniqueKey":"base.oneOf.0.by_question.items.[INDEX].examples.items.[INDEX]","typeLabel":"string"},"description":"A few of its cases, worst first, by the id each case carries.","isRequired":true,"uniqueKey":"base.oneOf.0.by_question.items.[INDEX].examples","typeLabel":"string[]"}},"required":["question","loss","share","examples"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"uniqueKey":"base.oneOf.0.by_question.items.[INDEX]","typeLabel":"object"},"description":"Loss by suspect question, worst first: each wrong case's loss spread over the questions a reviewer corrected, else those whose flip alone fixes it. A large share points at rewriting that question.","isRequired":true,"uniqueKey":"base.oneOf.0.by_question","typeLabel":"object[]"},"missing_criterion":{"type":"object","properties":{"n":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"base.oneOf.0.missing_criterion.n","typeLabel":"integer"},"loss":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"base.oneOf.0.missing_criterion.loss","typeLabel":"number"},"examples":{"type":"array","items":{"type":"string","uniqueKey":"base.oneOf.0.missing_criterion.examples.items.[INDEX]","typeLabel":"string"},"description":"A few of its cases, worst first, by the id each case carries.","isRequired":true,"uniqueKey":"base.oneOf.0.missing_criterion.examples","typeLabel":"string[]"}},"required":["n","loss","examples"],"additionalProperties":true,"description":"Wrong cases with no suspect: no reviewer correction, and no single unconfirmed answer whose flip fixes it. A criterion the structure lacks; clustered on one theme, it points at adding a question.","x-moonbounce-sdk-known-fields":true,"isRequired":true,"uniqueKey":"base.oneOf.0.missing_criterion","typeLabel":"object"},"failed":{"type":"object","properties":{"n":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"base.oneOf.0.failed.n","typeLabel":"integer"},"loss":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"base.oneOf.0.failed.loss","typeLabel":"number"}},"required":["n","loss"],"additionalProperties":true,"description":"Cases the version failed permanently, counted as its dearest mistake: an input or engine problem.","x-moonbounce-sdk-known-fields":true,"isRequired":true,"uniqueKey":"base.oneOf.0.failed","typeLabel":"object"},"near_cuts":{"type":"array","items":{"type":"object","properties":{"aggregation":{"type":"string","isRequired":true,"uniqueKey":"base.oneOf.0.near_cuts.items.[INDEX].aggregation","typeLabel":"string"},"at":{"type":"number","isRequired":true,"uniqueKey":"base.oneOf.0.near_cuts.items.[INDEX].at","typeLabel":"number"},"lower_it":{"type":"object","properties":{"n":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"base.oneOf.0.near_cuts.items.[INDEX].lower_it.n","typeLabel":"integer"},"loss":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"base.oneOf.0.near_cuts.items.[INDEX].lower_it.loss","typeLabel":"number"}},"required":["n","loss"],"additionalProperties":true,"description":"Wrong cases just below the cut that belong in the band above it.","x-moonbounce-sdk-known-fields":true,"isRequired":true,"uniqueKey":"base.oneOf.0.near_cuts.items.[INDEX].lower_it","typeLabel":"object"},"raise_it":{"type":"object","properties":{"n":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"base.oneOf.0.near_cuts.items.[INDEX].raise_it.n","typeLabel":"integer"},"loss":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"base.oneOf.0.near_cuts.items.[INDEX].raise_it.loss","typeLabel":"number"}},"required":["n","loss"],"additionalProperties":true,"description":"Wrong cases just above the cut that belong in the band below it.","x-moonbounce-sdk-known-fields":true,"isRequired":true,"uniqueKey":"base.oneOf.0.near_cuts.items.[INDEX].raise_it","typeLabel":"object"},"examples":{"type":"array","items":{"type":"string","uniqueKey":"base.oneOf.0.near_cuts.items.[INDEX].examples.items.[INDEX]","typeLabel":"string"},"description":"A few of its cases, worst first, by the id each case carries.","isRequired":true,"uniqueKey":"base.oneOf.0.near_cuts.items.[INDEX].examples","typeLabel":"string[]"}},"required":["aggregation","at","lower_it","raise_it","examples"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"uniqueKey":"base.oneOf.0.near_cuts.items.[INDEX]","typeLabel":"object"},"description":"Wrong cases within 0.1 of a cut of the result's bands whose expected band is the adjacent one, by the direction that would fix them.","isRequired":true,"uniqueKey":"base.oneOf.0.near_cuts","typeLabel":"object[]"},"severe":{"type":"object","properties":{"n":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"base.oneOf.0.severe.n","typeLabel":"integer"},"human":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"base.oneOf.0.severe.human","typeLabel":"integer"}},"required":["n","human"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"isRequired":true,"uniqueKey":"base.oneOf.0.severe","typeLabel":"object"},"cases":{"type":"array","items":{"type":"object","properties":{"expected":{"type":"string","minLength":1,"maxLength":200,"description":"An outcome name, or the exact enum label when a string attribute is the result.","isRequired":true,"uniqueKey":"base.oneOf.0.cases.items.[INDEX].expected","typeLabel":"string"},"got":{"oneOf":[{"type":"string","minLength":1,"maxLength":200,"description":"The outcome given; null when there is none: a permanent failure (`failed`), or an abstention whose result names no abstain outcome.","isRequired":true,"uniqueKey":"base.oneOf.0.cases.items.[INDEX].got.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"maxLength":200,"description":"The outcome given; null when there is none: a permanent failure (`failed`), or an abstention whose result names no abstain outcome.","isRequired":true,"uniqueKey":"base.oneOf.0.cases.items.[INDEX].got.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"base.oneOf.0.cases.items.[INDEX].got","typeLabel":"string | null"},"failed":{"type":"boolean","description":"The version failed this case permanently: an input or engine problem, not a missing criterion.","isRequired":true,"uniqueKey":"base.oneOf.0.cases.items.[INDEX].failed","typeLabel":"boolean"},"loss":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"base.oneOf.0.cases.items.[INDEX].loss","typeLabel":"number"},"severe":{"type":"boolean","description":"The objective's severity for this mistake, before weighting by outcome, is at least `severe` (10). Always false without a stored objective.","isRequired":true,"uniqueKey":"base.oneOf.0.cases.items.[INDEX].severe","typeLabel":"boolean"},"human":{"type":"boolean","description":"Labeled by a person, so it counts toward the no-new-severe-mistake rule.","isRequired":true,"uniqueKey":"base.oneOf.0.cases.items.[INDEX].human","typeLabel":"boolean"},"margin":{"oneOf":[{"type":"object","description":"For a bands result: the boundary of the nearest band holding the expected outcome, and how far the value is from it. Null otherwise.","required":["value","cut","distance","adjacent"],"x-moonbounce-sdk-known-fields":true,"properties":{"value":{"type":"number","isRequired":true,"uniqueKey":"base.oneOf.0.cases.items.[INDEX].margin.oneOf.0.value","typeLabel":"number"},"cut":{"type":"number","description":"The cut to cross to reach the expected outcome's band.","isRequired":true,"uniqueKey":"base.oneOf.0.cases.items.[INDEX].margin.oneOf.0.cut","typeLabel":"number"},"distance":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"base.oneOf.0.cases.items.[INDEX].margin.oneOf.0.distance","typeLabel":"number"},"adjacent":{"type":"boolean","description":"The expected band is next to the value's, so moving this one cut alone fixes it.","isRequired":true,"uniqueKey":"base.oneOf.0.cases.items.[INDEX].margin.oneOf.0.adjacent","typeLabel":"boolean"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"base.oneOf.0.cases.items.[INDEX].margin.oneOf.0","typeLabel":"object"},{"type":"null","description":"For a bands result: the boundary of the nearest band holding the expected outcome, and how far the value is from it. Null otherwise.","isRequired":true,"uniqueKey":"base.oneOf.0.cases.items.[INDEX].margin.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"base.oneOf.0.cases.items.[INDEX].margin","typeLabel":"object | null"},"attributed":{"type":"boolean","description":"Its fixing flips and suspects were worked out: one of the worst mistakes (see `attributed` on the report).","isRequired":true,"uniqueKey":"base.oneOf.0.cases.items.[INDEX].attributed","typeLabel":"boolean"},"fixing_flips":{"type":"array","items":{"type":"string","uniqueKey":"base.oneOf.0.cases.items.[INDEX].fixing_flips.items.[INDEX]","typeLabel":"string"},"description":"Questions whose opposite answer (0 or 1) alone gives the expected outcome. Empty: a missing criterion.","isRequired":true,"uniqueKey":"base.oneOf.0.cases.items.[INDEX].fixing_flips","typeLabel":"string[]"},"flips_total":{"type":"integer","minimum":0,"description":"How many fixing flips there are; a response lists at most 10.","isRequired":true,"uniqueKey":"base.oneOf.0.cases.items.[INDEX].flips_total","typeLabel":"integer"},"answer_conflicts":{"type":"array","items":{"type":"string","uniqueKey":"base.oneOf.0.cases.items.[INDEX].answer_conflicts.items.[INDEX]","typeLabel":"string"},"description":"Questions whose answer disagrees with a reviewer's `expected_answer` for this case.","isRequired":true,"uniqueKey":"base.oneOf.0.cases.items.[INDEX].answer_conflicts","typeLabel":"string[]"},"suspects":{"type":"array","items":{"type":"string","uniqueKey":"base.oneOf.0.cases.items.[INDEX].suspects.items.[INDEX]","typeLabel":"string"},"description":"The questions blamed, as `by_question` counts them: the conflicts, else the fixing flips no reviewer confirmed. Empty on an attributed mistake: a missing criterion.","isRequired":true,"uniqueKey":"base.oneOf.0.cases.items.[INDEX].suspects","typeLabel":"string[]"},"answers":{"type":"object","additionalProperties":{"oneOf":[{"type":"number","uniqueKey":"base.oneOf.0.cases.items.[INDEX].answers.additionalProperties.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"base.oneOf.0.cases.items.[INDEX].answers.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"base.oneOf.0.cases.items.[INDEX].answers.additionalProperties","typeLabel":"number | null"},"description":"The answers of its fixing flips and conflicting questions (a stored run keeps every answer).","isRequired":true,"uniqueKey":"base.oneOf.0.cases.items.[INDEX].answers","typeLabel":"object"},"evaluation_id":{"type":"string","pattern":"^evl_[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","description":"A stored case's evaluation; absent for a dataset item.","uniqueKey":"base.oneOf.0.cases.items.[INDEX].evaluation_id","typeLabel":"string"},"item_id":{"type":"string","description":"A dataset item's id, as an evaluate run was given it; absent for a stored case.","uniqueKey":"base.oneOf.0.cases.items.[INDEX].item_id","typeLabel":"string"}},"required":["expected","got","failed","loss","severe","human","margin","attributed","fixing_flips","flips_total","answer_conflicts","suspects","answers"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"uniqueKey":"base.oneOf.0.cases.items.[INDEX]","typeLabel":"object"},"description":"The worst mistakes, at most 25, with the answers behind them. The roll-ups cover every case.","isRequired":true,"uniqueKey":"base.oneOf.0.cases","typeLabel":"object[]"},"cases_total":{"type":"integer","minimum":0,"description":"How many mistakes there are; `cases` lists the worst.","isRequired":true,"uniqueKey":"base.oneOf.0.cases_total","typeLabel":"integer"},"attributed":{"type":"integer","minimum":0,"description":"How many mistakes, worst first and permanent failures aside, `by_question`, `missing_criterion` and `fixing_flips` cover (at most 100). The other roll-ups cover every case.","isRequired":true,"uniqueKey":"base.oneOf.0.attributed","typeLabel":"integer"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"base.oneOf.0","typeLabel":"object"},{"type":"null","description":"The base's report; null when there is no base.","isRequired":true,"uniqueKey":"base.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"base","typeLabel":"object | null"},"candidate":{"type":"object","properties":{"n":{"type":"integer","minimum":0,"description":"Cases scored.","isRequired":true,"uniqueKey":"candidate.n","typeLabel":"integer"},"loss":{"type":"number","minimum":0,"description":"Total loss of the mistakes.","isRequired":true,"uniqueKey":"candidate.loss","typeLabel":"number"},"loss_per_case":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"candidate.loss_per_case","typeLabel":"number"},"target_met":{"oneOf":[{"type":"boolean","description":"Whether loss per case is at or below the objective's target; null without one.","isRequired":true,"uniqueKey":"candidate.target_met.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Whether loss per case is at or below the objective's target; null without one.","isRequired":true,"uniqueKey":"candidate.target_met.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"candidate.target_met","typeLabel":"boolean | null"},"macro_f1":{"oneOf":[{"type":"number","minimum":0,"maximum":1,"description":"Mean F1 over the outcomes expected or given: the headline. Not the loss.","isRequired":true,"uniqueKey":"candidate.macro_f1.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":1,"description":"Mean F1 over the outcomes expected or given: the headline. Not the loss.","isRequired":true,"uniqueKey":"candidate.macro_f1.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"candidate.macro_f1","typeLabel":"number | null"},"outcomes":{"type":"array","items":{"type":"object","properties":{"outcome":{"type":"string","minLength":1,"maxLength":200,"description":"An outcome name, or the exact enum label when a string attribute is the result.","isRequired":true,"uniqueKey":"candidate.outcomes.items.[INDEX].outcome","typeLabel":"string"},"expected":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"candidate.outcomes.items.[INDEX].expected","typeLabel":"integer"},"given":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"candidate.outcomes.items.[INDEX].given","typeLabel":"integer"},"precision":{"oneOf":[{"type":"number","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"candidate.outcomes.items.[INDEX].precision.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"candidate.outcomes.items.[INDEX].precision.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"candidate.outcomes.items.[INDEX].precision","typeLabel":"number | null"},"recall":{"oneOf":[{"type":"number","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"candidate.outcomes.items.[INDEX].recall.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"candidate.outcomes.items.[INDEX].recall.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"candidate.outcomes.items.[INDEX].recall","typeLabel":"number | null"},"f1":{"oneOf":[{"type":"number","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"candidate.outcomes.items.[INDEX].f1.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"candidate.outcomes.items.[INDEX].f1.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"candidate.outcomes.items.[INDEX].f1","typeLabel":"number | null"}},"required":["outcome","expected","given","precision","recall","f1"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"uniqueKey":"candidate.outcomes.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"candidate.outcomes","typeLabel":"object[]"},"by_mistake":{"type":"array","items":{"type":"object","properties":{"expected":{"type":"string","minLength":1,"maxLength":200,"description":"An outcome name, or the exact enum label when a string attribute is the result.","isRequired":true,"uniqueKey":"candidate.by_mistake.items.[INDEX].expected","typeLabel":"string"},"got":{"oneOf":[{"type":"string","description":"An outcome name, or the exact enum label when a string attribute is the result.","maxLength":200,"minLength":1,"isRequired":true,"uniqueKey":"candidate.by_mistake.items.[INDEX].got.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"candidate.by_mistake.items.[INDEX].got.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"candidate.by_mistake.items.[INDEX].got","typeLabel":"string | null"},"n":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"candidate.by_mistake.items.[INDEX].n","typeLabel":"integer"},"loss":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"candidate.by_mistake.items.[INDEX].loss","typeLabel":"number"},"examples":{"type":"array","items":{"type":"string","uniqueKey":"candidate.by_mistake.items.[INDEX].examples.items.[INDEX]","typeLabel":"string"},"description":"A few of its cases, worst first, by the id each case carries.","isRequired":true,"uniqueKey":"candidate.by_mistake.items.[INDEX].examples","typeLabel":"string[]"}},"required":["expected","got","n","loss","examples"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"uniqueKey":"candidate.by_mistake.items.[INDEX]","typeLabel":"object"},"description":"Loss by mistake cell, worst first: the loss-weighted confusion matrix. A response lists the worst 50.","isRequired":true,"uniqueKey":"candidate.by_mistake","typeLabel":"object[]"},"by_mistake_total":{"type":"integer","minimum":0,"description":"How many mistake cells there are.","isRequired":true,"uniqueKey":"candidate.by_mistake_total","typeLabel":"integer"},"by_question":{"type":"array","items":{"type":"object","properties":{"question":{"type":"string","isRequired":true,"uniqueKey":"candidate.by_question.items.[INDEX].question","typeLabel":"string"},"loss":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"candidate.by_question.items.[INDEX].loss","typeLabel":"number"},"share":{"type":"number","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"candidate.by_question.items.[INDEX].share","typeLabel":"number"},"examples":{"type":"array","items":{"type":"string","uniqueKey":"candidate.by_question.items.[INDEX].examples.items.[INDEX]","typeLabel":"string"},"description":"A few of its cases, worst first, by the id each case carries.","isRequired":true,"uniqueKey":"candidate.by_question.items.[INDEX].examples","typeLabel":"string[]"}},"required":["question","loss","share","examples"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"uniqueKey":"candidate.by_question.items.[INDEX]","typeLabel":"object"},"description":"Loss by suspect question, worst first: each wrong case's loss spread over the questions a reviewer corrected, else those whose flip alone fixes it. A large share points at rewriting that question.","isRequired":true,"uniqueKey":"candidate.by_question","typeLabel":"object[]"},"missing_criterion":{"type":"object","properties":{"n":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"candidate.missing_criterion.n","typeLabel":"integer"},"loss":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"candidate.missing_criterion.loss","typeLabel":"number"},"examples":{"type":"array","items":{"type":"string","uniqueKey":"candidate.missing_criterion.examples.items.[INDEX]","typeLabel":"string"},"description":"A few of its cases, worst first, by the id each case carries.","isRequired":true,"uniqueKey":"candidate.missing_criterion.examples","typeLabel":"string[]"}},"required":["n","loss","examples"],"additionalProperties":true,"description":"Wrong cases with no suspect: no reviewer correction, and no single unconfirmed answer whose flip fixes it. A criterion the structure lacks; clustered on one theme, it points at adding a question.","x-moonbounce-sdk-known-fields":true,"isRequired":true,"uniqueKey":"candidate.missing_criterion","typeLabel":"object"},"failed":{"type":"object","properties":{"n":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"candidate.failed.n","typeLabel":"integer"},"loss":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"candidate.failed.loss","typeLabel":"number"}},"required":["n","loss"],"additionalProperties":true,"description":"Cases the version failed permanently, counted as its dearest mistake: an input or engine problem.","x-moonbounce-sdk-known-fields":true,"isRequired":true,"uniqueKey":"candidate.failed","typeLabel":"object"},"near_cuts":{"type":"array","items":{"type":"object","properties":{"aggregation":{"type":"string","isRequired":true,"uniqueKey":"candidate.near_cuts.items.[INDEX].aggregation","typeLabel":"string"},"at":{"type":"number","isRequired":true,"uniqueKey":"candidate.near_cuts.items.[INDEX].at","typeLabel":"number"},"lower_it":{"type":"object","properties":{"n":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"candidate.near_cuts.items.[INDEX].lower_it.n","typeLabel":"integer"},"loss":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"candidate.near_cuts.items.[INDEX].lower_it.loss","typeLabel":"number"}},"required":["n","loss"],"additionalProperties":true,"description":"Wrong cases just below the cut that belong in the band above it.","x-moonbounce-sdk-known-fields":true,"isRequired":true,"uniqueKey":"candidate.near_cuts.items.[INDEX].lower_it","typeLabel":"object"},"raise_it":{"type":"object","properties":{"n":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"candidate.near_cuts.items.[INDEX].raise_it.n","typeLabel":"integer"},"loss":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"candidate.near_cuts.items.[INDEX].raise_it.loss","typeLabel":"number"}},"required":["n","loss"],"additionalProperties":true,"description":"Wrong cases just above the cut that belong in the band below it.","x-moonbounce-sdk-known-fields":true,"isRequired":true,"uniqueKey":"candidate.near_cuts.items.[INDEX].raise_it","typeLabel":"object"},"examples":{"type":"array","items":{"type":"string","uniqueKey":"candidate.near_cuts.items.[INDEX].examples.items.[INDEX]","typeLabel":"string"},"description":"A few of its cases, worst first, by the id each case carries.","isRequired":true,"uniqueKey":"candidate.near_cuts.items.[INDEX].examples","typeLabel":"string[]"}},"required":["aggregation","at","lower_it","raise_it","examples"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"uniqueKey":"candidate.near_cuts.items.[INDEX]","typeLabel":"object"},"description":"Wrong cases within 0.1 of a cut of the result's bands whose expected band is the adjacent one, by the direction that would fix them.","isRequired":true,"uniqueKey":"candidate.near_cuts","typeLabel":"object[]"},"severe":{"type":"object","properties":{"n":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"candidate.severe.n","typeLabel":"integer"},"human":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"candidate.severe.human","typeLabel":"integer"}},"required":["n","human"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"isRequired":true,"uniqueKey":"candidate.severe","typeLabel":"object"},"cases":{"type":"array","items":{"type":"object","properties":{"expected":{"type":"string","minLength":1,"maxLength":200,"description":"An outcome name, or the exact enum label when a string attribute is the result.","isRequired":true,"uniqueKey":"candidate.cases.items.[INDEX].expected","typeLabel":"string"},"got":{"oneOf":[{"type":"string","minLength":1,"maxLength":200,"description":"The outcome given; null when there is none: a permanent failure (`failed`), or an abstention whose result names no abstain outcome.","isRequired":true,"uniqueKey":"candidate.cases.items.[INDEX].got.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"maxLength":200,"description":"The outcome given; null when there is none: a permanent failure (`failed`), or an abstention whose result names no abstain outcome.","isRequired":true,"uniqueKey":"candidate.cases.items.[INDEX].got.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"candidate.cases.items.[INDEX].got","typeLabel":"string | null"},"failed":{"type":"boolean","description":"The version failed this case permanently: an input or engine problem, not a missing criterion.","isRequired":true,"uniqueKey":"candidate.cases.items.[INDEX].failed","typeLabel":"boolean"},"loss":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"candidate.cases.items.[INDEX].loss","typeLabel":"number"},"severe":{"type":"boolean","description":"The objective's severity for this mistake, before weighting by outcome, is at least `severe` (10). Always false without a stored objective.","isRequired":true,"uniqueKey":"candidate.cases.items.[INDEX].severe","typeLabel":"boolean"},"human":{"type":"boolean","description":"Labeled by a person, so it counts toward the no-new-severe-mistake rule.","isRequired":true,"uniqueKey":"candidate.cases.items.[INDEX].human","typeLabel":"boolean"},"margin":{"oneOf":[{"type":"object","description":"For a bands result: the boundary of the nearest band holding the expected outcome, and how far the value is from it. Null otherwise.","required":["value","cut","distance","adjacent"],"x-moonbounce-sdk-known-fields":true,"properties":{"value":{"type":"number","isRequired":true,"uniqueKey":"candidate.cases.items.[INDEX].margin.oneOf.0.value","typeLabel":"number"},"cut":{"type":"number","description":"The cut to cross to reach the expected outcome's band.","isRequired":true,"uniqueKey":"candidate.cases.items.[INDEX].margin.oneOf.0.cut","typeLabel":"number"},"distance":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"candidate.cases.items.[INDEX].margin.oneOf.0.distance","typeLabel":"number"},"adjacent":{"type":"boolean","description":"The expected band is next to the value's, so moving this one cut alone fixes it.","isRequired":true,"uniqueKey":"candidate.cases.items.[INDEX].margin.oneOf.0.adjacent","typeLabel":"boolean"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"candidate.cases.items.[INDEX].margin.oneOf.0","typeLabel":"object"},{"type":"null","description":"For a bands result: the boundary of the nearest band holding the expected outcome, and how far the value is from it. Null otherwise.","isRequired":true,"uniqueKey":"candidate.cases.items.[INDEX].margin.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"candidate.cases.items.[INDEX].margin","typeLabel":"object | null"},"attributed":{"type":"boolean","description":"Its fixing flips and suspects were worked out: one of the worst mistakes (see `attributed` on the report).","isRequired":true,"uniqueKey":"candidate.cases.items.[INDEX].attributed","typeLabel":"boolean"},"fixing_flips":{"type":"array","items":{"type":"string","uniqueKey":"candidate.cases.items.[INDEX].fixing_flips.items.[INDEX]","typeLabel":"string"},"description":"Questions whose opposite answer (0 or 1) alone gives the expected outcome. Empty: a missing criterion.","isRequired":true,"uniqueKey":"candidate.cases.items.[INDEX].fixing_flips","typeLabel":"string[]"},"flips_total":{"type":"integer","minimum":0,"description":"How many fixing flips there are; a response lists at most 10.","isRequired":true,"uniqueKey":"candidate.cases.items.[INDEX].flips_total","typeLabel":"integer"},"answer_conflicts":{"type":"array","items":{"type":"string","uniqueKey":"candidate.cases.items.[INDEX].answer_conflicts.items.[INDEX]","typeLabel":"string"},"description":"Questions whose answer disagrees with a reviewer's `expected_answer` for this case.","isRequired":true,"uniqueKey":"candidate.cases.items.[INDEX].answer_conflicts","typeLabel":"string[]"},"suspects":{"type":"array","items":{"type":"string","uniqueKey":"candidate.cases.items.[INDEX].suspects.items.[INDEX]","typeLabel":"string"},"description":"The questions blamed, as `by_question` counts them: the conflicts, else the fixing flips no reviewer confirmed. Empty on an attributed mistake: a missing criterion.","isRequired":true,"uniqueKey":"candidate.cases.items.[INDEX].suspects","typeLabel":"string[]"},"answers":{"type":"object","additionalProperties":{"oneOf":[{"type":"number","uniqueKey":"candidate.cases.items.[INDEX].answers.additionalProperties.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"candidate.cases.items.[INDEX].answers.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"candidate.cases.items.[INDEX].answers.additionalProperties","typeLabel":"number | null"},"description":"The answers of its fixing flips and conflicting questions (a stored run keeps every answer).","isRequired":true,"uniqueKey":"candidate.cases.items.[INDEX].answers","typeLabel":"object"},"evaluation_id":{"type":"string","pattern":"^evl_[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","description":"A stored case's evaluation; absent for a dataset item.","uniqueKey":"candidate.cases.items.[INDEX].evaluation_id","typeLabel":"string"},"item_id":{"type":"string","description":"A dataset item's id, as an evaluate run was given it; absent for a stored case.","uniqueKey":"candidate.cases.items.[INDEX].item_id","typeLabel":"string"}},"required":["expected","got","failed","loss","severe","human","margin","attributed","fixing_flips","flips_total","answer_conflicts","suspects","answers"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"uniqueKey":"candidate.cases.items.[INDEX]","typeLabel":"object"},"description":"The worst mistakes, at most 25, with the answers behind them. The roll-ups cover every case.","isRequired":true,"uniqueKey":"candidate.cases","typeLabel":"object[]"},"cases_total":{"type":"integer","minimum":0,"description":"How many mistakes there are; `cases` lists the worst.","isRequired":true,"uniqueKey":"candidate.cases_total","typeLabel":"integer"},"attributed":{"type":"integer","minimum":0,"description":"How many mistakes, worst first and permanent failures aside, `by_question`, `missing_criterion` and `fixing_flips` cover (at most 100). The other roll-ups cover every case.","isRequired":true,"uniqueKey":"candidate.attributed","typeLabel":"integer"}},"required":["n","loss","loss_per_case","target_met","macro_f1","outcomes","by_mistake","by_mistake_total","by_question","missing_criterion","failed","near_cuts","severe","cases","cases_total","attributed"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"isRequired":true,"uniqueKey":"candidate","typeLabel":"object"},"accepted":{"type":"boolean","description":"The candidate lowers loss per case and adds no new severe mistake on a human-labeled case. False without a base.","isRequired":true,"uniqueKey":"accepted","typeLabel":"boolean"},"reasons":{"type":"array","items":{"type":"string","uniqueKey":"reasons.items.[INDEX]","typeLabel":"string"},"description":"Why it is not accepted; empty when it is.","isRequired":true,"uniqueKey":"reasons","typeLabel":"string[]"},"new_severe_human":{"type":"array","items":{"type":"string","uniqueKey":"new_severe_human.items.[INDEX]","typeLabel":"string"},"description":"Human-labeled cases the candidate gets severely wrong that the base did not.","isRequired":true,"uniqueKey":"new_severe_human","typeLabel":"string[]"},"environment":{"type":"string","enum":["production","test"],"description":"The environment of the key that made the call: `production` or `test`. Evaluations, feedback, reviews and suggestions are separate per environment; registered structures are shared.","isRequired":true,"uniqueKey":"environment","typeLabel":"enum\u003cstring>"},"decision_id":{"type":"string","pattern":"^[a-z][a-z0-9_.-]{0,127}$","isRequired":true,"uniqueKey":"decision_id","typeLabel":"string"},"excluded":{"type":"object","properties":{"unlabeled":{"type":"integer","minimum":0,"description":"Candidate items without `expected`.","isRequired":true,"uniqueKey":"excluded.unlabeled","typeLabel":"integer"},"failed_transient":{"type":"integer","minimum":0,"description":"Items that failed on either side for a reason that may pass (an outage, not starting in time): not evidence either way.","isRequired":true,"uniqueKey":"excluded.failed_transient","typeLabel":"integer"},"base_only":{"type":"integer","minimum":0,"description":"Base items the candidate doesn't have.","isRequired":true,"uniqueKey":"excluded.base_only","typeLabel":"integer"},"outcome_not_in_result":{"type":"integer","minimum":0,"description":"Labeled items whose expected outcome neither version can produce.","isRequired":true,"uniqueKey":"excluded.outcome_not_in_result","typeLabel":"integer"},"no_base":{"type":"integer","minimum":0,"description":"Labeled items the base doesn't have, with a base given.","isRequired":true,"uniqueKey":"excluded.no_base","typeLabel":"integer"}},"required":["unlabeled","failed_transient","base_only","outcome_not_in_result","no_base"],"additionalProperties":true,"description":"Items left out of the report, by why.","x-moonbounce-sdk-known-fields":true,"isRequired":true,"uniqueKey":"excluded","typeLabel":"object"},"cases":{"type":"object","properties":{"filter":{"type":"object","properties":{"kind":{"type":"string","enum":["all","wrong","right","failed","severe","changed","cell","question","near_cut","missing_criterion"],"description":"Which rows: `all`, `wrong`, `right`, `failed`, `severe`, `changed` (base and candidate differ), `cell` (`expected` and `got`), `question` (a suspect question), `near_cut` (`at`), `missing_criterion`. The last three read the candidate's attributed mistakes.","isRequired":true,"uniqueKey":"cases.filter.kind","typeLabel":"enum\u003cstring>"},"expected":{"type":"string","minLength":1,"maxLength":200,"description":"An outcome name, or the exact enum label when a string attribute is the result.","uniqueKey":"cases.filter.expected","typeLabel":"string"},"got":{"oneOf":[{"type":"string","description":"An outcome name, or the exact enum label when a string attribute is the result.","maxLength":200,"minLength":1,"uniqueKey":"cases.filter.got.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"cases.filter.got.oneOf.1","typeLabel":"null"}],"uniqueKey":"cases.filter.got","typeLabel":"string | null"},"question":{"type":"string","uniqueKey":"cases.filter.question","typeLabel":"string"},"at":{"type":"number","uniqueKey":"cases.filter.at","typeLabel":"number"}},"required":["kind"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"isRequired":true,"uniqueKey":"cases.filter","typeLabel":"object"},"total":{"type":"integer","minimum":0,"description":"Rows matching the filter.","isRequired":true,"uniqueKey":"cases.total","typeLabel":"integer"},"rows":{"type":"array","items":{"type":"object","properties":{"item_id":{"type":"string","minLength":1,"maxLength":256,"isRequired":true,"uniqueKey":"cases.rows.items.[INDEX].item_id","typeLabel":"string"},"expected":{"type":"string","minLength":1,"maxLength":200,"description":"An outcome name, or the exact enum label when a string attribute is the result.","isRequired":true,"uniqueKey":"cases.rows.items.[INDEX].expected","typeLabel":"string"},"got":{"oneOf":[{"type":"string","description":"An outcome name, or the exact enum label when a string attribute is the result.","maxLength":200,"minLength":1,"isRequired":true,"uniqueKey":"cases.rows.items.[INDEX].got.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"cases.rows.items.[INDEX].got.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"cases.rows.items.[INDEX].got","typeLabel":"string | null"},"loss":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"cases.rows.items.[INDEX].loss","typeLabel":"number"},"severe":{"type":"boolean","isRequired":true,"uniqueKey":"cases.rows.items.[INDEX].severe","typeLabel":"boolean"},"base":{"type":"object","properties":{"got":{"oneOf":[{"type":"string","description":"An outcome name, or the exact enum label when a string attribute is the result.","maxLength":200,"minLength":1,"isRequired":true,"uniqueKey":"cases.rows.items.[INDEX].base.got.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"cases.rows.items.[INDEX].base.got.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"cases.rows.items.[INDEX].base.got","typeLabel":"string | null"},"loss":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"cases.rows.items.[INDEX].base.loss","typeLabel":"number"},"severe":{"type":"boolean","isRequired":true,"uniqueKey":"cases.rows.items.[INDEX].base.severe","typeLabel":"boolean"}},"required":["got","loss","severe"],"additionalProperties":true,"description":"The same item under the base, when there is one.","x-moonbounce-sdk-known-fields":true,"uniqueKey":"cases.rows.items.[INDEX].base","typeLabel":"object"}},"required":["item_id","expected","got","loss","severe"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"uniqueKey":"cases.rows.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"cases.rows","typeLabel":"object[]"},"next_cursor":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"cases.next_cursor.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"cases.next_cursor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"cases.next_cursor","typeLabel":"string | null"}},"required":["filter","total","rows","next_cursor"],"additionalProperties":true,"description":"With `cases` in the request: one page of rows.","x-moonbounce-sdk-known-fields":true,"uniqueKey":"cases","typeLabel":"object"}},"required":["objective","base","candidate","accepted","reasons","new_severe_human","environment","decision_id","excluded"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"objective":{"source":"stored","revision":2,"objective_hash":"\u003cstring>","effective_hash":"\u003cstring>","unknown_outcomes":["\u003cstring>"]},"base":{"n":1,"loss":1,"loss_per_case":1,"target_met":true,"macro_f1":0.5,"outcomes":[{"outcome":"\u003cstring>","expected":1,"given":1,"precision":0.5,"recall":0.5,"f1":0.5}],"by_mistake":[{"expected":"\u003cstring>","got":"\u003cstring>","n":2,"loss":1,"examples":["\u003cstring>"]}],"by_mistake_total":1,"by_question":[{"question":"\u003cstring>","loss":1,"share":0.5,"examples":["\u003cstring>"]}],"missing_criterion":{"n":1,"loss":1,"examples":["\u003cstring>"]},"failed":{"n":1,"loss":1},"near_cuts":[{"aggregation":"\u003cstring>","at":123,"lower_it":{"n":1,"loss":1},"raise_it":{"n":1,"loss":1},"examples":["\u003cstring>"]}],"severe":{"n":1,"human":1},"cases":[{"expected":"\u003cstring>","got":"\u003cstring>","failed":true,"loss":1,"severe":true,"human":true,"margin":{"value":123,"cut":123,"distance":1,"adjacent":true},"attributed":true,"fixing_flips":["\u003cstring>"],"flips_total":1,"answer_conflicts":["\u003cstring>"],"suspects":["\u003cstring>"],"answers":{},"evaluation_id":"\u003cstring>","item_id":"\u003cstring>"}],"cases_total":1,"attributed":1},"candidate":{"n":1,"loss":1,"loss_per_case":1,"target_met":true,"macro_f1":0.5,"outcomes":[{"outcome":"\u003cstring>","expected":1,"given":1,"precision":0.5,"recall":0.5,"f1":0.5}],"by_mistake":[{"expected":"\u003cstring>","got":"\u003cstring>","n":2,"loss":1,"examples":["\u003cstring>"]}],"by_mistake_total":1,"by_question":[{"question":"\u003cstring>","loss":1,"share":0.5,"examples":["\u003cstring>"]}],"missing_criterion":{"n":1,"loss":1,"examples":["\u003cstring>"]},"failed":{"n":1,"loss":1},"near_cuts":[{"aggregation":"\u003cstring>","at":123,"lower_it":{"n":1,"loss":1},"raise_it":{"n":1,"loss":1},"examples":["\u003cstring>"]}],"severe":{"n":1,"human":1},"cases":[{"expected":"\u003cstring>","got":"\u003cstring>","failed":true,"loss":1,"severe":true,"human":true,"margin":{"value":123,"cut":123,"distance":1,"adjacent":true},"attributed":true,"fixing_flips":["\u003cstring>"],"flips_total":1,"answer_conflicts":["\u003cstring>"],"suspects":["\u003cstring>"],"answers":{},"evaluation_id":"\u003cstring>","item_id":"\u003cstring>"}],"cases_total":1,"attributed":1},"accepted":true,"reasons":["\u003cstring>"],"new_severe_human":["\u003cstring>"],"environment":"production","decision_id":"\u003cstring>","excluded":{"unlabeled":1,"failed_transient":1,"base_only":1,"outcome_not_in_result":1,"no_base":1},"cases":{"filter":{"kind":"all","expected":"\u003cstring>","got":"\u003cstring>","question":"\u003cstring>","at":123},"total":1,"rows":[{"item_id":"\u003cstring>","expected":"\u003cstring>","got":"\u003cstring>","loss":1,"severe":true,"base":{"got":"\u003cstring>","loss":1,"severe":true}}],"next_cursor":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"66081e2f-52c7-4327-a973-228655b2b912":{"description":"Invalid request: `param` names the field at fault when one applies","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["invalid_request","authentication","permission_denied","not_found","conflict","rate_limited","engine_failed","unavailable","internal"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"For people; don't parse it.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"reason":{"type":"string","pattern":"^[A-Z][A-Z0-9_]+$","description":"Set where a caller can act on it, one of the reasons in the ErrorReason schema. New reasons may be added: treat an unknown one by the status and `type`.","uniqueKey":"error.reason","typeLabel":"string"},"param":{"type":"string","description":"The request field at fault, as a dotted path (`attribute_values.region`, `claims.1.value`).","uniqueKey":"error.param","typeLabel":"string"},"details":{"type":"object","properties":{"issues":{"type":"array","items":{"type":"object","properties":{"param":{"type":"string","isRequired":true,"uniqueKey":"error.details.issues.items.[INDEX].param","typeLabel":"string"},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]+$","description":"Stable, extensible issue code; unknown codes still have a parameter and human-readable message.","isRequired":true,"uniqueKey":"error.details.issues.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.details.issues.items.[INDEX].message","typeLabel":"string"}},"required":["param","code","message"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"uniqueKey":"error.details.issues.items.[INDEX]","typeLabel":"object"},"uniqueKey":"error.details.issues","typeLabel":"object[]"}},"additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"uniqueKey":"error.details","typeLabel":"object"}},"required":["type","message"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request","message":"\u003cstring>","reason":"\u003cstring>","param":"\u003cstring>","details":{"issues":[{"param":"\u003cstring>","code":"\u003cstring>","message":"\u003cstring>"}]}}}}},"exampleType":"generated"}},"exampleType":"generated"},"ba6cc172-ebf8-4606-a4bb-6d407c356f82":{"description":"Missing or invalid API key (reason KEY_INVALID)","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["invalid_request","authentication","permission_denied","not_found","conflict","rate_limited","engine_failed","unavailable","internal"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"For people; don't parse it.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"reason":{"type":"string","pattern":"^[A-Z][A-Z0-9_]+$","description":"Set where a caller can act on it, one of the reasons in the ErrorReason schema. New reasons may be added: treat an unknown one by the status and `type`.","uniqueKey":"error.reason","typeLabel":"string"},"param":{"type":"string","description":"The request field at fault, as a dotted path (`attribute_values.region`, `claims.1.value`).","uniqueKey":"error.param","typeLabel":"string"},"details":{"type":"object","properties":{"issues":{"type":"array","items":{"type":"object","properties":{"param":{"type":"string","isRequired":true,"uniqueKey":"error.details.issues.items.[INDEX].param","typeLabel":"string"},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]+$","description":"Stable, extensible issue code; unknown codes still have a parameter and human-readable message.","isRequired":true,"uniqueKey":"error.details.issues.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.details.issues.items.[INDEX].message","typeLabel":"string"}},"required":["param","code","message"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"uniqueKey":"error.details.issues.items.[INDEX]","typeLabel":"object"},"uniqueKey":"error.details.issues","typeLabel":"object[]"}},"additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"uniqueKey":"error.details","typeLabel":"object"}},"required":["type","message"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request","message":"\u003cstring>","reason":"\u003cstring>","param":"\u003cstring>","details":{"issues":[{"param":"\u003cstring>","code":"\u003cstring>","message":"\u003cstring>"}]}}}}},"exampleType":"generated"}},"exampleType":"generated"},"88a7f798-a82e-421a-b790-2bd52f617a41":{"description":"The key may not do this","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["invalid_request","authentication","permission_denied","not_found","conflict","rate_limited","engine_failed","unavailable","internal"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"For people; don't parse it.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"reason":{"type":"string","pattern":"^[A-Z][A-Z0-9_]+$","description":"Set where a caller can act on it, one of the reasons in the ErrorReason schema. New reasons may be added: treat an unknown one by the status and `type`.","uniqueKey":"error.reason","typeLabel":"string"},"param":{"type":"string","description":"The request field at fault, as a dotted path (`attribute_values.region`, `claims.1.value`).","uniqueKey":"error.param","typeLabel":"string"},"details":{"type":"object","properties":{"issues":{"type":"array","items":{"type":"object","properties":{"param":{"type":"string","isRequired":true,"uniqueKey":"error.details.issues.items.[INDEX].param","typeLabel":"string"},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]+$","description":"Stable, extensible issue code; unknown codes still have a parameter and human-readable message.","isRequired":true,"uniqueKey":"error.details.issues.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.details.issues.items.[INDEX].message","typeLabel":"string"}},"required":["param","code","message"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"uniqueKey":"error.details.issues.items.[INDEX]","typeLabel":"object"},"uniqueKey":"error.details.issues","typeLabel":"object[]"}},"additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"uniqueKey":"error.details","typeLabel":"object"}},"required":["type","message"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request","message":"\u003cstring>","reason":"\u003cstring>","param":"\u003cstring>","details":{"issues":[{"param":"\u003cstring>","code":"\u003cstring>","message":"\u003cstring>"}]}}}}},"exampleType":"generated"}},"exampleType":"generated"},"b4f0144f-0891-4ead-8166-3bdfc455c2ff":{"description":"Not found, or not in this key's organization and environment","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["invalid_request","authentication","permission_denied","not_found","conflict","rate_limited","engine_failed","unavailable","internal"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"For people; don't parse it.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"reason":{"type":"string","pattern":"^[A-Z][A-Z0-9_]+$","description":"Set where a caller can act on it, one of the reasons in the ErrorReason schema. New reasons may be added: treat an unknown one by the status and `type`.","uniqueKey":"error.reason","typeLabel":"string"},"param":{"type":"string","description":"The request field at fault, as a dotted path (`attribute_values.region`, `claims.1.value`).","uniqueKey":"error.param","typeLabel":"string"},"details":{"type":"object","properties":{"issues":{"type":"array","items":{"type":"object","properties":{"param":{"type":"string","isRequired":true,"uniqueKey":"error.details.issues.items.[INDEX].param","typeLabel":"string"},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]+$","description":"Stable, extensible issue code; unknown codes still have a parameter and human-readable message.","isRequired":true,"uniqueKey":"error.details.issues.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.details.issues.items.[INDEX].message","typeLabel":"string"}},"required":["param","code","message"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"uniqueKey":"error.details.issues.items.[INDEX]","typeLabel":"object"},"uniqueKey":"error.details.issues","typeLabel":"object[]"}},"additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"uniqueKey":"error.details","typeLabel":"object"}},"required":["type","message"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request","message":"\u003cstring>","reason":"\u003cstring>","param":"\u003cstring>","details":{"issues":[{"param":"\u003cstring>","code":"\u003cstring>","message":"\u003cstring>"}]}}}}},"exampleType":"generated"}},"exampleType":"generated"},"e548fedc-dd8c-4460-9fa2-fc07dbe3fb51":{"description":"RATE_LIMITED: retry after Retry-After seconds; QUOTA_EXCEEDED: details.reset_at gives the daily reset time (no Retry-After)","headers":{"Retry-After":{"schema":{"type":"string","description":"Seconds to wait before retrying, when waiting helps."},"required":false,"description":"Seconds to wait before retrying, when waiting helps."}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["invalid_request","authentication","permission_denied","not_found","conflict","rate_limited","engine_failed","unavailable","internal"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"For people; don't parse it.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"reason":{"type":"string","pattern":"^[A-Z][A-Z0-9_]+$","description":"Set where a caller can act on it, one of the reasons in the ErrorReason schema. New reasons may be added: treat an unknown one by the status and `type`.","uniqueKey":"error.reason","typeLabel":"string"},"param":{"type":"string","description":"The request field at fault, as a dotted path (`attribute_values.region`, `claims.1.value`).","uniqueKey":"error.param","typeLabel":"string"},"details":{"type":"object","properties":{"issues":{"type":"array","items":{"type":"object","properties":{"param":{"type":"string","isRequired":true,"uniqueKey":"error.details.issues.items.[INDEX].param","typeLabel":"string"},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]+$","description":"Stable, extensible issue code; unknown codes still have a parameter and human-readable message.","isRequired":true,"uniqueKey":"error.details.issues.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.details.issues.items.[INDEX].message","typeLabel":"string"}},"required":["param","code","message"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"uniqueKey":"error.details.issues.items.[INDEX]","typeLabel":"object"},"uniqueKey":"error.details.issues","typeLabel":"object[]"}},"additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"uniqueKey":"error.details","typeLabel":"object"}},"required":["type","message"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request","message":"\u003cstring>","reason":"\u003cstring>","param":"\u003cstring>","details":{"issues":[{"param":"\u003cstring>","code":"\u003cstring>","message":"\u003cstring>"}]}}}}},"exampleType":"generated"}},"exampleType":"generated"},"01bc60df-1399-492c-91d7-41791d91f816":{"description":"Temporarily unavailable, with Retry-After (for example reason AUTH_UNAVAILABLE, ENGINE_UNAVAILABLE or STORE_UNAVAILABLE): retry with the same Idempotency-Key","headers":{"Retry-After":{"schema":{"type":"string","description":"Seconds to wait before retrying, when waiting helps."},"required":true,"description":"Seconds to wait before retrying, when waiting helps."}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["invalid_request","authentication","permission_denied","not_found","conflict","rate_limited","engine_failed","unavailable","internal"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"For people; don't parse it.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"reason":{"type":"string","pattern":"^[A-Z][A-Z0-9_]+$","description":"Set where a caller can act on it, one of the reasons in the ErrorReason schema. New reasons may be added: treat an unknown one by the status and `type`.","uniqueKey":"error.reason","typeLabel":"string"},"param":{"type":"string","description":"The request field at fault, as a dotted path (`attribute_values.region`, `claims.1.value`).","uniqueKey":"error.param","typeLabel":"string"},"details":{"type":"object","properties":{"issues":{"type":"array","items":{"type":"object","properties":{"param":{"type":"string","isRequired":true,"uniqueKey":"error.details.issues.items.[INDEX].param","typeLabel":"string"},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]+$","description":"Stable, extensible issue code; unknown codes still have a parameter and human-readable message.","isRequired":true,"uniqueKey":"error.details.issues.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.details.issues.items.[INDEX].message","typeLabel":"string"}},"required":["param","code","message"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"uniqueKey":"error.details.issues.items.[INDEX]","typeLabel":"object"},"uniqueKey":"error.details.issues","typeLabel":"object[]"}},"additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"uniqueKey":"error.details","typeLabel":"object"}},"required":["type","message"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":true,"x-moonbounce-sdk-known-fields":true,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request","message":"\u003cstring>","reason":"\u003cstring>","param":"\u003cstring>","details":{"issues":[{"param":"\u003cstring>","code":"\u003cstring>","message":"\u003cstring>"}]}}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"811a437b-4788-40f5-9dd9-38b8d09695de":{"bearerAuth":{"type":"http","scheme":"bearer","description":"An API key, sent as `Authorization: Bearer \u003ckey>`. Each operation lists the scope its key needs: `decisions:evaluate` (evaluate and read evaluations), `decisions:feedback` (your app's feedback) or `decisions:develop` (everything else, including owner feedback and the review queue). An operation listing no scope takes any scoped key. A key with no scope, or without the operation's, gets 403 INSUFFICIENT_SCOPE.","scopes":["decisions:develop"],"schemeName":"bearerAuth"}}},"servers":{"5199a294-99c0-440b-a171-e6a2ae5671e1":{"url":"https://api.moonbounce.ai","description":"Production"}},"schemas":{"6889a875-9eb8-44b0-9d08-9fefa389dc6e":{"oneOf":[{"type":"object","required":["name"],"properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"A feature's path: `questions.\u003cname>`, `attributes.\u003cname>` or `aggregations.\u003cname>`.","examples":["questions.asks_for_refund","aggregations.band"],"isRequired":true},"gte":{"type":"number"},"gt":{"type":"number"},"lte":{"type":"number"},"lt":{"type":"number"},"is":{"type":"string","minLength":1,"maxLength":200},"in":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"minItems":1,"maxItems":255},"abstained":{"type":"boolean","enum":[true]}},"additionalProperties":false},{"type":"object","required":["all"],"properties":{"all":{"type":"array","items":{"$circularRef":"6889a875-9eb8-44b0-9d08-9fefa389dc6e"},"minItems":1,"maxItems":64,"isRequired":true}},"additionalProperties":false},{"type":"object","required":["any"],"properties":{"any":{"type":"array","items":{"$circularRef":"6889a875-9eb8-44b0-9d08-9fefa389dc6e"},"minItems":1,"maxItems":64,"isRequired":true}},"additionalProperties":false},{"type":"object","required":["not"],"properties":{"not":{"oneOf":[{"isRequired":true}],"isRequired":true}},"additionalProperties":false}]}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"An API key, sent as `Authorization: Bearer \u003ckey>`. Each operation lists the scope its key needs: `decisions:evaluate` (evaluate and read evaluations), `decisions:feedback` (your app's feedback) or `decisions:develop` (everything else, including owner feedback and the review queue). An operation listing no scope takes any scoped key. A key with no scope, or without the operation's, gets 403 INSUFFICIENT_SCOPE.","scopes":["decisions:develop"],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"An API key, sent as `Authorization: Bearer \u003ckey>`. Each operation lists the scope its key needs: `decisions:evaluate` (evaluate and read evaluations), `decisions:feedback` (your app's feedback) or `decisions:develop` (everything else, including owner feedback and the review queue). An operation listing no scope takes any scoped key. A key with no scope, or without the operation's, gets 403 INSUFFICIENT_SCOPE.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi.json"},"subdomain":"moonbounce","siteName":"Moonbounce Decisions API","title":"Judge results under a decision's objective - Moonbounce Decisions API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-06T00:56:41.165Z","originalFileLocation":"api-reference/objective/judge-results-under-a-decisions-objective.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Judges one version\u0026#x27;s labeled results under the decision\u0026#x27;s objective and, with a base, compares the two on the same items: the loss report a preview returns. Each mistake\u0026#x27;s loss is its severity under the objective (every mistake normal when none is set), weighted so each expected outcome counts equally however many items it has; loss_per_case is their mean. accepted (lower loss per case, no new severe mistake on a human-labeled case) and reasons say whether the candidate is better. Each side is runs by run_ids (from evaluate with items, one structure per side) or results passed inline with their structure or structure_hash. Items match by item_id; the candidate\u0026#x27;s labels are used; unlabeled items, outcomes neither version can produce, items the base lacks and retryable failures on either side are left out and counted in excluded; a permanent failure counts as a mistake. List a resend\u0026#x27;s run beside the original: an item\u0026#x27;s result that didn\u0026#x27;t fail replaces its failed one. The report lists the worst mistakes, with example ids on every roll-up row. Send cases to page through each item\u0026#x27;s loss: filter.kind is all, wrong (default), right, failed, severe, changed, cell, question, near_cut or missing_criterion. Runs no engine and spends nothing; the word is loss, not money. An unknown or expired run is 404 RUN_UNKNOWN. A version whose result is a value, not outcomes, is 400 OUTCOMES_INVALID.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Moonbounce Decisions API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/moonbounce/Pq6Jhs_BrzDTLcf2/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/moonbounce/Pq6Jhs_BrzDTLcf2/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/moonbounce/Pq6Jhs_BrzDTLcf2/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/moonbounce/Pq6Jhs_BrzDTLcf2/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/moonbounce/Pq6Jhs_BrzDTLcf2/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/moonbounce/Pq6Jhs_BrzDTLcf2/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/moonbounce/Pq6Jhs_BrzDTLcf2/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/moonbounce/Pq6Jhs_BrzDTLcf2/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/moonbounce/Pq6Jhs_BrzDTLcf2/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Judge results under a decision\u0026#x27;s objective - Moonbounce Decisions API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Judges one version\u0026#x27;s labeled results under the decision\u0026#x27;s objective and, with a base, compares the two on the same items: the loss report a preview returns. Each mistake\u0026#x27;s loss is its severity under the objective (every mistake normal when none is set), weighted so each expected outcome counts equally however many items it has; loss_per_case is their mean. accepted (lower loss per case, no new severe mistake on a human-labeled case) and reasons say whether the candidate is better. Each side is runs by run_ids (from evaluate with items, one structure per side) or results passed inline with their structure or structure_hash. Items match by item_id; the candidate\u0026#x27;s labels are used; unlabeled items, outcomes neither version can produce, items the base lacks and retryable failures on either side are left out and counted in excluded; a permanent failure counts as a mistake. List a resend\u0026#x27;s run beside the original: an item\u0026#x27;s result that didn\u0026#x27;t fail replaces its failed one. The report lists the worst mistakes, with example ids on every roll-up row. Send cases to page through each item\u0026#x27;s loss: filter.kind is all, wrong (default), right, failed, severe, changed, cell, question, near_cut or missing_criterion. Runs no engine and spends nothing; the word is loss, not money. An unknown or expired run is 404 RUN_UNKNOWN. A version whose result is a value, not outcomes, is 400 OUTCOMES_INVALID.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Moonbounce Decisions API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.moonbounce.ai/api-reference/objective/judge-results-under-a-decisions-objective\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://moonbounce.mintlify.app/_mintlify/api/og/v2?division=objective\u0026amp;title=Judge+results+under+a+decision%27s+objective\u0026amp;description=Judges+one+version%27s+labeled+results+under+the+decision%27s+objective+and%2C+with+a+%60base%60%2C+compares+the+two+on+the+same+items%3A+the+loss+report+a+preview+returns.+E\u0026amp;theme=e6d1608244ab860cac0ff47e\u0026amp;signature=cd6390e0cc117703ebce288490d4dafb9b82481488c26da4d06551231f7e708b\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Judge results under a decision\u0026#x27;s objective - Moonbounce Decisions API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Judges one version\u0026#x27;s labeled results under the decision\u0026#x27;s objective and, with a base, compares the two on the same items: the loss report a preview returns. Each mistake\u0026#x27;s loss is its severity under the objective (every mistake normal when none is set), weighted so each expected outcome counts equally however many items it has; loss_per_case is their mean. accepted (lower loss per case, no new severe mistake on a human-labeled case) and reasons say whether the candidate is better. Each side is runs by run_ids (from evaluate with items, one structure per side) or results passed inline with their structure or structure_hash. Items match by item_id; the candidate\u0026#x27;s labels are used; unlabeled items, outcomes neither version can produce, items the base lacks and retryable failures on either side are left out and counted in excluded; a permanent failure counts as a mistake. List a resend\u0026#x27;s run beside the original: an item\u0026#x27;s result that didn\u0026#x27;t fail replaces its failed one. The report lists the worst mistakes, with example ids on every roll-up row. Send cases to page through each item\u0026#x27;s loss: filter.kind is all, wrong (default), right, failed, severe, changed, cell, question, near_cut or missing_criterion. Runs no engine and spends nothing; the word is loss, not money. An unknown or expired run is 404 RUN_UNKNOWN. A version whose result is a value, not outcomes, is 400 OUTCOMES_INVALID.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://moonbounce.mintlify.app/_mintlify/api/og/v2?division=objective\u0026amp;title=Judge+results+under+a+decision%27s+objective\u0026amp;description=Judges+one+version%27s+labeled+results+under+the+decision%27s+objective+and%2C+with+a+%60base%60%2C+compares+the+two+on+the+same+items%3A+the+loss+report+a+preview+returns.+E\u0026amp;theme=e6d1608244ab860cac0ff47e\u0026amp;signature=cd6390e0cc117703ebce288490d4dafb9b82481488c26da4d06551231f7e708b\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/moonbounce/Pq6Jhs_BrzDTLcf2/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Moonbounce Decisions API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1D5AB5\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.moonbounce.ai/api-reference/objective/judge-results-under-a-decisions-objective\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/objective/judge-results-under-a-decisions-objective.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.moonbounce.ai/#organization\",\"name\":\"Moonbounce Decisions API\",\"url\":\"https://docs.moonbounce.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/moonbounce/mWuXGW-nUJSEdABp/logo/lockup-light.svg?fit=max\u0026auto=format\u0026n=mWuXGW-nUJSEdABp\u0026q=85\u0026s=367a5dedb5799a16c5737d136af68dc5\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.moonbounce.ai#website\",\"name\":\"Moonbounce Decisions API\",\"url\":\"https://docs.moonbounce.ai\",\"publisher\":{\"@id\":\"https://docs.moonbounce.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.moonbounce.ai/api-reference/objective/judge-results-under-a-decisions-objective#webpage\",\"url\":\"https://docs.moonbounce.ai/api-reference/objective/judge-results-under-a-decisions-objective\",\"name\":\"Judge results under a decision's objective\",\"description\":\"Judges one version's labeled results under the decision's objective and, with a base, compares the two on the same items: the loss report a preview returns. Each mistake's loss is its severity under the objective (every mistake normal when none is set), weighted so each expected outcome counts equally however many items it has; loss_per_case is their mean. accepted (lower loss per case, no new severe mistake on a human-labeled case) and reasons say whether the candidate is better. Each side is runs by run_ids (from evaluate with items, one structure per side) or results passed inline with their structure or structure_hash. Items match by item_id; the candidate's labels are used; unlabeled items, outcomes neither version can produce, items the base lacks and retryable failures on either side are left out and counted in excluded; a permanent failure counts as a mistake. List a resend's run beside the original: an item's result that didn't fail replaces its failed one. The report lists the worst mistakes, with example ids on every roll-up row. Send cases to page through each item's loss: filter.kind is all, wrong (default), right, failed, severe, changed, cell, question, near_cut or missing_criterion. Runs no engine and spends nothing; the word is loss, not money. An unknown or expired run is 404 RUN_UNKNOWN. A version whose result is a value, not outcomes, is 400 OUTCOMES_INVALID.\",\"dateModified\":\"2026-11-06T00:56:41.165Z\",\"isPartOf\":{\"@id\":\"https://docs.moonbounce.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.moonbounce.ai/api-reference/objective/judge-results-under-a-decisions-objective#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.moonbounce.ai/api-reference/objective/judge-results-under-a-decisions-objective#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.moonbounce.ai/api-reference/health/health-check\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Judge results under a decision's objective\",\"item\":\"https://docs.moonbounce.ai/api-reference/objective/judge-results-under-a-decisions-objective\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.moonbounce.ai/api-reference/objective/judge-results-under-a-decisions-objective#apireference\",\"headline\":\"Judge results under a decision's objective\",\"name\":\"Judge results under a decision's objective\",\"description\":\"Judges one version's labeled results under the decision's objective and, with a base, compares the two on the same items: the loss report a preview returns. Each mistake's loss is its severity under the objective (every mistake normal when none is set), weighted so each expected outcome counts equally however many items it has; loss_per_case is their mean. accepted (lower loss per case, no new severe mistake on a human-labeled case) and reasons say whether the candidate is better. Each side is runs by run_ids (from evaluate with items, one structure per side) or results passed inline with their structure or structure_hash. Items match by item_id; the candidate's labels are used; unlabeled items, outcomes neither version can produce, items the base lacks and retryable failures on either side are left out and counted in excluded; a permanent failure counts as a mistake. List a resend's run beside the original: an item's result that didn't fail replaces its failed one. The report lists the worst mistakes, with example ids on every roll-up row. Send cases to page through each item's loss: filter.kind is all, wrong (default), right, failed, severe, changed, cell, question, near_cut or missing_criterion. Runs no engine and spends nothing; the word is loss, not money. An unknown or expired run is 404 RUN_UNKNOWN. A version whose result is a value, not outcomes, is 400 OUTCOMES_INVALID.\",\"url\":\"https://docs.moonbounce.ai/api-reference/objective/judge-results-under-a-decisions-objective\",\"mainEntityOfPage\":{\"@id\":\"https://docs.moonbounce.ai/api-reference/objective/judge-results-under-a-decisions-objective#webpage\"},\"dateModified\":\"2026-11-06T00:56:41.165Z\",\"publisher\":{\"@id\":\"https://docs.moonbounce.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.moonbounce.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Moonbounce Decisions API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Moonbounce Decisions API","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"API reference","groups":[{"group":"Overview","pages":[{"title":"API reference overview","href":"/reference/overview"}]},{"group":"Endpoints","pages":[{"group":"health","pages":[{"title":"Health check","deprecated":null,"version":null,"openapi":"/openapi.json get /health","href":"/api-reference/health/health-check"}]},{"group":"structures","pages":[{"title":"Validate and hash a decision structure","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/structures/hash","href":"/api-reference/structures/validate-and-hash-a-decision-structure"},{"title":"List registered structures","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/decisions/{decision_id}/structures","href":"/api-reference/structures/list-registered-structures"},{"title":"Register a decision structure","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/decisions/{decision_id}/structures","href":"/api-reference/structures/register-a-decision-structure"},{"title":"Get a registered structure","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/decisions/{decision_id}/structures/{structure_hash}","href":"/api-reference/structures/get-a-registered-structure"},{"title":"List decisions in this environment","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/decisions","href":"/api-reference/structures/list-decisions-in-this-environment"}]},{"group":"engines","pages":[{"title":"List the engines a decision can run on","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/engines","href":"/api-reference/engines/list-the-engines-a-decision-can-run-on"},{"title":"Get the engine a decision runs on","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/decisions/{decision_id}/binding","href":"/api-reference/engines/get-the-engine-a-decision-runs-on"},{"title":"Choose the engine a decision runs on","description":"Sets the engine and model a decision runs on in this environment, as a new binding revision. Appends a binding revision for the calling key's environment, with one engine for every question. Evaluations run on it from the next call, and a switch also moves imported examples, previews and suggestions. The weights and cut points in a structure were set against one engine's answers and are not checked against another's, so switch with a test key first and backtest there: each environment has its own binding. 201 with the new revision; 200 and no new revision when the body matches the current one. An engine or model this deployment does not offer is 400 CAPABILITY_UNSUPPORTED. 404 until a structure is registered for the decision in this environment. An Idempotency-Key covers the body as sent, so retry with the same body; it replays even if the engine's configuration changed. Send `model` to pin the model rather than take the default.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/decisions/{decision_id}/binding/revisions","href":"/api-reference/engines/choose-the-engine-a-decision-runs-on"}]},{"group":"objective","pages":[{"title":"Judge results under a decision's objective","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/decisions/{decision_id}/loss-reports","href":"/api-reference/objective/judge-results-under-a-decisions-objective"},{"title":"Get what a decision optimizes for","description":"The decision's current objective revision in the calling key's environment: which mistakes matter and how much, and its target. `revision` and `objective` are null when none was set, which means balanced losses. Previews are judged by it (`loss_report`). Compare `objective_hash` with the decision file's objective to see whether the stored copy is current. 404 when the decision doesn't exist (no structure registered or evaluated).","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/decisions/{decision_id}/objective","href":"/api-reference/objective/get-what-a-decision-optimizes-for"},{"title":"Set what a decision optimizes for","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/decisions/{decision_id}/objective/revisions","href":"/api-reference/objective/set-what-a-decision-optimizes-for"}]},{"group":"feedback","pages":[{"title":"List a decision's labeled cases","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/decisions/{decision_id}/cases","href":"/api-reference/feedback/list-a-decisions-labeled-cases"},{"title":"Submit feedback on evaluations or items","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/feedback","href":"/api-reference/feedback/submit-feedback-on-evaluations-or-items"},{"title":"Get a feedback submission as stored","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/feedback/{feedback_id}","href":"/api-reference/feedback/get-a-feedback-submission-as-stored"},{"title":"Export a decision's feedback as training data","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/decisions/{decision_id}/feedback","href":"/api-reference/feedback/export-a-decisions-feedback-as-training-data"},{"title":"Import labeled examples","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/decisions/{decision_id}/examples","href":"/api-reference/feedback/import-labeled-examples"}]},{"group":"evaluate","pages":[{"title":"Evaluate an item, or run a version over many items","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/evaluate","href":"/api-reference/evaluate/evaluate-an-item-or-run-a-version-over-many-items"},{"title":"Get a past evaluation","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/evaluations/{evaluation_id}","href":"/api-reference/evaluate/get-a-past-evaluation"},{"title":"List a decision's evaluations","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/decisions/{decision_id}/evaluations","href":"/api-reference/evaluate/list-a-decisions-evaluations"}]},{"group":"review","pages":[{"title":"Fill the review queue","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/review/items/fill","href":"/api-reference/review/fill-the-review-queue"},{"title":"List review items","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/review/items","href":"/api-reference/review/list-review-items"},{"title":"Get a review item","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/review/items/{review_item_id}","href":"/api-reference/review/get-a-review-item"},{"title":"Get the structure a review item was decided with","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/review/items/{review_item_id}/configuration","href":"/api-reference/review/get-the-structure-a-review-item-was-decided-with"},{"title":"Mark a review item as shown","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/review/items/{review_item_id}/shown","href":"/api-reference/review/mark-a-review-item-as-shown"},{"title":"Submit a review","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/review/items/{review_item_id}/submit","href":"/api-reference/review/submit-a-review"},{"title":"Withdraw a review answer","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/review/items/{review_item_id}/withdraw","href":"/api-reference/review/withdraw-a-review-answer"},{"title":"Change your own earlier review answer","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/review/items/{review_item_id}/change","href":"/api-reference/review/change-your-own-earlier-review-answer"},{"title":"Skip a review item","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/review/items/{review_item_id}/skip","href":"/api-reference/review/skip-a-review-item"},{"title":"Add the reason for a blind disagreement","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/review/items/{review_item_id}/reason","href":"/api-reference/review/add-the-reason-for-a-blind-disagreement"}]},{"group":"suggestions","pages":[{"title":"List suggestions for a decision","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/decisions/{decision_id}/suggestions","href":"/api-reference/suggestions/list-suggestions-for-a-decision"},{"title":"Generate a suggestion on demand","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/decisions/{decision_id}/suggestions","href":"/api-reference/suggestions/generate-a-suggestion-on-demand"},{"title":"Get a suggestion","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/suggestions/{suggestion_id}","href":"/api-reference/suggestions/get-a-suggestion"},{"title":"Mark a suggestion pulled or rejected","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/suggestions/{suggestion_id}/status","href":"/api-reference/suggestions/mark-a-suggestion-pulled-or-rejected"},{"title":"Preview a structure change against past feedback","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/decisions/{decision_id}/previews","href":"/api-reference/suggestions/preview-a-structure-change-against-past-feedback"},{"title":"Get the improvement loop's status","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/decisions/{decision_id}/loop","href":"/api-reference/suggestions/get-the-improvement-loops-status"}]},{"group":"usage","pages":[{"title":"Get a decision's engine cost, per evaluation and in total","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/decisions/{decision_id}/usage","href":"/api-reference/usage/get-a-decisions-engine-cost-per-evaluation-and-in-total"}]},{"group":"keys","pages":[{"title":"Identify the calling key or sign-in","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/whoami","href":"/api-reference/keys/identify-the-calling-key-or-sign-in"}]}]}]}]},"basePath":"","title":"Judge results under a decision's objective - Moonbounce Decisions API","buildId":"dpl_GZsjphRpnhWkstV12jxWNcMHFyox","deploymentId":"dpl_GZsjphRpnhWkstV12jxWNcMHFyox","dynamics":["10e4515597","c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["BannerMarkdown-B2eHeXx_.js","dist-Dt1IougW.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-DptzKFCt.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","OpenApiReferenceProvider-B5zPa4Vr.js","utils-CVjrr8Yd.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DTgURWzl.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DxTHtkdZ.js","snippetPresets-Cx47o5Vx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-4Fr6y9N_.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Dq2ElbEk.js","shallow-BfYl9r69.js","getApiPlaygroundDisplay-Ch3xc7i1.js","CodeSnippet-BsBxuJ1v.js","CodeSnippets-CetzeDL8.js","Page-CYZot51e.js","getPastedJson-BxPKFSJx.js","icon-o0J1Ochb.js","MethodPill-Du3usO5m.js","DuplicateIcon-DJypyMzl.js","createIcon-YMA6N8KJ.js","DynamicMarkdown-CWvhfcZc.js","SectionHeading-BdLVaXCd.js","axios-vUo_bRtp.js","Markdown-C4Ez6OeV.js","AssistantPageLink-CZ6Wt2Vb.js"]}