Corrects a pending draft without overwriting it. The draft closes with status replaced and remains available as history, including its codification record and lint findings. The corrected rules become a new draft; an optional codification block is processed again. expected_revision must match the current draft_revision, or the request returns 409 STALE_DRAFT_REVISION. A draft that is no longer pending cannot be superseded. Only a verified human session may call this operation. Other refusals include 404 NOT_FOUND; 409 INVALID_TRANSITION with VERSION_NOT_DRAFT or VERSION_BOUND_TO_CAPABILITY; and 422 VALIDATION_ERROR, UNSUPPORTED_RULE_TYPE or CODIFICATION_REFUSED.
Tenant UUID for multi-tenant isolation. Required on authenticated routes. A missing or non-UUID value returns 400 MISSING_TENANT_ID or INVALID_TENANT_ID before API-key authentication.
Optional. When provided, MeshQu stores the rules produced from the codification input. Their source_ref is derived from the declared clause rather than taken from the caller.
{"docsConfig":{"theme":"almond","$schema":"https://mintlify.com/docs.json","name":"MeshQu Developer Docs","colors":{"primary":"#0891B2","light":"#22D3EE","dark":"#0E7490"},"logo":{"light":"https://mintcdn.com/meshqu-cdb559e0/AeHM0QLF3jTfCsPZ/logo/light.svg?fit=max\u0026auto=format\u0026n=AeHM0QLF3jTfCsPZ\u0026q=85\u0026s=80b80a4afb1beb542ca227dc6219172f","dark":"https://mintcdn.com/meshqu-cdb559e0/AeHM0QLF3jTfCsPZ/logo/dark.svg?fit=max\u0026auto=format\u0026n=AeHM0QLF3jTfCsPZ\u0026q=85\u0026s=371a3ba75d2a4e0f00effe9b2b86f460"},"favicon":"https://mintcdn.com/meshqu-cdb559e0/ZsNgiwMr6_s3RnoK/favicon.png?fit=max\u0026auto=format\u0026n=ZsNgiwMr6_s3RnoK\u0026q=85\u0026s=6f845d477b417c938d49840e8360ddb0","navbar":{"links":[{"href":"mailto:support@meshqu.com","label":"Support"}]},"footer":{"socials":{"github":"https://github.com/TradeQu"}},"fonts":{"family":"Inter"},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"markdown":{"instructions":["Public descriptions of the Decision Receipt are governed by concepts/receipt-reference — where any other source disagrees with it, it wins. A verification bundle binds ten sub-claims.","Quote the Decision Receipt definition byte-identically or not at all: 'A Decision Receipt is a signed, replayable record of how a consequential decision was made, created at the moment it happens and independently verifiable afterwards.'","Tamper evidence is two checks together: a content edit leaves the Ed25519 signature valid (it covers the stored integrity hash) and is caught by the integrity check; rewriting the hash then fails the signature. Never claim the signature alone detects edits."]},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"meshqu-cdb559e0","hasAudioNarration":false,"actualSubdomain":"meshqu-cdb559e0","customDomains":["docs.meshqu.com"],"gitSource":{"type":"github","owner":"tradequ","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{},"buildId":"6acd2e5c199c44ba459d62e9","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"Docs","count":122},{"language":"default","tag":"API Reference","count":93},{"language":"default","tag":"Policies","count":21},{"language":"default","tag":"Admin","count":11},{"language":"default","tag":"Alerts","count":10},{"language":"default","tag":"Decisions","count":10},{"language":"default","tag":"Concepts","count":9},{"language":"default","tag":"Forms","count":9},{"language":"default","tag":"Guides","count":8},{"language":"default","tag":"Policy Groups","count":6}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":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":"custom-rbac-roles","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":"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":"editor-metadata","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}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/policies/supersede-a-draft-with-a-corrected-draft","slug":"/api-reference/policies/supersede-a-draft-with-a-corrected-draft","pageMetadata":{"title":"Supersede a draft with a corrected draft","description":"Corrects a pending draft without overwriting it. The draft closes with status `replaced` and remains available as history, including its codification record and lint findings. The corrected rules become a new draft; an optional `codification` block is processed again. `expected_revision` must match the current `draft_revision`, or the request returns 409 `STALE_DRAFT_REVISION`. A draft that is no longer pending cannot be superseded. Only a verified human session may call this operation. Other refusals include 404 `NOT_FOUND`; 409 `INVALID_TRANSITION` with `VERSION_NOT_DRAFT` or `VERSION_BOUND_TO_CAPABILITY`; and 422 `VALIDATION_ERROR`, `UNSUPPORTED_RULE_TYPE` or `CODIFICATION_REFUSED`.","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/policies/{id}/versions/{version}/supersede","href":"/api-reference/policies/supersede-a-draft-with-a-corrected-draft","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: [\"Corrects a pending draft without overwriting it. The draft closes with status \", _jsx(_components.code, {\n children: \"replaced\"\n }), \" and remains available as history, including its codification record and lint findings. The corrected rules become a new draft; an optional \", _jsx(_components.code, {\n children: \"codification\"\n }), \" block is processed again. \", _jsx(_components.code, {\n children: \"expected_revision\"\n }), \" must match the current \", _jsx(_components.code, {\n children: \"draft_revision\"\n }), \", or the request returns 409 \", _jsx(_components.code, {\n children: \"STALE_DRAFT_REVISION\"\n }), \". A draft that is no longer pending cannot be superseded. Only a verified human session may call this operation. Other refusals include 404 \", _jsx(_components.code, {\n children: \"NOT_FOUND\"\n }), \"; 409 \", _jsx(_components.code, {\n children: \"INVALID_TRANSITION\"\n }), \" with \", _jsx(_components.code, {\n children: \"VERSION_NOT_DRAFT\"\n }), \" or \", _jsx(_components.code, {\n children: \"VERSION_BOUND_TO_CAPABILITY\"\n }), \"; and 422 \", _jsx(_components.code, {\n children: \"VALIDATION_ERROR\"\n }), \", \", _jsx(_components.code, {\n children: \"UNSUPPORTED_RULE_TYPE\"\n }), \" or \", _jsx(_components.code, {\n children: \"CODIFICATION_REFUSED\"\n }), \".\"]\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":"Supersede a draft with a corrected draft","description":"Corrects a pending draft without overwriting it. The draft closes with status `replaced` and remains available as history, including its codification record and lint findings. The corrected rules become a new draft; an optional `codification` block is processed again. `expected_revision` must match the current `draft_revision`, or the request returns 409 `STALE_DRAFT_REVISION`. A draft that is no longer pending cannot be superseded. Only a verified human session may call this operation. Other refusals include 404 `NOT_FOUND`; 409 `INVALID_TRANSITION` with `VERSION_NOT_DRAFT` or `VERSION_BOUND_TO_CAPABILITY`; and 422 `VALIDATION_ERROR`, `UNSUPPORTED_RULE_TYPE` or `CODIFICATION_REFUSED`.","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/policies/{id}/versions/{version}/supersede","href":"/api-reference/policies/supersede-a-draft-with-a-corrected-draft","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Supersede a draft with a corrected draft","tags":["Policies"],"description":"Corrects a pending draft without overwriting it. The draft closes with status `replaced` and remains available as history, including its codification record and lint findings. The corrected rules become a new draft; an optional `codification` block is processed again. `expected_revision` must match the current `draft_revision`, or the request returns 409 `STALE_DRAFT_REVISION`. A draft that is no longer pending cannot be superseded. Only a verified human session may call this operation. Other refusals include 404 `NOT_FOUND`; 409 `INVALID_TRANSITION` with `VERSION_NOT_DRAFT` or `VERSION_BOUND_TO_CAPABILITY`; and 422 `VALIDATION_ERROR`, `UNSUPPORTED_RULE_TYPE` or `CODIFICATION_REFUSED`.","requestBody":"cf9db383-8d48-49c1-bdfb-8ab359afcd96","parameters":["dca941f6-2400-4dbe-bf53-4029d4a2729c","8bbe8191-e5bc-4322-9dc5-f7d57b647197"],"responses":{"200":"28bcad36-7528-4395-b293-fec49be14d9a","400":"9aae764f-fc89-4f44-bed8-8c3592d9509d","403":"955c7aa2-dd79-4eb0-8e40-023c15d2d223","404":"bfc45e12-4443-4a2f-8ee3-7a9b43508fc6","409":"547a685d-1e83-4fd2-8f03-3041400402a1","422":"061eadd7-0593-4d3a-a411-e17a7231b854"},"operationId":"postV1PoliciesByIdVersionsByVersionSupersede","method":"post","type":"path","servers":["96a828ab-b0ad-4901-a5f1-1d35ac117e5f"],"security":["c03cd839-03de-4337-9cc9-4b838edae0b2"],"path":"/v1/policies/{id}/versions/{version}/supersede","baseUrlOptions":["https://api.meshqu.com"],"title":"Supersede a draft with a corrected draft","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"dca941f6-2400-4dbe-bf53-4029d4a2729c":{"schema":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"},"in":"path","name":"id","required":true},"8bbe8191-e5bc-4322-9dc5-f7d57b647197":{"schema":{"minimum":1,"type":"integer","isRequired":true,"uniqueKey":"","typeLabel":"integer"},"in":"path","name":"version","required":true}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"type":"object","required":["expected_revision","rules"],"properties":{"expected_revision":{"minimum":0,"description":"The draft_revision of the draft being superseded, as last read. A stale value is refused 409 STALE_DRAFT_REVISION.","type":"integer","isRequired":true,"uniqueKey":"expected_revision","typeLabel":"integer"},"rules":{"minItems":1,"type":"array","items":{"type":"object","required":["code","name","rule_type","condition","severity"],"properties":{"code":{"minLength":1,"maxLength":50,"type":"string","isRequired":true,"uniqueKey":"rules.items.[INDEX].code","typeLabel":"string"},"name":{"minLength":1,"maxLength":200,"type":"string","isRequired":true,"uniqueKey":"rules.items.[INDEX].name","typeLabel":"string"},"rule_type":{"oneOf":[{"type":"string","enum":["presence"],"isRequired":true,"uniqueKey":"rules.items.[INDEX].rule_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["temporal"],"isRequired":true,"uniqueKey":"rules.items.[INDEX].rule_type.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["threshold"],"isRequired":true,"uniqueKey":"rules.items.[INDEX].rule_type.oneOf.2","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["list"],"isRequired":true,"uniqueKey":"rules.items.[INDEX].rule_type.oneOf.3","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["expression"],"isRequired":true,"uniqueKey":"rules.items.[INDEX].rule_type.oneOf.4","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"rules.items.[INDEX].rule_type","typeLabel":"enum\u003cstring>"},"condition":{"oneOf":[{"type":"object","properties":{"required_fields":{"type":"array","items":{"type":"string","uniqueKey":"rules.items.[INDEX].condition.oneOf.0.required_fields.items.[INDEX]","typeLabel":"string"},"uniqueKey":"rules.items.[INDEX].condition.oneOf.0.required_fields","typeLabel":"string[]"},"forbidden_fields":{"type":"array","items":{"type":"string","uniqueKey":"rules.items.[INDEX].condition.oneOf.0.forbidden_fields.items.[INDEX]","typeLabel":"string"},"uniqueKey":"rules.items.[INDEX].condition.oneOf.0.forbidden_fields","typeLabel":"string[]"},"min_length":{"type":"object","additionalProperties":{"type":"integer","uniqueKey":"rules.items.[INDEX].condition.oneOf.0.min_length.additionalProperties","typeLabel":"integer"},"uniqueKey":"rules.items.[INDEX].condition.oneOf.0.min_length","typeLabel":"object"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"rules.items.[INDEX].condition.oneOf.0","typeLabel":"object"},{"type":"object","properties":{"field":{"type":"string","uniqueKey":"rules.items.[INDEX].condition.oneOf.1.field","typeLabel":"string"},"not_expired":{"type":"boolean","uniqueKey":"rules.items.[INDEX].condition.oneOf.1.not_expired","typeLabel":"boolean"},"not_future":{"type":"boolean","uniqueKey":"rules.items.[INDEX].condition.oneOf.1.not_future","typeLabel":"boolean"},"reference_field":{"type":"string","uniqueKey":"rules.items.[INDEX].condition.oneOf.1.reference_field","typeLabel":"string"},"max_days_after":{"type":"integer","uniqueKey":"rules.items.[INDEX].condition.oneOf.1.max_days_after","typeLabel":"integer"},"min_days_after":{"type":"integer","uniqueKey":"rules.items.[INDEX].condition.oneOf.1.min_days_after","typeLabel":"integer"},"min_days_before":{"type":"integer","uniqueKey":"rules.items.[INDEX].condition.oneOf.1.min_days_before","typeLabel":"integer"},"must_be_before":{"type":"boolean","uniqueKey":"rules.items.[INDEX].condition.oneOf.1.must_be_before","typeLabel":"boolean"},"must_be_after":{"type":"boolean","uniqueKey":"rules.items.[INDEX].condition.oneOf.1.must_be_after","typeLabel":"boolean"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"rules.items.[INDEX].condition.oneOf.1","typeLabel":"object"},{"type":"object","properties":{"field":{"type":"string","uniqueKey":"rules.items.[INDEX].condition.oneOf.2.field","typeLabel":"string"},"min":{"type":"number","uniqueKey":"rules.items.[INDEX].condition.oneOf.2.min","typeLabel":"number"},"max":{"type":"number","uniqueKey":"rules.items.[INDEX].condition.oneOf.2.max","typeLabel":"number"},"greater_than":{"type":"number","uniqueKey":"rules.items.[INDEX].condition.oneOf.2.greater_than","typeLabel":"number"},"less_than":{"type":"number","uniqueKey":"rules.items.[INDEX].condition.oneOf.2.less_than","typeLabel":"number"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"rules.items.[INDEX].condition.oneOf.2","typeLabel":"object"},{"type":"object","properties":{"field":{"type":"string","uniqueKey":"rules.items.[INDEX].condition.oneOf.3.field","typeLabel":"string"},"allowed":{"type":"array","items":{"type":"string","uniqueKey":"rules.items.[INDEX].condition.oneOf.3.allowed.items.[INDEX]","typeLabel":"string"},"uniqueKey":"rules.items.[INDEX].condition.oneOf.3.allowed","typeLabel":"string[]"},"forbidden":{"type":"array","items":{"type":"string","uniqueKey":"rules.items.[INDEX].condition.oneOf.3.forbidden.items.[INDEX]","typeLabel":"string"},"uniqueKey":"rules.items.[INDEX].condition.oneOf.3.forbidden","typeLabel":"string[]"},"case_sensitive":{"type":"boolean","uniqueKey":"rules.items.[INDEX].condition.oneOf.3.case_sensitive","typeLabel":"boolean"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"rules.items.[INDEX].condition.oneOf.3","typeLabel":"object"},{"type":"object","properties":{"expression":{"type":"string","uniqueKey":"rules.items.[INDEX].condition.oneOf.4.expression","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"rules.items.[INDEX].condition.oneOf.4","typeLabel":"object"}],"isRequired":true,"uniqueKey":"rules.items.[INDEX].condition","typeLabel":"object"},"severity":{"oneOf":[{"type":"string","enum":["low"],"isRequired":true,"uniqueKey":"rules.items.[INDEX].severity.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["medium"],"isRequired":true,"uniqueKey":"rules.items.[INDEX].severity.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["high"],"isRequired":true,"uniqueKey":"rules.items.[INDEX].severity.oneOf.2","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["critical"],"isRequired":true,"uniqueKey":"rules.items.[INDEX].severity.oneOf.3","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"rules.items.[INDEX].severity","typeLabel":"enum\u003cstring>"},"description":{"maxLength":1000,"type":"string","uniqueKey":"rules.items.[INDEX].description","typeLabel":"string"},"is_active":{"default":true,"type":"boolean","uniqueKey":"rules.items.[INDEX].is_active","typeLabel":"boolean"},"when":{"oneOf":[{"type":"object","required":["field","equals"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.0.field","typeLabel":"string"},"equals":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.0.equals.oneOf.0","typeLabel":"string"},{"type":"number","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.0.equals.oneOf.1","typeLabel":"number"},{"type":"boolean","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.0.equals.oneOf.2","typeLabel":"boolean"}],"isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.0.equals","typeLabel":"string | number | boolean"},"case_sensitive":{"type":"boolean","uniqueKey":"rules.items.[INDEX].when.oneOf.0.case_sensitive","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"rules.items.[INDEX].when.oneOf.0","typeLabel":"object"},{"type":"object","required":["field","in"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.1.field","typeLabel":"string"},"in":{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"rules.items.[INDEX].when.oneOf.1.in.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.1.in.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"rules.items.[INDEX].when.oneOf.1.in.items.[INDEX].oneOf.2","typeLabel":"boolean"}],"uniqueKey":"rules.items.[INDEX].when.oneOf.1.in.items.[INDEX]","typeLabel":"string | number | boolean"},"isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.1.in","typeLabel":"(string | number | boolean)[]"},"case_sensitive":{"type":"boolean","uniqueKey":"rules.items.[INDEX].when.oneOf.1.case_sensitive","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"rules.items.[INDEX].when.oneOf.1","typeLabel":"object"},{"type":"object","required":["field","exists"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.2.field","typeLabel":"string"},"exists":{"type":"boolean","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.2.exists","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"rules.items.[INDEX].when.oneOf.2","typeLabel":"object"},{"type":"object","required":["field","min"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.3.field","typeLabel":"string"},"min":{"type":"number","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.3.min","typeLabel":"number"},"max":{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.3.max","typeLabel":"number"},"greater_than":{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.3.greater_than","typeLabel":"number"},"less_than":{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.3.less_than","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"rules.items.[INDEX].when.oneOf.3","typeLabel":"object"},{"type":"object","required":["field","max"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.4.field","typeLabel":"string"},"max":{"type":"number","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.4.max","typeLabel":"number"},"min":{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.4.min","typeLabel":"number"},"greater_than":{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.4.greater_than","typeLabel":"number"},"less_than":{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.4.less_than","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"rules.items.[INDEX].when.oneOf.4","typeLabel":"object"},{"type":"object","required":["field","greater_than"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.5.field","typeLabel":"string"},"greater_than":{"type":"number","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.5.greater_than","typeLabel":"number"},"min":{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.5.min","typeLabel":"number"},"max":{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.5.max","typeLabel":"number"},"less_than":{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.5.less_than","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"rules.items.[INDEX].when.oneOf.5","typeLabel":"object"},{"type":"object","required":["field","less_than"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.6.field","typeLabel":"string"},"less_than":{"type":"number","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.6.less_than","typeLabel":"number"},"min":{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.6.min","typeLabel":"number"},"max":{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.6.max","typeLabel":"number"},"greater_than":{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.6.greater_than","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"rules.items.[INDEX].when.oneOf.6","typeLabel":"object"},{"type":"object","required":["all"],"properties":{"all":{"type":"array","items":{"oneOf":[{"type":"object","title":"When","required":["field","equals"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.0.field","typeLabel":"string"},"equals":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.0.equals.oneOf.0","typeLabel":"string"},{"type":"number","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.0.equals.oneOf.1","typeLabel":"number"},{"type":"boolean","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.0.equals.oneOf.2","typeLabel":"boolean"}],"isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.0.equals","typeLabel":"string | number | boolean"},"case_sensitive":{"type":"boolean","uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.0.case_sensitive","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.0","typeLabel":"When · object"},{"type":"object","title":"When","required":["field","in"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.1.field","typeLabel":"string"},"in":{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.1.in.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.1.in.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.1.in.items.[INDEX].oneOf.2","typeLabel":"boolean"}],"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.1.in.items.[INDEX]","typeLabel":"string | number | boolean"},"isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.1.in","typeLabel":"(string | number | boolean)[]"},"case_sensitive":{"type":"boolean","uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.1.case_sensitive","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.1","typeLabel":"When · object"},{"type":"object","title":"When","required":["field","exists"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.2.field","typeLabel":"string"},"exists":{"type":"boolean","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.2.exists","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.2","typeLabel":"When · object"},{"type":"object","title":"When","required":["field","min"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.3.field","typeLabel":"string"},"min":{"type":"number","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.3.min","typeLabel":"number"},"max":{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.3.max","typeLabel":"number"},"greater_than":{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.3.greater_than","typeLabel":"number"},"less_than":{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.3.less_than","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.3","typeLabel":"When · object"},{"type":"object","title":"When","required":["field","max"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.4.field","typeLabel":"string"},"max":{"type":"number","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.4.max","typeLabel":"number"},"min":{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.4.min","typeLabel":"number"},"greater_than":{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.4.greater_than","typeLabel":"number"},"less_than":{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.4.less_than","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.4","typeLabel":"When · object"},{"type":"object","title":"When","required":["field","greater_than"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.5.field","typeLabel":"string"},"greater_than":{"type":"number","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.5.greater_than","typeLabel":"number"},"min":{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.5.min","typeLabel":"number"},"max":{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.5.max","typeLabel":"number"},"less_than":{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.5.less_than","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.5","typeLabel":"When · object"},{"type":"object","title":"When","required":["field","less_than"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.6.field","typeLabel":"string"},"less_than":{"type":"number","isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.6.less_than","typeLabel":"number"},"min":{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.6.min","typeLabel":"number"},"max":{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.6.max","typeLabel":"number"},"greater_than":{"type":"number","uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.6.greater_than","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.6","typeLabel":"When · object"},{"type":"object","title":"When","required":["all"],"properties":{"all":{"oneOf":[{"$circularRef":"388836dc-b3d0-4a53-aec9-4a17865080bc","isRequired":true}],"isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.7.all","typeLabel":"any"}},"additionalProperties":false,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.7","typeLabel":"When · object"},{"type":"object","title":"When","required":["any"],"properties":{"any":{"type":"array","items":{"$circularRef":"efae0edc-b4ed-4499-b194-5db632247df3"},"isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.8.any","typeLabel":"array"}},"additionalProperties":false,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.8","typeLabel":"When · object"}],"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all.items.[INDEX]","typeLabel":"When · object"},"isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.7.all","typeLabel":"When · object[]"}},"additionalProperties":false,"uniqueKey":"rules.items.[INDEX].when.oneOf.7","typeLabel":"object"},{"type":"object","required":["any"],"properties":{"any":{"type":"array","items":{"$circularRef":"efae0edc-b4ed-4499-b194-5db632247df3"},"isRequired":true,"uniqueKey":"rules.items.[INDEX].when.oneOf.8.any","typeLabel":"array"}},"additionalProperties":false,"uniqueKey":"rules.items.[INDEX].when.oneOf.8","typeLabel":"object"}],"uniqueKey":"rules.items.[INDEX].when","typeLabel":"object"},"source_ref":{"type":"object","properties":{"document":{"maxLength":500,"type":"string","uniqueKey":"rules.items.[INDEX].source_ref.document","typeLabel":"string"},"section":{"maxLength":200,"type":"string","uniqueKey":"rules.items.[INDEX].source_ref.section","typeLabel":"string"},"url":{"maxLength":2000,"type":"string","uniqueKey":"rules.items.[INDEX].source_ref.url","typeLabel":"string"}},"uniqueKey":"rules.items.[INDEX].source_ref","typeLabel":"object"},"replaces_rule_code":{"maxLength":50,"description":"Advisory lineage: rule code this replaces (not included in snapshot hash)","type":"string","uniqueKey":"rules.items.[INDEX].replaces_rule_code","typeLabel":"string"}},"uniqueKey":"rules.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"rules","typeLabel":"object[]"},"change_reason":{"maxLength":500,"type":"string","uniqueKey":"change_reason","typeLabel":"string"},"codification":{"additionalProperties":false,"description":"Optional. When provided, MeshQu stores the rules produced from the codification input. Their `source_ref` is derived from the declared clause rather than taken from the caller.","type":"object","required":["source","clauses","rule_units"],"properties":{"source":{"additionalProperties":false,"type":"object","required":["document"],"properties":{"document":{"minLength":1,"maxLength":500,"description":"Human-facing document name, e.g. the filename or title.","type":"string","isRequired":true,"uniqueKey":"codification.source.document","typeLabel":"string"},"url":{"maxLength":2000,"description":"Optional link to the stored source object.","type":"string","uniqueKey":"codification.source.url","typeLabel":"string"}},"isRequired":true,"uniqueKey":"codification.source","typeLabel":"object"},"clauses":{"minItems":1,"description":"Every declared unit of the source document. `codify()` refuses the write unless each one has exactly one outcome (a rule via `rule_units`, or an entry in `dispositions`).","type":"array","items":{"additionalProperties":false,"type":"object","required":["unit_id","locator","text"],"properties":{"unit_id":{"minLength":1,"description":"Stable id within this document, e.g. \"unit-4-1\".","type":"string","isRequired":true,"uniqueKey":"codification.clauses.items.[INDEX].unit_id","typeLabel":"string"},"locator":{"minLength":1,"description":"How a human finds it in the source, e.g. \"4.1\".","type":"string","isRequired":true,"uniqueKey":"codification.clauses.items.[INDEX].locator","typeLabel":"string"},"text":{"minLength":1,"description":"The clause text, verbatim.","type":"string","isRequired":true,"uniqueKey":"codification.clauses.items.[INDEX].text","typeLabel":"string"}},"uniqueKey":"codification.clauses.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"codification.clauses","typeLabel":"object[]"},"rule_units":{"description":"Maps a submitted rule's `code` to the `unit_id` of the clause it was derived from. A rule with no entry here is refused — an unattributed rule cannot be stored through this path.","type":"object","additionalProperties":{"type":"string","uniqueKey":"codification.rule_units.additionalProperties","typeLabel":"string"},"isRequired":true,"uniqueKey":"codification.rule_units","typeLabel":"object"},"dispositions":{"description":"Clauses that yielded no rule, and why. Every declared clause not covered by `rule_units` must appear here.","type":"array","items":{"additionalProperties":false,"type":"object","required":["unit_id","disposition","reason"],"properties":{"unit_id":{"minLength":1,"type":"string","isRequired":true,"uniqueKey":"codification.dispositions.items.[INDEX].unit_id","typeLabel":"string"},"disposition":{"oneOf":[{"type":"string","enum":["ambiguous"],"isRequired":true,"uniqueKey":"codification.dispositions.items.[INDEX].disposition.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["unsupported"],"isRequired":true,"uniqueKey":"codification.dispositions.items.[INDEX].disposition.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["non_normative"],"isRequired":true,"uniqueKey":"codification.dispositions.items.[INDEX].disposition.oneOf.2","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"codification.dispositions.items.[INDEX].disposition","typeLabel":"enum\u003cstring>"},"reason":{"description":"Required. Shown to the reviewer as the thing they must decide about.","type":"string","isRequired":true,"uniqueKey":"codification.dispositions.items.[INDEX].reason","typeLabel":"string"}},"uniqueKey":"codification.dispositions.items.[INDEX]","typeLabel":"object"},"uniqueKey":"codification.dispositions","typeLabel":"object[]"}},"uniqueKey":"codification","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"expected_revision":1,"rules":[{"code":"\u003cstring>","name":"\u003cstring>","rule_type":"presence","condition":{"required_fields":["\u003cstring>"],"forbidden_fields":["\u003cstring>"],"min_length":{}},"severity":"low","description":"\u003cstring>","is_active":true,"when":{"field":"\u003cstring>","equals":"\u003cstring>","case_sensitive":true},"source_ref":{"document":"\u003cstring>","section":"\u003cstring>","url":"\u003cstring>"},"replaces_rule_code":"\u003cstring>"}],"change_reason":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"28bcad36-7528-4395-b293-fec49be14d9a":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["replaced","draft"],"properties":{"replaced":{"type":"object","required":["id","policy_id","version","draft_revision","active_rules_hash","is_active","status","created_at","created_by","change_reason"],"properties":{"id":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"replaced.id","typeLabel":"string\u003cuuid>"},"policy_id":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"replaced.policy_id","typeLabel":"string\u003cuuid>"},"version":{"type":"integer","isRequired":true,"uniqueKey":"replaced.version","typeLabel":"integer"},"draft_revision":{"minimum":0,"type":"integer","isRequired":true,"uniqueKey":"replaced.draft_revision","typeLabel":"integer"},"active_rules_hash":{"pattern":"^[0-9a-f]{64}$","description":"SHA-256 hash of the active rules’ evaluated fields (code, condition, severity and when) in stored order. Changes to rule metadata or inactive rules do not change this hash.","type":"string","isRequired":true,"uniqueKey":"replaced.active_rules_hash","typeLabel":"string"},"is_active":{"type":"boolean","isRequired":true,"uniqueKey":"replaced.is_active","typeLabel":"boolean"},"status":{"oneOf":[{"type":"string","description":"Lifecycle status: draft → submitted → ratified → activated or superseded. Rejected versions can return to draft. A draft may be discarded; a pending version may be reopened, set aside, or replaced without governing decisions.","enum":["draft"],"isRequired":true,"uniqueKey":"replaced.status.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Lifecycle status: draft → submitted → ratified → activated or superseded. Rejected versions can return to draft. A draft may be discarded; a pending version may be reopened, set aside, or replaced without governing decisions.","enum":["submitted"],"isRequired":true,"uniqueKey":"replaced.status.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Lifecycle status: draft → submitted → ratified → activated or superseded. Rejected versions can return to draft. A draft may be discarded; a pending version may be reopened, set aside, or replaced without governing decisions.","enum":["ratified"],"isRequired":true,"uniqueKey":"replaced.status.oneOf.2","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Lifecycle status: draft → submitted → ratified → activated or superseded. Rejected versions can return to draft. A draft may be discarded; a pending version may be reopened, set aside, or replaced without governing decisions.","enum":["superseded"],"isRequired":true,"uniqueKey":"replaced.status.oneOf.3","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Lifecycle status: draft → submitted → ratified → activated or superseded. Rejected versions can return to draft. A draft may be discarded; a pending version may be reopened, set aside, or replaced without governing decisions.","enum":["discarded"],"isRequired":true,"uniqueKey":"replaced.status.oneOf.4","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Lifecycle status: draft → submitted → ratified → activated or superseded. Rejected versions can return to draft. A draft may be discarded; a pending version may be reopened, set aside, or replaced without governing decisions.","enum":["reopened"],"isRequired":true,"uniqueKey":"replaced.status.oneOf.5","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Lifecycle status: draft → submitted → ratified → activated or superseded. Rejected versions can return to draft. A draft may be discarded; a pending version may be reopened, set aside, or replaced without governing decisions.","enum":["set_aside"],"isRequired":true,"uniqueKey":"replaced.status.oneOf.6","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Lifecycle status: draft → submitted → ratified → activated or superseded. Rejected versions can return to draft. A draft may be discarded; a pending version may be reopened, set aside, or replaced without governing decisions.","enum":["replaced"],"isRequired":true,"uniqueKey":"replaced.status.oneOf.7","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"replaced.status","typeLabel":"enum\u003cstring>"},"created_at":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"replaced.created_at","typeLabel":"string\u003cdate-time>"},"created_by":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"replaced.created_by.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"replaced.created_by.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"replaced.created_by","typeLabel":"string | null"},"change_reason":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"replaced.change_reason.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"replaced.change_reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"replaced.change_reason","typeLabel":"string | null"},"ratified_by":{"type":"string","uniqueKey":"replaced.ratified_by","typeLabel":"string"},"ratified_at":{"format":"date-time","type":"string","uniqueKey":"replaced.ratified_at","typeLabel":"string\u003cdate-time>"},"submitted_by":{"type":"string","uniqueKey":"replaced.submitted_by","typeLabel":"string"},"submitted_at":{"format":"date-time","type":"string","uniqueKey":"replaced.submitted_at","typeLabel":"string\u003cdate-time>"},"rejected_by":{"type":"string","uniqueKey":"replaced.rejected_by","typeLabel":"string"},"rejected_at":{"format":"date-time","type":"string","uniqueKey":"replaced.rejected_at","typeLabel":"string\u003cdate-time>"},"rejection_reason":{"type":"string","uniqueKey":"replaced.rejection_reason","typeLabel":"string"},"closed_at":{"format":"date-time","type":"string","uniqueKey":"replaced.closed_at","typeLabel":"string\u003cdate-time>"},"closed_by":{"type":"string","uniqueKey":"replaced.closed_by","typeLabel":"string"},"closed_reason":{"type":"string","uniqueKey":"replaced.closed_reason","typeLabel":"string"},"supersedes_version_id":{"format":"uuid","description":"Present only on a version created by draft supersession: the id of the replaced draft this version continues. Written when the version is created and never changed. Absent on every other version, including one started after a set-aside or a reopen.","type":"string","uniqueKey":"replaced.supersedes_version_id","typeLabel":"string\u003cuuid>"},"codification_record":{"additionalProperties":false,"description":"What the codification that produced this version accounted for. Unsigned and unhashed; NOT a sealed review package.","type":"object","required":["schema","source","clauses","ledger","counts","refusals"],"properties":{"schema":{"type":"string","enum":["meshqu-codification-record/v1"],"isRequired":true,"uniqueKey":"replaced.codification_record.schema","typeLabel":"enum\u003cstring>"},"source":{"additionalProperties":false,"type":"object","required":["document"],"properties":{"document":{"minLength":1,"maxLength":500,"description":"Human-facing document name, e.g. the filename or title.","type":"string","isRequired":true,"uniqueKey":"replaced.codification_record.source.document","typeLabel":"string"},"url":{"maxLength":2000,"description":"Optional link to the stored source object.","type":"string","uniqueKey":"replaced.codification_record.source.url","typeLabel":"string"}},"isRequired":true,"uniqueKey":"replaced.codification_record.source","typeLabel":"object"},"clauses":{"type":"array","items":{"additionalProperties":false,"type":"object","required":["unit_id","locator","text"],"properties":{"unit_id":{"minLength":1,"description":"Stable id within this document, e.g. \"unit-4-1\".","type":"string","isRequired":true,"uniqueKey":"replaced.codification_record.clauses.items.[INDEX].unit_id","typeLabel":"string"},"locator":{"minLength":1,"description":"How a human finds it in the source, e.g. \"4.1\".","type":"string","isRequired":true,"uniqueKey":"replaced.codification_record.clauses.items.[INDEX].locator","typeLabel":"string"},"text":{"minLength":1,"description":"The clause text, verbatim.","type":"string","isRequired":true,"uniqueKey":"replaced.codification_record.clauses.items.[INDEX].text","typeLabel":"string"}},"uniqueKey":"replaced.codification_record.clauses.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"replaced.codification_record.clauses","typeLabel":"object[]"},"ledger":{"description":"Exactly one entry per declared clause.","type":"array","items":{"additionalProperties":false,"type":"object","required":["unit_id","disposition"],"properties":{"unit_id":{"type":"string","isRequired":true,"uniqueKey":"replaced.codification_record.ledger.items.[INDEX].unit_id","typeLabel":"string"},"disposition":{"oneOf":[{"type":"string","enum":["mapped"],"isRequired":true,"uniqueKey":"replaced.codification_record.ledger.items.[INDEX].disposition.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["ambiguous"],"isRequired":true,"uniqueKey":"replaced.codification_record.ledger.items.[INDEX].disposition.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["unsupported"],"isRequired":true,"uniqueKey":"replaced.codification_record.ledger.items.[INDEX].disposition.oneOf.2","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["non_normative"],"isRequired":true,"uniqueKey":"replaced.codification_record.ledger.items.[INDEX].disposition.oneOf.3","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"replaced.codification_record.ledger.items.[INDEX].disposition","typeLabel":"enum\u003cstring>"},"note":{"type":"string","uniqueKey":"replaced.codification_record.ledger.items.[INDEX].note","typeLabel":"string"}},"uniqueKey":"replaced.codification_record.ledger.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"replaced.codification_record.ledger","typeLabel":"object[]"},"counts":{"additionalProperties":false,"type":"object","required":["clauses","mapped","ambiguous","unsupported","non_normative","refused"],"properties":{"clauses":{"type":"integer","isRequired":true,"uniqueKey":"replaced.codification_record.counts.clauses","typeLabel":"integer"},"mapped":{"type":"integer","isRequired":true,"uniqueKey":"replaced.codification_record.counts.mapped","typeLabel":"integer"},"ambiguous":{"type":"integer","isRequired":true,"uniqueKey":"replaced.codification_record.counts.ambiguous","typeLabel":"integer"},"unsupported":{"type":"integer","isRequired":true,"uniqueKey":"replaced.codification_record.counts.unsupported","typeLabel":"integer"},"non_normative":{"type":"integer","isRequired":true,"uniqueKey":"replaced.codification_record.counts.non_normative","typeLabel":"integer"},"refused":{"type":"integer","isRequired":true,"uniqueKey":"replaced.codification_record.counts.refused","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"replaced.codification_record.counts","typeLabel":"object"},"refusals":{"description":"Proposals the rule grammar refused. Never silently dropped.","type":"array","items":{"additionalProperties":false,"type":"object","required":["unit_id","rule_code","kind","message"],"properties":{"unit_id":{"type":"string","isRequired":true,"uniqueKey":"replaced.codification_record.refusals.items.[INDEX].unit_id","typeLabel":"string"},"rule_code":{"type":"string","isRequired":true,"uniqueKey":"replaced.codification_record.refusals.items.[INDEX].rule_code","typeLabel":"string"},"kind":{"type":"string","isRequired":true,"uniqueKey":"replaced.codification_record.refusals.items.[INDEX].kind","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"replaced.codification_record.refusals.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"replaced.codification_record.refusals.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"replaced.codification_record.refusals","typeLabel":"object[]"},"lint":{"additionalProperties":false,"description":"Advisory output of the codification lint: produced by an automated, model-assisted check comparing the declared clause TEXT to the codifier's stored RULE. Unsigned. Not part of review, ratification, or any receipt, digest, snapshot, export or evidence manifest. Present only when a lint ran for this write — ABSENT on `codification_record.lint` means \"not linted\", never \"no findings\": a lint that ran with nothing to report still appears with status \"ran\" and each clause's `findings` as an empty array.","type":"object","required":["schema","status","answerer","questions_version","floor","clauses"],"properties":{"schema":{"type":"string","enum":["meshqu-codification-lint/v1"],"isRequired":true,"uniqueKey":"replaced.codification_record.lint.schema","typeLabel":"enum\u003cstring>"},"status":{"oneOf":[{"type":"string","description":"Advisory status of an automated, model-assisted check — not part of review, ratification, or any receipt. \"ran\" means findings (possibly none) were produced; \"skipped\"/\"failed\" mean the check did not complete, with `reason` saying why.","enum":["ran"],"isRequired":true,"uniqueKey":"replaced.codification_record.lint.status.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Advisory status of an automated, model-assisted check — not part of review, ratification, or any receipt. \"ran\" means findings (possibly none) were produced; \"skipped\"/\"failed\" mean the check did not complete, with `reason` saying why.","enum":["skipped"],"isRequired":true,"uniqueKey":"replaced.codification_record.lint.status.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Advisory status of an automated, model-assisted check — not part of review, ratification, or any receipt. \"ran\" means findings (possibly none) were produced; \"skipped\"/\"failed\" mean the check did not complete, with `reason` saying why.","enum":["failed"],"isRequired":true,"uniqueKey":"replaced.codification_record.lint.status.oneOf.2","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"replaced.codification_record.lint.status","typeLabel":"enum\u003cstring>"},"answerer":{"oneOf":[{"type":"string","enum":["jev"],"isRequired":true,"uniqueKey":"replaced.codification_record.lint.answerer.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["keyword"],"isRequired":true,"uniqueKey":"replaced.codification_record.lint.answerer.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["none"],"isRequired":true,"uniqueKey":"replaced.codification_record.lint.answerer.oneOf.2","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"replaced.codification_record.lint.answerer","typeLabel":"enum\u003cstring>"},"questions_version":{"type":"string","isRequired":true,"uniqueKey":"replaced.codification_record.lint.questions_version","typeLabel":"string"},"floor":{"description":"Confidence floor an answer had to clear to count. An answer below this is treated as no signal, never a negative answer.","type":"number","isRequired":true,"uniqueKey":"replaced.codification_record.lint.floor","typeLabel":"number"},"clauses":{"type":"array","items":{"additionalProperties":false,"type":"object","required":["unit_id","findings","needs_context"],"properties":{"unit_id":{"type":"string","isRequired":true,"uniqueKey":"replaced.codification_record.lint.clauses.items.[INDEX].unit_id","typeLabel":"string"},"findings":{"type":"array","items":{"additionalProperties":false,"type":"object","required":["code","message","evidence"],"properties":{"code":{"oneOf":[{"type":"string","enum":["guidance_as_obligation"],"isRequired":true,"uniqueKey":"replaced.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].code.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["boundary_mismatch"],"isRequired":true,"uniqueKey":"replaced.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].code.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["scope_as_rule"],"isRequired":true,"uniqueKey":"replaced.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].code.oneOf.2","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["dropped_exception"],"isRequired":true,"uniqueKey":"replaced.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].code.oneOf.3","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["dropped_continuing_duty"],"isRequired":true,"uniqueKey":"replaced.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].code.oneOf.4","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["dropped_approver"],"isRequired":true,"uniqueKey":"replaced.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].code.oneOf.5","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["dropped_obligation"],"isRequired":true,"uniqueKey":"replaced.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].code.oneOf.6","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["should_have_mapped"],"isRequired":true,"uniqueKey":"replaced.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].code.oneOf.7","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["needs_context"],"isRequired":true,"uniqueKey":"replaced.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].code.oneOf.8","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"replaced.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"replaced.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].message","typeLabel":"string"},"evidence":{"additionalProperties":false,"type":"object","properties":{"confidence":{"type":"number","uniqueKey":"replaced.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].evidence.confidence","typeLabel":"number"}},"isRequired":true,"uniqueKey":"replaced.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].evidence","typeLabel":"object"}},"uniqueKey":"replaced.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"replaced.codification_record.lint.clauses.items.[INDEX].findings","typeLabel":"object[]"},"needs_context":{"description":"True when the clause text names a cross-reference the lint cannot itself resolve — a flag, not a finding about a mismatch.","type":"boolean","isRequired":true,"uniqueKey":"replaced.codification_record.lint.clauses.items.[INDEX].needs_context","typeLabel":"boolean"}},"uniqueKey":"replaced.codification_record.lint.clauses.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"replaced.codification_record.lint.clauses","typeLabel":"object[]"},"reason":{"type":"string","uniqueKey":"replaced.codification_record.lint.reason","typeLabel":"string"},"model":{"type":"string","uniqueKey":"replaced.codification_record.lint.model","typeLabel":"string"},"elapsed_ms":{"description":"Wall-clock time (ms) the lint run took, end to end.","type":"number","uniqueKey":"replaced.codification_record.lint.elapsed_ms","typeLabel":"number"}},"uniqueKey":"replaced.codification_record.lint","typeLabel":"object"}},"uniqueKey":"replaced.codification_record","typeLabel":"object"}},"description":"The closed version, rules omitted (unchanged; GET the version to read them).","isRequired":true,"uniqueKey":"replaced","typeLabel":"object"},"draft":{"type":"object","required":["id","policy_id","version","draft_revision","rules","active_rules_hash","is_active","status","created_at","created_by","change_reason"],"properties":{"id":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"draft.id","typeLabel":"string\u003cuuid>"},"policy_id":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"draft.policy_id","typeLabel":"string\u003cuuid>"},"version":{"type":"integer","isRequired":true,"uniqueKey":"draft.version","typeLabel":"integer"},"draft_revision":{"minimum":0,"type":"integer","isRequired":true,"uniqueKey":"draft.draft_revision","typeLabel":"integer"},"rules":{"type":"array","items":{"type":"object","required":["code","name","rule_type","condition","severity"],"properties":{"code":{"minLength":1,"maxLength":50,"type":"string","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].code","typeLabel":"string"},"name":{"minLength":1,"maxLength":200,"type":"string","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].name","typeLabel":"string"},"rule_type":{"oneOf":[{"type":"string","enum":["presence"],"isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].rule_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["temporal"],"isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].rule_type.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["threshold"],"isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].rule_type.oneOf.2","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["list"],"isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].rule_type.oneOf.3","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["expression"],"isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].rule_type.oneOf.4","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].rule_type","typeLabel":"enum\u003cstring>"},"condition":{"oneOf":[{"type":"object","properties":{"required_fields":{"type":"array","items":{"type":"string","uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.0.required_fields.items.[INDEX]","typeLabel":"string"},"uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.0.required_fields","typeLabel":"string[]"},"forbidden_fields":{"type":"array","items":{"type":"string","uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.0.forbidden_fields.items.[INDEX]","typeLabel":"string"},"uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.0.forbidden_fields","typeLabel":"string[]"},"min_length":{"type":"object","additionalProperties":{"type":"integer","uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.0.min_length.additionalProperties","typeLabel":"integer"},"uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.0.min_length","typeLabel":"object"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.0","typeLabel":"object"},{"type":"object","properties":{"field":{"type":"string","uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.1.field","typeLabel":"string"},"not_expired":{"type":"boolean","uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.1.not_expired","typeLabel":"boolean"},"not_future":{"type":"boolean","uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.1.not_future","typeLabel":"boolean"},"reference_field":{"type":"string","uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.1.reference_field","typeLabel":"string"},"max_days_after":{"type":"integer","uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.1.max_days_after","typeLabel":"integer"},"min_days_after":{"type":"integer","uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.1.min_days_after","typeLabel":"integer"},"min_days_before":{"type":"integer","uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.1.min_days_before","typeLabel":"integer"},"must_be_before":{"type":"boolean","uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.1.must_be_before","typeLabel":"boolean"},"must_be_after":{"type":"boolean","uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.1.must_be_after","typeLabel":"boolean"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.1","typeLabel":"object"},{"type":"object","properties":{"field":{"type":"string","uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.2.field","typeLabel":"string"},"min":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.2.min","typeLabel":"number"},"max":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.2.max","typeLabel":"number"},"greater_than":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.2.greater_than","typeLabel":"number"},"less_than":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.2.less_than","typeLabel":"number"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.2","typeLabel":"object"},{"type":"object","properties":{"field":{"type":"string","uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.3.field","typeLabel":"string"},"allowed":{"type":"array","items":{"type":"string","uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.3.allowed.items.[INDEX]","typeLabel":"string"},"uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.3.allowed","typeLabel":"string[]"},"forbidden":{"type":"array","items":{"type":"string","uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.3.forbidden.items.[INDEX]","typeLabel":"string"},"uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.3.forbidden","typeLabel":"string[]"},"case_sensitive":{"type":"boolean","uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.3.case_sensitive","typeLabel":"boolean"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.3","typeLabel":"object"},{"type":"object","properties":{"expression":{"type":"string","uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.4.expression","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].condition.oneOf.4","typeLabel":"object"}],"isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].condition","typeLabel":"object"},"severity":{"oneOf":[{"type":"string","enum":["low"],"isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].severity.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["medium"],"isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].severity.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["high"],"isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].severity.oneOf.2","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["critical"],"isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].severity.oneOf.3","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].severity","typeLabel":"enum\u003cstring>"},"description":{"maxLength":1000,"type":"string","uniqueKey":"draft.rules.items.[INDEX].description","typeLabel":"string"},"is_active":{"default":true,"type":"boolean","uniqueKey":"draft.rules.items.[INDEX].is_active","typeLabel":"boolean"},"when":{"oneOf":[{"type":"object","required":["field","equals"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.0.field","typeLabel":"string"},"equals":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.0.equals.oneOf.0","typeLabel":"string"},{"type":"number","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.0.equals.oneOf.1","typeLabel":"number"},{"type":"boolean","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.0.equals.oneOf.2","typeLabel":"boolean"}],"isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.0.equals","typeLabel":"string | number | boolean"},"case_sensitive":{"type":"boolean","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.0.case_sensitive","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.0","typeLabel":"object"},{"type":"object","required":["field","in"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.1.field","typeLabel":"string"},"in":{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.1.in.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.1.in.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.1.in.items.[INDEX].oneOf.2","typeLabel":"boolean"}],"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.1.in.items.[INDEX]","typeLabel":"string | number | boolean"},"isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.1.in","typeLabel":"(string | number | boolean)[]"},"case_sensitive":{"type":"boolean","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.1.case_sensitive","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.1","typeLabel":"object"},{"type":"object","required":["field","exists"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.2.field","typeLabel":"string"},"exists":{"type":"boolean","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.2.exists","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.2","typeLabel":"object"},{"type":"object","required":["field","min"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.3.field","typeLabel":"string"},"min":{"type":"number","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.3.min","typeLabel":"number"},"max":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.3.max","typeLabel":"number"},"greater_than":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.3.greater_than","typeLabel":"number"},"less_than":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.3.less_than","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.3","typeLabel":"object"},{"type":"object","required":["field","max"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.4.field","typeLabel":"string"},"max":{"type":"number","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.4.max","typeLabel":"number"},"min":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.4.min","typeLabel":"number"},"greater_than":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.4.greater_than","typeLabel":"number"},"less_than":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.4.less_than","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.4","typeLabel":"object"},{"type":"object","required":["field","greater_than"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.5.field","typeLabel":"string"},"greater_than":{"type":"number","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.5.greater_than","typeLabel":"number"},"min":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.5.min","typeLabel":"number"},"max":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.5.max","typeLabel":"number"},"less_than":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.5.less_than","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.5","typeLabel":"object"},{"type":"object","required":["field","less_than"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.6.field","typeLabel":"string"},"less_than":{"type":"number","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.6.less_than","typeLabel":"number"},"min":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.6.min","typeLabel":"number"},"max":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.6.max","typeLabel":"number"},"greater_than":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.6.greater_than","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.6","typeLabel":"object"},{"type":"object","required":["all"],"properties":{"all":{"type":"array","items":{"oneOf":[{"type":"object","title":"When","required":["field","equals"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.0.field","typeLabel":"string"},"equals":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.0.equals.oneOf.0","typeLabel":"string"},{"type":"number","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.0.equals.oneOf.1","typeLabel":"number"},{"type":"boolean","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.0.equals.oneOf.2","typeLabel":"boolean"}],"isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.0.equals","typeLabel":"string | number | boolean"},"case_sensitive":{"type":"boolean","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.0.case_sensitive","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.0","typeLabel":"When · object"},{"type":"object","title":"When","required":["field","in"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.1.field","typeLabel":"string"},"in":{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.1.in.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.1.in.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.1.in.items.[INDEX].oneOf.2","typeLabel":"boolean"}],"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.1.in.items.[INDEX]","typeLabel":"string | number | boolean"},"isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.1.in","typeLabel":"(string | number | boolean)[]"},"case_sensitive":{"type":"boolean","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.1.case_sensitive","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.1","typeLabel":"When · object"},{"type":"object","title":"When","required":["field","exists"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.2.field","typeLabel":"string"},"exists":{"type":"boolean","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.2.exists","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.2","typeLabel":"When · object"},{"type":"object","title":"When","required":["field","min"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.3.field","typeLabel":"string"},"min":{"type":"number","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.3.min","typeLabel":"number"},"max":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.3.max","typeLabel":"number"},"greater_than":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.3.greater_than","typeLabel":"number"},"less_than":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.3.less_than","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.3","typeLabel":"When · object"},{"type":"object","title":"When","required":["field","max"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.4.field","typeLabel":"string"},"max":{"type":"number","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.4.max","typeLabel":"number"},"min":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.4.min","typeLabel":"number"},"greater_than":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.4.greater_than","typeLabel":"number"},"less_than":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.4.less_than","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.4","typeLabel":"When · object"},{"type":"object","title":"When","required":["field","greater_than"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.5.field","typeLabel":"string"},"greater_than":{"type":"number","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.5.greater_than","typeLabel":"number"},"min":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.5.min","typeLabel":"number"},"max":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.5.max","typeLabel":"number"},"less_than":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.5.less_than","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.5","typeLabel":"When · object"},{"type":"object","title":"When","required":["field","less_than"],"properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.6.field","typeLabel":"string"},"less_than":{"type":"number","isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.6.less_than","typeLabel":"number"},"min":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.6.min","typeLabel":"number"},"max":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.6.max","typeLabel":"number"},"greater_than":{"type":"number","uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.6.greater_than","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.6","typeLabel":"When · object"},{"type":"object","title":"When","required":["all"],"properties":{"all":{"oneOf":[{"$circularRef":"388836dc-b3d0-4a53-aec9-4a17865080bc","isRequired":true}],"isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.7.all","typeLabel":"any"}},"additionalProperties":false,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.7","typeLabel":"When · object"},{"type":"object","title":"When","required":["any"],"properties":{"any":{"type":"array","items":{"$circularRef":"efae0edc-b4ed-4499-b194-5db632247df3"},"isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.8.any","typeLabel":"array"}},"additionalProperties":false,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX].oneOf.8","typeLabel":"When · object"}],"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all.items.[INDEX]","typeLabel":"When · object"},"isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7.all","typeLabel":"When · object[]"}},"additionalProperties":false,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.7","typeLabel":"object"},{"type":"object","required":["any"],"properties":{"any":{"type":"array","items":{"$circularRef":"efae0edc-b4ed-4499-b194-5db632247df3"},"isRequired":true,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.8.any","typeLabel":"array"}},"additionalProperties":false,"uniqueKey":"draft.rules.items.[INDEX].when.oneOf.8","typeLabel":"object"}],"uniqueKey":"draft.rules.items.[INDEX].when","typeLabel":"object"},"source_ref":{"type":"object","properties":{"document":{"maxLength":500,"type":"string","uniqueKey":"draft.rules.items.[INDEX].source_ref.document","typeLabel":"string"},"section":{"maxLength":200,"type":"string","uniqueKey":"draft.rules.items.[INDEX].source_ref.section","typeLabel":"string"},"url":{"maxLength":2000,"type":"string","uniqueKey":"draft.rules.items.[INDEX].source_ref.url","typeLabel":"string"}},"uniqueKey":"draft.rules.items.[INDEX].source_ref","typeLabel":"object"},"replaces_rule_code":{"maxLength":50,"description":"Advisory lineage: rule code this replaces (not included in snapshot hash)","type":"string","uniqueKey":"draft.rules.items.[INDEX].replaces_rule_code","typeLabel":"string"}},"uniqueKey":"draft.rules.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"draft.rules","typeLabel":"object[]"},"active_rules_hash":{"pattern":"^[0-9a-f]{64}$","description":"SHA-256 hash of the active rules’ evaluated fields (code, condition, severity and when) in stored order. Changes to rule metadata or inactive rules do not change this hash.","type":"string","isRequired":true,"uniqueKey":"draft.active_rules_hash","typeLabel":"string"},"is_active":{"type":"boolean","isRequired":true,"uniqueKey":"draft.is_active","typeLabel":"boolean"},"status":{"oneOf":[{"type":"string","description":"Lifecycle status: draft → submitted → ratified → activated or superseded. Rejected versions can return to draft. A draft may be discarded; a pending version may be reopened, set aside, or replaced without governing decisions.","enum":["draft"],"isRequired":true,"uniqueKey":"draft.status.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Lifecycle status: draft → submitted → ratified → activated or superseded. Rejected versions can return to draft. A draft may be discarded; a pending version may be reopened, set aside, or replaced without governing decisions.","enum":["submitted"],"isRequired":true,"uniqueKey":"draft.status.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Lifecycle status: draft → submitted → ratified → activated or superseded. Rejected versions can return to draft. A draft may be discarded; a pending version may be reopened, set aside, or replaced without governing decisions.","enum":["ratified"],"isRequired":true,"uniqueKey":"draft.status.oneOf.2","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Lifecycle status: draft → submitted → ratified → activated or superseded. Rejected versions can return to draft. A draft may be discarded; a pending version may be reopened, set aside, or replaced without governing decisions.","enum":["superseded"],"isRequired":true,"uniqueKey":"draft.status.oneOf.3","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Lifecycle status: draft → submitted → ratified → activated or superseded. Rejected versions can return to draft. A draft may be discarded; a pending version may be reopened, set aside, or replaced without governing decisions.","enum":["discarded"],"isRequired":true,"uniqueKey":"draft.status.oneOf.4","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Lifecycle status: draft → submitted → ratified → activated or superseded. Rejected versions can return to draft. A draft may be discarded; a pending version may be reopened, set aside, or replaced without governing decisions.","enum":["reopened"],"isRequired":true,"uniqueKey":"draft.status.oneOf.5","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Lifecycle status: draft → submitted → ratified → activated or superseded. Rejected versions can return to draft. A draft may be discarded; a pending version may be reopened, set aside, or replaced without governing decisions.","enum":["set_aside"],"isRequired":true,"uniqueKey":"draft.status.oneOf.6","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Lifecycle status: draft → submitted → ratified → activated or superseded. Rejected versions can return to draft. A draft may be discarded; a pending version may be reopened, set aside, or replaced without governing decisions.","enum":["replaced"],"isRequired":true,"uniqueKey":"draft.status.oneOf.7","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"draft.status","typeLabel":"enum\u003cstring>"},"created_at":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"draft.created_at","typeLabel":"string\u003cdate-time>"},"created_by":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"draft.created_by.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"draft.created_by.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"draft.created_by","typeLabel":"string | null"},"change_reason":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"draft.change_reason.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"draft.change_reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"draft.change_reason","typeLabel":"string | null"},"ratified_by":{"type":"string","uniqueKey":"draft.ratified_by","typeLabel":"string"},"ratified_at":{"format":"date-time","type":"string","uniqueKey":"draft.ratified_at","typeLabel":"string\u003cdate-time>"},"submitted_by":{"type":"string","uniqueKey":"draft.submitted_by","typeLabel":"string"},"submitted_at":{"format":"date-time","type":"string","uniqueKey":"draft.submitted_at","typeLabel":"string\u003cdate-time>"},"rejected_by":{"type":"string","uniqueKey":"draft.rejected_by","typeLabel":"string"},"rejected_at":{"format":"date-time","type":"string","uniqueKey":"draft.rejected_at","typeLabel":"string\u003cdate-time>"},"rejection_reason":{"type":"string","uniqueKey":"draft.rejection_reason","typeLabel":"string"},"closed_at":{"format":"date-time","type":"string","uniqueKey":"draft.closed_at","typeLabel":"string\u003cdate-time>"},"closed_by":{"type":"string","uniqueKey":"draft.closed_by","typeLabel":"string"},"closed_reason":{"type":"string","uniqueKey":"draft.closed_reason","typeLabel":"string"},"supersedes_version_id":{"format":"uuid","description":"Present only on a version created by draft supersession: the id of the replaced draft this version continues. Written when the version is created and never changed. Absent on every other version, including one started after a set-aside or a reopen.","type":"string","uniqueKey":"draft.supersedes_version_id","typeLabel":"string\u003cuuid>"},"codification_record":{"additionalProperties":false,"description":"What the codification that produced this version accounted for. Unsigned and unhashed; NOT a sealed review package.","type":"object","required":["schema","source","clauses","ledger","counts","refusals"],"properties":{"schema":{"type":"string","enum":["meshqu-codification-record/v1"],"isRequired":true,"uniqueKey":"draft.codification_record.schema","typeLabel":"enum\u003cstring>"},"source":{"additionalProperties":false,"type":"object","required":["document"],"properties":{"document":{"minLength":1,"maxLength":500,"description":"Human-facing document name, e.g. the filename or title.","type":"string","isRequired":true,"uniqueKey":"draft.codification_record.source.document","typeLabel":"string"},"url":{"maxLength":2000,"description":"Optional link to the stored source object.","type":"string","uniqueKey":"draft.codification_record.source.url","typeLabel":"string"}},"isRequired":true,"uniqueKey":"draft.codification_record.source","typeLabel":"object"},"clauses":{"type":"array","items":{"additionalProperties":false,"type":"object","required":["unit_id","locator","text"],"properties":{"unit_id":{"minLength":1,"description":"Stable id within this document, e.g. \"unit-4-1\".","type":"string","isRequired":true,"uniqueKey":"draft.codification_record.clauses.items.[INDEX].unit_id","typeLabel":"string"},"locator":{"minLength":1,"description":"How a human finds it in the source, e.g. \"4.1\".","type":"string","isRequired":true,"uniqueKey":"draft.codification_record.clauses.items.[INDEX].locator","typeLabel":"string"},"text":{"minLength":1,"description":"The clause text, verbatim.","type":"string","isRequired":true,"uniqueKey":"draft.codification_record.clauses.items.[INDEX].text","typeLabel":"string"}},"uniqueKey":"draft.codification_record.clauses.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"draft.codification_record.clauses","typeLabel":"object[]"},"ledger":{"description":"Exactly one entry per declared clause.","type":"array","items":{"additionalProperties":false,"type":"object","required":["unit_id","disposition"],"properties":{"unit_id":{"type":"string","isRequired":true,"uniqueKey":"draft.codification_record.ledger.items.[INDEX].unit_id","typeLabel":"string"},"disposition":{"oneOf":[{"type":"string","enum":["mapped"],"isRequired":true,"uniqueKey":"draft.codification_record.ledger.items.[INDEX].disposition.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["ambiguous"],"isRequired":true,"uniqueKey":"draft.codification_record.ledger.items.[INDEX].disposition.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["unsupported"],"isRequired":true,"uniqueKey":"draft.codification_record.ledger.items.[INDEX].disposition.oneOf.2","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["non_normative"],"isRequired":true,"uniqueKey":"draft.codification_record.ledger.items.[INDEX].disposition.oneOf.3","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"draft.codification_record.ledger.items.[INDEX].disposition","typeLabel":"enum\u003cstring>"},"note":{"type":"string","uniqueKey":"draft.codification_record.ledger.items.[INDEX].note","typeLabel":"string"}},"uniqueKey":"draft.codification_record.ledger.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"draft.codification_record.ledger","typeLabel":"object[]"},"counts":{"additionalProperties":false,"type":"object","required":["clauses","mapped","ambiguous","unsupported","non_normative","refused"],"properties":{"clauses":{"type":"integer","isRequired":true,"uniqueKey":"draft.codification_record.counts.clauses","typeLabel":"integer"},"mapped":{"type":"integer","isRequired":true,"uniqueKey":"draft.codification_record.counts.mapped","typeLabel":"integer"},"ambiguous":{"type":"integer","isRequired":true,"uniqueKey":"draft.codification_record.counts.ambiguous","typeLabel":"integer"},"unsupported":{"type":"integer","isRequired":true,"uniqueKey":"draft.codification_record.counts.unsupported","typeLabel":"integer"},"non_normative":{"type":"integer","isRequired":true,"uniqueKey":"draft.codification_record.counts.non_normative","typeLabel":"integer"},"refused":{"type":"integer","isRequired":true,"uniqueKey":"draft.codification_record.counts.refused","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"draft.codification_record.counts","typeLabel":"object"},"refusals":{"description":"Proposals the rule grammar refused. Never silently dropped.","type":"array","items":{"additionalProperties":false,"type":"object","required":["unit_id","rule_code","kind","message"],"properties":{"unit_id":{"type":"string","isRequired":true,"uniqueKey":"draft.codification_record.refusals.items.[INDEX].unit_id","typeLabel":"string"},"rule_code":{"type":"string","isRequired":true,"uniqueKey":"draft.codification_record.refusals.items.[INDEX].rule_code","typeLabel":"string"},"kind":{"type":"string","isRequired":true,"uniqueKey":"draft.codification_record.refusals.items.[INDEX].kind","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"draft.codification_record.refusals.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"draft.codification_record.refusals.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"draft.codification_record.refusals","typeLabel":"object[]"},"lint":{"additionalProperties":false,"description":"Advisory output of the codification lint: produced by an automated, model-assisted check comparing the declared clause TEXT to the codifier's stored RULE. Unsigned. Not part of review, ratification, or any receipt, digest, snapshot, export or evidence manifest. Present only when a lint ran for this write — ABSENT on `codification_record.lint` means \"not linted\", never \"no findings\": a lint that ran with nothing to report still appears with status \"ran\" and each clause's `findings` as an empty array.","type":"object","required":["schema","status","answerer","questions_version","floor","clauses"],"properties":{"schema":{"type":"string","enum":["meshqu-codification-lint/v1"],"isRequired":true,"uniqueKey":"draft.codification_record.lint.schema","typeLabel":"enum\u003cstring>"},"status":{"oneOf":[{"type":"string","description":"Advisory status of an automated, model-assisted check — not part of review, ratification, or any receipt. \"ran\" means findings (possibly none) were produced; \"skipped\"/\"failed\" mean the check did not complete, with `reason` saying why.","enum":["ran"],"isRequired":true,"uniqueKey":"draft.codification_record.lint.status.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Advisory status of an automated, model-assisted check — not part of review, ratification, or any receipt. \"ran\" means findings (possibly none) were produced; \"skipped\"/\"failed\" mean the check did not complete, with `reason` saying why.","enum":["skipped"],"isRequired":true,"uniqueKey":"draft.codification_record.lint.status.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Advisory status of an automated, model-assisted check — not part of review, ratification, or any receipt. \"ran\" means findings (possibly none) were produced; \"skipped\"/\"failed\" mean the check did not complete, with `reason` saying why.","enum":["failed"],"isRequired":true,"uniqueKey":"draft.codification_record.lint.status.oneOf.2","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"draft.codification_record.lint.status","typeLabel":"enum\u003cstring>"},"answerer":{"oneOf":[{"type":"string","enum":["jev"],"isRequired":true,"uniqueKey":"draft.codification_record.lint.answerer.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["keyword"],"isRequired":true,"uniqueKey":"draft.codification_record.lint.answerer.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["none"],"isRequired":true,"uniqueKey":"draft.codification_record.lint.answerer.oneOf.2","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"draft.codification_record.lint.answerer","typeLabel":"enum\u003cstring>"},"questions_version":{"type":"string","isRequired":true,"uniqueKey":"draft.codification_record.lint.questions_version","typeLabel":"string"},"floor":{"description":"Confidence floor an answer had to clear to count. An answer below this is treated as no signal, never a negative answer.","type":"number","isRequired":true,"uniqueKey":"draft.codification_record.lint.floor","typeLabel":"number"},"clauses":{"type":"array","items":{"additionalProperties":false,"type":"object","required":["unit_id","findings","needs_context"],"properties":{"unit_id":{"type":"string","isRequired":true,"uniqueKey":"draft.codification_record.lint.clauses.items.[INDEX].unit_id","typeLabel":"string"},"findings":{"type":"array","items":{"additionalProperties":false,"type":"object","required":["code","message","evidence"],"properties":{"code":{"oneOf":[{"type":"string","enum":["guidance_as_obligation"],"isRequired":true,"uniqueKey":"draft.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].code.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["boundary_mismatch"],"isRequired":true,"uniqueKey":"draft.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].code.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["scope_as_rule"],"isRequired":true,"uniqueKey":"draft.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].code.oneOf.2","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["dropped_exception"],"isRequired":true,"uniqueKey":"draft.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].code.oneOf.3","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["dropped_continuing_duty"],"isRequired":true,"uniqueKey":"draft.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].code.oneOf.4","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["dropped_approver"],"isRequired":true,"uniqueKey":"draft.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].code.oneOf.5","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["dropped_obligation"],"isRequired":true,"uniqueKey":"draft.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].code.oneOf.6","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["should_have_mapped"],"isRequired":true,"uniqueKey":"draft.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].code.oneOf.7","typeLabel":"enum\u003cstring>"},{"type":"string","enum":["needs_context"],"isRequired":true,"uniqueKey":"draft.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].code.oneOf.8","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"draft.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"draft.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].message","typeLabel":"string"},"evidence":{"additionalProperties":false,"type":"object","properties":{"confidence":{"type":"number","uniqueKey":"draft.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].evidence.confidence","typeLabel":"number"}},"isRequired":true,"uniqueKey":"draft.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX].evidence","typeLabel":"object"}},"uniqueKey":"draft.codification_record.lint.clauses.items.[INDEX].findings.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"draft.codification_record.lint.clauses.items.[INDEX].findings","typeLabel":"object[]"},"needs_context":{"description":"True when the clause text names a cross-reference the lint cannot itself resolve — a flag, not a finding about a mismatch.","type":"boolean","isRequired":true,"uniqueKey":"draft.codification_record.lint.clauses.items.[INDEX].needs_context","typeLabel":"boolean"}},"uniqueKey":"draft.codification_record.lint.clauses.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"draft.codification_record.lint.clauses","typeLabel":"object[]"},"reason":{"type":"string","uniqueKey":"draft.codification_record.lint.reason","typeLabel":"string"},"model":{"type":"string","uniqueKey":"draft.codification_record.lint.model","typeLabel":"string"},"elapsed_ms":{"description":"Wall-clock time (ms) the lint run took, end to end.","type":"number","uniqueKey":"draft.codification_record.lint.elapsed_ms","typeLabel":"number"}},"uniqueKey":"draft.codification_record.lint","typeLabel":"object"}},"uniqueKey":"draft.codification_record","typeLabel":"object"}},"isRequired":true,"uniqueKey":"draft","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"replaced":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","policy_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","version":123,"draft_revision":1,"active_rules_hash":"\u003cstring>","is_active":true,"status":"draft","created_at":"2023-11-07T05:31:56Z","created_by":"\u003cstring>","change_reason":"\u003cstring>","ratified_by":"\u003cstring>","ratified_at":"2023-11-07T05:31:56Z","submitted_by":"\u003cstring>","submitted_at":"2023-11-07T05:31:56Z","rejected_by":"\u003cstring>","rejected_at":"2023-11-07T05:31:56Z","rejection_reason":"\u003cstring>","closed_at":"2023-11-07T05:31:56Z","closed_by":"\u003cstring>","closed_reason":"\u003cstring>","supersedes_version_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","codification_record":{"schema":"meshqu-codification-record/v1","source":{"document":"\u003cstring>","url":"\u003cstring>"},"clauses":[{"unit_id":"\u003cstring>","locator":"\u003cstring>","text":"\u003cstring>"}],"ledger":[{"unit_id":"\u003cstring>","disposition":"mapped","note":"\u003cstring>"}],"counts":{"clauses":123,"mapped":123,"ambiguous":123,"unsupported":123,"non_normative":123,"refused":123},"refusals":[{"unit_id":"\u003cstring>","rule_code":"\u003cstring>","kind":"\u003cstring>","message":"\u003cstring>"}],"lint":{"schema":"meshqu-codification-lint/v1","status":"ran","answerer":"jev","questions_version":"\u003cstring>","floor":123,"clauses":[{"unit_id":"\u003cstring>","findings":[{"code":"guidance_as_obligation","message":"\u003cstring>","evidence":{"confidence":123}}],"needs_context":true}],"reason":"\u003cstring>","model":"\u003cstring>","elapsed_ms":123}}},"draft":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","policy_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","version":123,"draft_revision":1,"rules":[{"code":"\u003cstring>","name":"\u003cstring>","rule_type":"presence","condition":{"required_fields":["\u003cstring>"],"forbidden_fields":["\u003cstring>"],"min_length":{}},"severity":"low","description":"\u003cstring>","is_active":true,"when":{"field":"\u003cstring>","equals":"\u003cstring>","case_sensitive":true},"source_ref":{"document":"\u003cstring>","section":"\u003cstring>","url":"\u003cstring>"},"replaces_rule_code":"\u003cstring>"}],"active_rules_hash":"\u003cstring>","is_active":true,"status":"draft","created_at":"2023-11-07T05:31:56Z","created_by":"\u003cstring>","change_reason":"\u003cstring>","ratified_by":"\u003cstring>","ratified_at":"2023-11-07T05:31:56Z","submitted_by":"\u003cstring>","submitted_at":"2023-11-07T05:31:56Z","rejected_by":"\u003cstring>","rejected_at":"2023-11-07T05:31:56Z","rejection_reason":"\u003cstring>","closed_at":"2023-11-07T05:31:56Z","closed_by":"\u003cstring>","closed_reason":"\u003cstring>","supersedes_version_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","codification_record":{"schema":"meshqu-codification-record/v1","source":{"document":"\u003cstring>","url":"\u003cstring>"},"clauses":[{"unit_id":"\u003cstring>","locator":"\u003cstring>","text":"\u003cstring>"}],"ledger":[{"unit_id":"\u003cstring>","disposition":"mapped","note":"\u003cstring>"}],"counts":{"clauses":123,"mapped":123,"ambiguous":123,"unsupported":123,"non_normative":123,"refused":123},"refusals":[{"unit_id":"\u003cstring>","rule_code":"\u003cstring>","kind":"\u003cstring>","message":"\u003cstring>"}],"lint":{"schema":"meshqu-codification-lint/v1","status":"ran","answerer":"jev","questions_version":"\u003cstring>","floor":123,"clauses":[{"unit_id":"\u003cstring>","findings":[{"code":"guidance_as_obligation","message":"\u003cstring>","evidence":{"confidence":123}}],"needs_context":true}],"reason":"\u003cstring>","model":"\u003cstring>","elapsed_ms":123}}}}}},"exampleType":"generated"}},"exampleType":"generated"},"9aae764f-fc89-4f44-bed8-8c3592d9509d":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"description":"Error code","type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"description":"Human-readable message","type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"description":"Additional error details","uniqueKey":"error.details","typeLabel":"any"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"correlation_id":{"description":"Request correlation ID","type":"string","uniqueKey":"correlation_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":"\u003cunknown>"},"correlation_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"955c7aa2-dd79-4eb0-8e40-023c15d2d223":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"description":"Error code","type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"description":"Human-readable message","type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"description":"Additional error details","uniqueKey":"error.details","typeLabel":"any"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"correlation_id":{"description":"Request correlation ID","type":"string","uniqueKey":"correlation_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":"\u003cunknown>"},"correlation_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"bfc45e12-4443-4a2f-8ee3-7a9b43508fc6":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"description":"Error code","type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"description":"Human-readable message","type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"description":"Additional error details","uniqueKey":"error.details","typeLabel":"any"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"correlation_id":{"description":"Request correlation ID","type":"string","uniqueKey":"correlation_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":"\u003cunknown>"},"correlation_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"547a685d-1e83-4fd2-8f03-3041400402a1":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"description":"Error code","type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"description":"Human-readable message","type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"description":"Additional error details","uniqueKey":"error.details","typeLabel":"any"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"correlation_id":{"description":"Request correlation ID","type":"string","uniqueKey":"correlation_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":"\u003cunknown>"},"correlation_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"061eadd7-0593-4d3a-a411-e17a7231b854":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"description":"Error code","type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"description":"Human-readable message","type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"description":"Additional error details","uniqueKey":"error.details","typeLabel":"any"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"correlation_id":{"description":"Request correlation ID","type":"string","uniqueKey":"correlation_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":"\u003cunknown>"},"correlation_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"c03cd839-03de-4337-9cc9-4b838edae0b2":{"apiKey":{"type":"http","scheme":"bearer","bearerFormat":"mqu_\u003ctoken>","description":"MeshQu API key passed as a bearer token: `Authorization: Bearer mqu_…`. Mint one in the console (Settings → API keys).","scopes":[],"schemeName":"apiKey"},"tenantId":{"type":"apiKey","name":"X-MeshQu-Tenant-Id","in":"header","description":"Tenant UUID for multi-tenant isolation. Required on authenticated routes. A missing or non-UUID value returns 400 `MISSING_TENANT_ID` or `INVALID_TENANT_ID` before API-key authentication.","scopes":[],"schemeName":"tenantId"}}},"servers":{"96a828ab-b0ad-4901-a5f1-1d35ac117e5f":{"url":"https://api.meshqu.com","description":"Deployed environment"}},"schemas":{"388836dc-b3d0-4a53-aec9-4a17865080bc":{"type":"array","items":{"oneOf":[{"type":"object","title":"When","required":["field","equals"],"properties":{"field":{"type":"string","isRequired":true},"equals":{"oneOf":[{"type":"string","isRequired":true},{"type":"number","isRequired":true},{"type":"boolean","isRequired":true}],"isRequired":true},"case_sensitive":{"type":"boolean"}},"additionalProperties":false},{"type":"object","title":"When","required":["field","in"],"properties":{"field":{"type":"string","isRequired":true},"in":{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"isRequired":true},"case_sensitive":{"type":"boolean"}},"additionalProperties":false},{"type":"object","title":"When","required":["field","exists"],"properties":{"field":{"type":"string","isRequired":true},"exists":{"type":"boolean","isRequired":true}},"additionalProperties":false},{"type":"object","title":"When","required":["field","min"],"properties":{"field":{"type":"string","isRequired":true},"min":{"type":"number","isRequired":true},"max":{"type":"number"},"greater_than":{"type":"number"},"less_than":{"type":"number"}},"additionalProperties":false},{"type":"object","title":"When","required":["field","max"],"properties":{"field":{"type":"string","isRequired":true},"max":{"type":"number","isRequired":true},"min":{"type":"number"},"greater_than":{"type":"number"},"less_than":{"type":"number"}},"additionalProperties":false},{"type":"object","title":"When","required":["field","greater_than"],"properties":{"field":{"type":"string","isRequired":true},"greater_than":{"type":"number","isRequired":true},"min":{"type":"number"},"max":{"type":"number"},"less_than":{"type":"number"}},"additionalProperties":false},{"type":"object","title":"When","required":["field","less_than"],"properties":{"field":{"type":"string","isRequired":true},"less_than":{"type":"number","isRequired":true},"min":{"type":"number"},"max":{"type":"number"},"greater_than":{"type":"number"}},"additionalProperties":false},{"type":"object","title":"When","required":["all"],"properties":{"all":{"oneOf":[{"isRequired":true}],"isRequired":true}},"additionalProperties":false},{"type":"object","title":"When","required":["any"],"properties":{"any":{"type":"array","items":{"$circularRef":"efae0edc-b4ed-4499-b194-5db632247df3"},"isRequired":true}},"additionalProperties":false}]}},"efae0edc-b4ed-4499-b194-5db632247df3":{"oneOf":[{"type":"object","title":"When","required":["field","equals"],"properties":{"field":{"type":"string","isRequired":true},"equals":{"oneOf":[{"type":"string","isRequired":true},{"type":"number","isRequired":true},{"type":"boolean","isRequired":true}],"isRequired":true},"case_sensitive":{"type":"boolean"}},"additionalProperties":false},{"type":"object","title":"When","required":["field","in"],"properties":{"field":{"type":"string","isRequired":true},"in":{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"isRequired":true},"case_sensitive":{"type":"boolean"}},"additionalProperties":false},{"type":"object","title":"When","required":["field","exists"],"properties":{"field":{"type":"string","isRequired":true},"exists":{"type":"boolean","isRequired":true}},"additionalProperties":false},{"type":"object","title":"When","required":["field","min"],"properties":{"field":{"type":"string","isRequired":true},"min":{"type":"number","isRequired":true},"max":{"type":"number"},"greater_than":{"type":"number"},"less_than":{"type":"number"}},"additionalProperties":false},{"type":"object","title":"When","required":["field","max"],"properties":{"field":{"type":"string","isRequired":true},"max":{"type":"number","isRequired":true},"min":{"type":"number"},"greater_than":{"type":"number"},"less_than":{"type":"number"}},"additionalProperties":false},{"type":"object","title":"When","required":["field","greater_than"],"properties":{"field":{"type":"string","isRequired":true},"greater_than":{"type":"number","isRequired":true},"min":{"type":"number"},"max":{"type":"number"},"less_than":{"type":"number"}},"additionalProperties":false},{"type":"object","title":"When","required":["field","less_than"],"properties":{"field":{"type":"string","isRequired":true},"less_than":{"type":"number","isRequired":true},"min":{"type":"number"},"max":{"type":"number"},"greater_than":{"type":"number"}},"additionalProperties":false},{"type":"object","title":"When","required":["all"],"properties":{"all":{"type":"array","items":{"$circularRef":"efae0edc-b4ed-4499-b194-5db632247df3"},"isRequired":true}},"additionalProperties":false},{"type":"object","title":"When","required":["any"],"properties":{"any":{"type":"array","items":{"$circularRef":"efae0edc-b4ed-4499-b194-5db632247df3"},"isRequired":true}},"additionalProperties":false}]}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"mqu_\u003ctoken>","description":"MeshQu API key passed as a bearer token: `Authorization: Bearer mqu_…`. Mint one in the console (Settings → API keys).","scopes":[],"schemeName":"apiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"MeshQu API key passed as a bearer token: `Authorization: Bearer mqu_…`. Mint one in the console (Settings → API keys).","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"apiKey","name":"Authorization"},{"scheme":{"type":"apiKey","name":"X-MeshQu-Tenant-Id","in":"header","description":"Tenant UUID for multi-tenant isolation. Required on authenticated routes. A missing or non-UUID value returns 400 `MISSING_TENANT_ID` or `INVALID_TENANT_ID` before API-key authentication.","scopes":[],"schemeName":"tenantId"},"schema":{"title":"X-MeshQu-Tenant-Id","type":"string","description":"Tenant UUID for multi-tenant isolation. Required on authenticated routes. A missing or non-UUID value returns 400 `MISSING_TENANT_ID` or `INVALID_TENANT_ID` before API-key authentication.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"tenantId","name":"X-MeshQu-Tenant-Id"}],"title":"apiKey \u0026 tenantId"}]},"originalFileLocation":"api/openapi.json"},"subdomain":"meshqu-cdb559e0","siteName":"MeshQu Developer Docs","title":"Supersede a draft with a corrected draft - MeshQu Developer Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-12T19:01:40.341Z","originalFileLocation":"api-reference/policies/supersede-a-draft-with-a-corrected-draft.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=\"Corrects a pending draft without overwriting it. The draft closes with status replaced and remains available as history, including its codification record and lint findings. The corrected rules become a new draft; an optional codification block is processed again. expected_revision must match the current draft_revision, or the request returns 409 STALE_DRAFT_REVISION. A draft that is no longer pending cannot be superseded. Only a verified human session may call this operation. Other refusals include 404 NOT_FOUND; 409 INVALID_TRANSITION with VERSION_NOT_DRAFT or VERSION_BOUND_TO_CAPABILITY; and 422 VALIDATION_ERROR, UNSUPPORTED_RULE_TYPE or CODIFICATION_REFUSED.\">\u003cmeta data-mint-head name=\"application-name\" content=\"MeshQu Developer Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/meshqu-cdb559e0/6lKKMC9PTFTFND7k/_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/meshqu-cdb559e0/6lKKMC9PTFTFND7k/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/meshqu-cdb559e0/6lKKMC9PTFTFND7k/_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/meshqu-cdb559e0/6lKKMC9PTFTFND7k/_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/meshqu-cdb559e0/6lKKMC9PTFTFND7k/_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/meshqu-cdb559e0/6lKKMC9PTFTFND7k/_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/meshqu-cdb559e0/6lKKMC9PTFTFND7k/_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/meshqu-cdb559e0/6lKKMC9PTFTFND7k/_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/meshqu-cdb559e0/6lKKMC9PTFTFND7k/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Supersede a draft with a corrected draft - MeshQu Developer Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Corrects a pending draft without overwriting it. The draft closes with status replaced and remains available as history, including its codification record and lint findings. The corrected rules become a new draft; an optional codification block is processed again. expected_revision must match the current draft_revision, or the request returns 409 STALE_DRAFT_REVISION. A draft that is no longer pending cannot be superseded. Only a verified human session may call this operation. Other refusals include 404 NOT_FOUND; 409 INVALID_TRANSITION with VERSION_NOT_DRAFT or VERSION_BOUND_TO_CAPABILITY; and 422 VALIDATION_ERROR, UNSUPPORTED_RULE_TYPE or CODIFICATION_REFUSED.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"MeshQu Developer Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.meshqu.com/api-reference/policies/supersede-a-draft-with-a-corrected-draft\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://meshqu-cdb559e0.mintlify.site/_mintlify/api/og/v2?division=Policies\u0026amp;title=Supersede+a+draft+with+a+corrected+draft\u0026amp;description=Corrects+a+pending+draft+without+overwriting+it.+The+draft+closes+with+status+%60replaced%60+and+remains+available+as+history%2C+including+its+codification+record+and\u0026amp;theme=f505b38c426fdd141358723c\u0026amp;signature=7cb57ba4648d9c34047339e46f50c16968b1af1e1c37345feed8e7f7b86c0028\">\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=\"Supersede a draft with a corrected draft - MeshQu Developer Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Corrects a pending draft without overwriting it. The draft closes with status replaced and remains available as history, including its codification record and lint findings. The corrected rules become a new draft; an optional codification block is processed again. expected_revision must match the current draft_revision, or the request returns 409 STALE_DRAFT_REVISION. A draft that is no longer pending cannot be superseded. Only a verified human session may call this operation. Other refusals include 404 NOT_FOUND; 409 INVALID_TRANSITION with VERSION_NOT_DRAFT or VERSION_BOUND_TO_CAPABILITY; and 422 VALIDATION_ERROR, UNSUPPORTED_RULE_TYPE or CODIFICATION_REFUSED.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://meshqu-cdb559e0.mintlify.site/_mintlify/api/og/v2?division=Policies\u0026amp;title=Supersede+a+draft+with+a+corrected+draft\u0026amp;description=Corrects+a+pending+draft+without+overwriting+it.+The+draft+closes+with+status+%60replaced%60+and+remains+available+as+history%2C+including+its+codification+record+and\u0026amp;theme=f505b38c426fdd141358723c\u0026amp;signature=7cb57ba4648d9c34047339e46f50c16968b1af1e1c37345feed8e7f7b86c0028\">\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/meshqu-cdb559e0/6lKKMC9PTFTFND7k/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"MeshQu Developer Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0891B2\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.meshqu.com/api-reference/policies/supersede-a-draft-with-a-corrected-draft\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/policies/supersede-a-draft-with-a-corrected-draft.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.meshqu.com/#organization\",\"name\":\"MeshQu Developer Docs\",\"url\":\"https://docs.meshqu.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/meshqu-cdb559e0/AeHM0QLF3jTfCsPZ/logo/light.svg?fit=max\u0026auto=format\u0026n=AeHM0QLF3jTfCsPZ\u0026q=85\u0026s=80b80a4afb1beb542ca227dc6219172f\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.meshqu.com#website\",\"name\":\"MeshQu Developer Docs\",\"url\":\"https://docs.meshqu.com\",\"publisher\":{\"@id\":\"https://docs.meshqu.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.meshqu.com/api-reference/policies/supersede-a-draft-with-a-corrected-draft#webpage\",\"url\":\"https://docs.meshqu.com/api-reference/policies/supersede-a-draft-with-a-corrected-draft\",\"name\":\"Supersede a draft with a corrected draft\",\"description\":\"Corrects a pending draft without overwriting it. The draft closes with status replaced and remains available as history, including its codification record and lint findings. The corrected rules become a new draft; an optional codification block is processed again. expected_revision must match the current draft_revision, or the request returns 409 STALE_DRAFT_REVISION. A draft that is no longer pending cannot be superseded. Only a verified human session may call this operation. Other refusals include 404 NOT_FOUND; 409 INVALID_TRANSITION with VERSION_NOT_DRAFT or VERSION_BOUND_TO_CAPABILITY; and 422 VALIDATION_ERROR, UNSUPPORTED_RULE_TYPE or CODIFICATION_REFUSED.\",\"dateModified\":\"2026-10-12T19:01:40.341Z\",\"isPartOf\":{\"@id\":\"https://docs.meshqu.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.meshqu.com/api-reference/policies/supersede-a-draft-with-a-corrected-draft#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.meshqu.com/api-reference/policies/supersede-a-draft-with-a-corrected-draft#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.meshqu.com/api/reference\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Policies\",\"item\":\"https://docs.meshqu.com/api-reference/policies/list-policies\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Supersede a draft with a corrected draft\",\"item\":\"https://docs.meshqu.com/api-reference/policies/supersede-a-draft-with-a-corrected-draft\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.meshqu.com/api-reference/policies/supersede-a-draft-with-a-corrected-draft#apireference\",\"headline\":\"Supersede a draft with a corrected draft\",\"name\":\"Supersede a draft with a corrected draft\",\"description\":\"Corrects a pending draft without overwriting it. The draft closes with status replaced and remains available as history, including its codification record and lint findings. The corrected rules become a new draft; an optional codification block is processed again. expected_revision must match the current draft_revision, or the request returns 409 STALE_DRAFT_REVISION. A draft that is no longer pending cannot be superseded. Only a verified human session may call this operation. Other refusals include 404 NOT_FOUND; 409 INVALID_TRANSITION with VERSION_NOT_DRAFT or VERSION_BOUND_TO_CAPABILITY; and 422 VALIDATION_ERROR, UNSUPPORTED_RULE_TYPE or CODIFICATION_REFUSED.\",\"url\":\"https://docs.meshqu.com/api-reference/policies/supersede-a-draft-with-a-corrected-draft\",\"mainEntityOfPage\":{\"@id\":\"https://docs.meshqu.com/api-reference/policies/supersede-a-draft-with-a-corrected-draft#webpage\"},\"dateModified\":\"2026-10-12T19:01:40.341Z\",\"publisher\":{\"@id\":\"https://docs.meshqu.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.meshqu.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"MeshQu Developer Docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"MeshQu Developer Docs\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/policies/supersede-a-draft-with-a-corrected-draft.md","siteName":"MeshQu Developer Docs","nav":{"global":null,"tabs":[{"tab":"Docs","groups":[{"group":"Getting Started","pages":[{"title":"MeshQu Developer Docs","href":""},{"title":"Quickstart","href":"/getting-started/quickstart"},{"title":"Authentication","href":"/getting-started/authentication"}]},{"group":"Concepts","pages":[{"title":"Core Concepts","href":"/concepts/overview"},{"title":"Decision Assurance","href":"/concepts/decision-assurance"},{"title":"Responsible AI: Evidence and Intent","href":"/concepts/responsible-ai-evidence"},{"title":"Integrity \u0026 Hashing","href":"/concepts/integrity"},{"title":"Policy Lifecycle","href":"/concepts/policy-lifecycle"},{"title":"Policy Snapshots","href":"/concepts/policy-snapshots"},{"title":"Snapshot Pinning \u0026 Replay","href":"/concepts/snapshot-pinning"},{"title":"Verification Bundle","href":"/concepts/verification-bundle"},{"title":"Receipt Reference","href":"/concepts/receipt-reference"}]},{"group":"API Reference","pages":[{"title":"API Reference","href":"/api/reference"},{"title":"Errors \u0026 Status Codes","href":"/api/errors"},{"group":"Operations","pages":[{"title":"Health check","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/health","href":"/api-reference/operations/health-check"},{"title":"Discover signing public keys (self-asserted)","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/.well-known/signing-keys","href":"/api-reference/operations/discover-signing-public-keys-self-asserted"}]},{"group":"Policies","pages":[{"title":"List policies","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/policies","href":"/api-reference/policies/list-policies"},{"title":"Create policy","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/policies","href":"/api-reference/policies/create-policy"},{"title":"Validate policy","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/policies/validate","href":"/api-reference/policies/validate-policy"},{"title":"Get policy","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/policies/{id}","href":"/api-reference/policies/get-policy"},{"title":"Delete policy","deprecated":null,"version":null,"openapi":"/api/openapi.json delete /v1/policies/{id}","href":"/api-reference/policies/delete-policy"},{"title":"Update policy","deprecated":null,"version":null,"openapi":"/api/openapi.json patch /v1/policies/{id}","href":"/api-reference/policies/update-policy"},{"title":"Activate a shadow policy","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/policies/{id}/activate","href":"/api-reference/policies/activate-a-shadow-policy"},{"title":"List policy versions","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/policies/{id}/versions","href":"/api-reference/policies/list-policy-versions"},{"title":"Create policy version","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/policies/{id}/versions","href":"/api-reference/policies/create-policy-version"},{"title":"Ratify policy version","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/policies/{id}/versions/{version}/ratify","href":"/api-reference/policies/ratify-policy-version"},{"title":"Put a ratified policy version in force","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/policies/{id}/versions/{version}/activate","href":"/api-reference/policies/put-a-ratified-policy-version-in-force"},{"title":"Reopen a ratified version that is not in force","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/policies/{id}/versions/{version}/reopen","href":"/api-reference/policies/reopen-a-ratified-version-that-is-not-in-force"},{"title":"Set the pending version aside","description":"Closes a pending version with status `set_aside` and a required reason so a new draft can start from the version in force. The version remains readable and cannot be ratified or put in force. Its changes must be rebuilt on top of the new draft to be used again. Human only. Returns 404 when the policy or version is not found for the tenant, 409 `INVALID_TRANSITION` when the version is already in force or no longer pending, and 400 when the reason is missing or blank.","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/policies/{id}/versions/{version}/set-aside","href":"/api-reference/policies/set-the-pending-version-aside"},{"title":"Supersede a draft with a corrected draft","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/policies/{id}/versions/{version}/supersede","href":"/api-reference/policies/supersede-a-draft-with-a-corrected-draft"},{"title":"Submit policy version for review","description":"Transitions a draft policy version to `submitted`. The caller must be the draft author, and no other draft or submitted version may exist for the policy. Send the request without a body.","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/policies/{id}/versions/{version}/submit","href":"/api-reference/policies/submit-policy-version-for-review"},{"title":"Reject submitted policy version","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/policies/{id}/versions/{version}/reject","href":"/api-reference/policies/reject-submitted-policy-version"},{"title":"Recall a submitted policy version","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/policies/{id}/versions/{version}/recall","href":"/api-reference/policies/recall-a-submitted-policy-version"},{"title":"List decisions for a policy","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/policies/{id}/decisions","href":"/api-reference/policies/list-decisions-for-a-policy"},{"title":"Get policy version","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/policies/{id}/versions/{version}","href":"/api-reference/policies/get-policy-version"},{"title":"Discard draft version","deprecated":null,"version":null,"openapi":"/api/openapi.json delete /v1/policies/{id}/versions/{version}","href":"/api-reference/policies/discard-draft-version"},{"title":"Update draft version rules in place","deprecated":null,"version":null,"openapi":"/api/openapi.json patch /v1/policies/{id}/versions/{version}","href":"/api-reference/policies/update-draft-version-rules-in-place"}]},{"group":"Policy Groups","pages":[{"title":"List policy groups","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/policy-groups","href":"/api-reference/policy-groups/list-policy-groups"},{"title":"Create policy group","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/policy-groups","href":"/api-reference/policy-groups/create-policy-group"},{"title":"Get policy group","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/policy-groups/{id}","href":"/api-reference/policy-groups/get-policy-group"},{"title":"Delete policy group","deprecated":null,"version":null,"openapi":"/api/openapi.json delete /v1/policy-groups/{id}","href":"/api-reference/policy-groups/delete-policy-group"},{"title":"Update policy group","deprecated":null,"version":null,"openapi":"/api/openapi.json patch /v1/policy-groups/{id}","href":"/api-reference/policy-groups/update-policy-group"},{"title":"List policies in group","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/policy-groups/{id}/policies","href":"/api-reference/policy-groups/list-policies-in-group"}]},{"group":"Decisions","pages":[{"title":"Evaluate policies (dry-run)","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/decisions/evaluate","href":"/api-reference/decisions/evaluate-policies-dry-run"},{"title":"Record decision","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/decisions/record","href":"/api-reference/decisions/record-decision"},{"title":"List decisions","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/decisions","href":"/api-reference/decisions/list-decisions"},{"title":"Get decision","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/decisions/{id}","href":"/api-reference/decisions/get-decision"},{"title":"Record decision outcome","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/decisions/{id}/outcome","href":"/api-reference/decisions/record-decision-outcome"},{"title":"Replay decision","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/decisions/{id}/replay","href":"/api-reference/decisions/replay-decision"},{"title":"Get chain seal","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/decisions/chain/{chainId}/seal","href":"/api-reference/decisions/get-chain-seal"},{"title":"Seal a decision chain","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/decisions/chain/{chainId}/seal","href":"/api-reference/decisions/seal-a-decision-chain"},{"title":"Verify decision chain","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/decisions/chain/{chainId}/verify","href":"/api-reference/decisions/verify-decision-chain"},{"title":"Stream decisions (SSE)","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/decisions/stream","href":"/api-reference/decisions/stream-decisions-sse"}]},{"group":"Alerts","pages":[{"title":"List subscriptions","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/alerts/subscriptions","href":"/api-reference/alerts/list-subscriptions"},{"title":"Create subscription","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/alerts/subscriptions","href":"/api-reference/alerts/create-subscription"},{"title":"Delete subscription","deprecated":null,"version":null,"openapi":"/api/openapi.json delete /v1/alerts/subscriptions/{id}","href":"/api-reference/alerts/delete-subscription"},{"title":"List webhook deliveries","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/alerts/deliveries","href":"/api-reference/alerts/list-webhook-deliveries"},{"title":"Get delivery statistics","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/alerts/deliveries/stats","href":"/api-reference/alerts/get-delivery-statistics"},{"title":"Get delivery details","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/alerts/deliveries/{id}","href":"/api-reference/alerts/get-delivery-details"},{"title":"Retry delivery","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/alerts/deliveries/{id}/retry","href":"/api-reference/alerts/retry-delivery"},{"title":"List alerts","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/alerts","href":"/api-reference/alerts/list-alerts"},{"title":"Get alert","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/alerts/{id}","href":"/api-reference/alerts/get-alert"},{"title":"Acknowledge alert","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/alerts/{id}/acknowledge","href":"/api-reference/alerts/acknowledge-alert"}]},{"group":"API Keys","pages":[{"title":"List API keys","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/api-keys","href":"/api-reference/api-keys/list-api-keys"},{"title":"Create API key","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/api-keys","href":"/api-reference/api-keys/create-api-key"},{"title":"Get API key","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/api-keys/{id}","href":"/api-reference/api-keys/get-api-key"},{"title":"Revoke API key","deprecated":null,"version":null,"openapi":"/api/openapi.json delete /v1/api-keys/{id}","href":"/api-reference/api-keys/revoke-api-key"}]},{"group":"Agent Licences","pages":[{"title":"List agent licences","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/agent-licences","href":"/api-reference/agent-licences/list-agent-licences"},{"title":"Issue an agent licence","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/agent-licences","href":"/api-reference/agent-licences/issue-an-agent-licence"},{"title":"Revoke an agent licence","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/agent-licences/{id}/revoke","href":"/api-reference/agent-licences/revoke-an-agent-licence"},{"title":"Get an agent licence","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/agent-licences/{id}","href":"/api-reference/agent-licences/get-an-agent-licence"}]},{"group":"Audit","pages":[{"title":"List audit events","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/audit-log","href":"/api-reference/audit/list-audit-events"},{"title":"Get entity history","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/audit-log/entity/{type}/{id}","href":"/api-reference/audit/get-entity-history"},{"title":"Verify audit chain","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/audit-log/verify","href":"/api-reference/audit/verify-audit-chain"}]},{"group":"Fields","pages":[{"title":"Search tenant fields","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/fields","href":"/api-reference/fields/search-tenant-fields"},{"title":"Declare a typed business input","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/fields/declarations","href":"/api-reference/fields/declare-a-typed-business-input"},{"title":"Edit a business definition","deprecated":null,"version":null,"openapi":"/api/openapi.json patch /v1/fields/definitions/{field_name}","href":"/api-reference/fields/edit-a-business-definition"},{"title":"Read a business definition's revision history","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/fields/definitions/{field_name}/revisions","href":"/api-reference/fields/read-a-business-definitions-revision-history"}]},{"group":"Settings","pages":[{"title":"Get tenant settings","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/settings","href":"/api-reference/settings/get-tenant-settings"},{"title":"Update tenant settings","deprecated":null,"version":null,"openapi":"/api/openapi.json patch /v1/settings","href":"/api-reference/settings/update-tenant-settings"}]},{"group":"Forms","pages":[{"title":"List forms","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/forms","href":"/api-reference/forms/list-forms"},{"title":"Create form","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/forms","href":"/api-reference/forms/create-form"},{"title":"Get form","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/forms/{formId}","href":"/api-reference/forms/get-form"},{"title":"Delete form","deprecated":null,"version":null,"openapi":"/api/openapi.json delete /v1/forms/{formId}","href":"/api-reference/forms/delete-form"},{"title":"Update form","deprecated":null,"version":null,"openapi":"/api/openapi.json patch /v1/forms/{formId}","href":"/api-reference/forms/update-form"},{"title":"Get form schema (public)","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/forms/{formId}/schema","href":"/api-reference/forms/get-form-schema-public"},{"title":"Get API contract (public)","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/forms/{formId}/api-contract","href":"/api-reference/forms/get-api-contract-public"},{"title":"Submit form (public)","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/forms/{formId}/submit","href":"/api-reference/forms/submit-form-public"},{"title":"Get receipt (public)","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/forms/{formId}/receipts/{decisionId}","href":"/api-reference/forms/get-receipt-public"}]},{"group":"Receipts","pages":[{"title":"Get receipt (public)","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/receipts/{receiptId}","href":"/api-reference/receipts/get-receipt-public"},{"title":"Export Verification Bundle (public)","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/receipts/{decisionId}/bundle","href":"/api-reference/receipts/export-verification-bundle-public"}]},{"group":"Chains","pages":[{"title":"Export chain Verification Bundle (public)","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/chains/{chainId}/bundle","href":"/api-reference/chains/export-chain-verification-bundle-public"},{"title":"Verify decision chain (public)","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/chains/{chainId}/verify","href":"/api-reference/chains/verify-decision-chain-public"},{"title":"Get chain seal (public)","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/chains/{chainId}/seal","href":"/api-reference/chains/get-chain-seal-public"}]},{"group":"Admin","pages":[{"title":"List tenant members","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/admin/members","href":"/api-reference/admin/list-tenant-members"},{"title":"Invite an existing user to this tenant (by user_id or email)","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/admin/members/invite","href":"/api-reference/admin/invite-an-existing-user-to-this-tenant-by-user_id-or-email"},{"title":"Remove a member from this tenant","deprecated":null,"version":null,"openapi":"/api/openapi.json delete /v1/admin/members/{user_id}","href":"/api-reference/admin/remove-a-member-from-this-tenant"},{"title":"Change a member's role","deprecated":null,"version":null,"openapi":"/api/openapi.json patch /v1/admin/members/{user_id}","href":"/api-reference/admin/change-a-members-role"},{"title":"List audit-log entries for the active tenant","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/admin/audit-log","href":"/api-reference/admin/list-audit-log-entries-for-the-active-tenant"},{"title":"Verify the integrity hash of one audit-log entry","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/admin/audit-log/{id}/verify","href":"/api-reference/admin/verify-the-integrity-hash-of-one-audit-log-entry"},{"title":"Caller memberships (bound tenant for API-key principals)","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/admin/me","href":"/api-reference/admin/caller-memberships-bound-tenant-for-api-key-principals"},{"title":"List API keys","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/admin/api-keys","href":"/api-reference/admin/list-api-keys"},{"title":"Create API key","deprecated":null,"version":null,"openapi":"/api/openapi.json post /v1/admin/api-keys","href":"/api-reference/admin/create-api-key"},{"title":"Get API key","deprecated":null,"version":null,"openapi":"/api/openapi.json get /v1/admin/api-keys/{id}","href":"/api-reference/admin/get-api-key"},{"title":"Revoke API key","deprecated":null,"version":null,"openapi":"/api/openapi.json delete /v1/admin/api-keys/{id}","href":"/api-reference/admin/revoke-api-key"}]}]},{"group":"SDK","pages":[{"title":"SDK Overview","href":"/sdk/overview"},{"title":"TypeScript client","href":"/sdk/typescript"}]},{"group":"Guides","pages":[{"title":"Integration Patterns","href":"/guides/integration-patterns"},{"title":"Decision Chains","href":"/guides/decision-chains"},{"title":"Actor Attribution","href":"/guides/actor-attribution"},{"title":"Human Decision Capture","href":"/guides/manual-checks"},{"title":"Verifying a Receipt Offline","href":"/guides/verifying-offline"},{"title":"Idempotency","href":"/guides/idempotency"},{"title":"Shadow Mode","href":"/guides/shadow-mode"},{"title":"Webhooks","href":"/guides/webhooks"}]},{"group":"Recipes","pages":[{"title":"Recipe: AML Screening Workflow","href":"/guides/recipes/aml-workflow"},{"title":"Recipe: AI Action Gate","href":"/guides/recipes/ai-action-gate"},{"title":"Recipe: Transaction Approval Gate","href":"/guides/recipes/transaction-approval"}]},{"group":"Security","pages":[{"title":"Trust Model","href":"/security/trust-model"},{"title":"Security \u0026 Data Handling","href":"/security/data-handling"}]},{"group":"Meta","pages":[{"title":"Changelog","href":"/changelog"},{"title":"Support","href":"/support"}]}]}]},"basePath":"","title":"Supersede a draft with a corrected draft - MeshQu Developer Docs","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-CybtLBIt.js","utils-BMLj2fvV.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-B6In562Y.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dr8Mfhp9.js","snippetPresets-2rmQvMVl.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","Page-C4GwDT3_.js","ApiExamples-WMqJYdZj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CJ-MlPHu.js","shallow-dY3TMRCk.js","getApiPlaygroundDisplay-v-1B2bKm.js","CodeSnippet-BDhiTB7U.js","CodeSnippets-D9hnzQcS.js","getPastedJson-Th2V45jI.js","icon-BQXch1W9.js","MethodPill-BCqUneP3.js","DuplicateIcon-Q_-bhurZ.js","createIcon-DUjLHRqp.js","DynamicMarkdown-B-f2cqXQ.js","SectionHeading-Da5NsV4v.js","axios-vUo_bRtp.js","Markdown-D13FWkIM.js","clsx-D3Isdib3.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-C-XZBk9h.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink--qIqmmVG.js"]}