[{"data":1,"prerenderedAt":779},["ShallowReactive",2],{"navigation_docs":3,"-docs-reference-compatibility":356,"-docs-reference-compatibility-surround":776},[4,8,34,64,90,139,157,171,193,227,241,266,312,334],{"title":5,"path":6,"stem":7},"Documentation","\u002Fdocs","docs\u002Findex",{"title":9,"path":10,"stem":11,"children":12},"Getting started","\u002Fdocs\u002Fgetting-started","docs\u002F01.getting-started\u002Findex",[13,14,18,22,26,30],{"title":9,"path":10,"stem":11},{"title":15,"path":16,"stem":17},"Introduction","\u002Fdocs\u002Fgetting-started\u002Fintroduction","docs\u002F01.getting-started\u002F01.introduction",{"title":19,"path":20,"stem":21},"Concepts","\u002Fdocs\u002Fgetting-started\u002Fconcepts","docs\u002F01.getting-started\u002F02.concepts",{"title":23,"path":24,"stem":25},"Quickstart (5 minutes)","\u002Fdocs\u002Fgetting-started\u002Fquickstart","docs\u002F01.getting-started\u002F03.quickstart",{"title":27,"path":28,"stem":29},"Local development","\u002Fdocs\u002Fgetting-started\u002Flocal-development","docs\u002F01.getting-started\u002F04.local-development",{"title":31,"path":32,"stem":33},"FAQ","\u002Fdocs\u002Fgetting-started\u002Ffaq","docs\u002F01.getting-started\u002F05.faq",{"title":35,"path":36,"stem":37,"children":38},"Architecture","\u002Fdocs\u002Farchitecture","docs\u002F02.architecture\u002Findex",[39,40,44,48,52,56,60],{"title":35,"path":36,"stem":37},{"title":41,"path":42,"stem":43},"Architecture overview","\u002Fdocs\u002Farchitecture\u002Foverview","docs\u002F02.architecture\u002F01.overview",{"title":45,"path":46,"stem":47},"Services","\u002Fdocs\u002Farchitecture\u002Fservices","docs\u002F02.architecture\u002F02.services",{"title":49,"path":50,"stem":51},"Request lifecycle","\u002Fdocs\u002Farchitecture\u002Frequest-lifecycle","docs\u002F02.architecture\u002F03.request-lifecycle",{"title":53,"path":54,"stem":55},"Data model","\u002Fdocs\u002Farchitecture\u002Fdata-model","docs\u002F02.architecture\u002F04.data-model",{"title":57,"path":58,"stem":59},"Status and evidence","\u002Fdocs\u002Farchitecture\u002Fstatus-and-evidence","docs\u002F02.architecture\u002F05.status-and-evidence",{"title":61,"path":62,"stem":63},"Target architecture and authority","\u002Fdocs\u002Farchitecture\u002Ftarget-architecture","docs\u002F02.architecture\u002F06.target-architecture",{"title":65,"path":66,"stem":67,"children":68},"Auth","\u002Fdocs\u002Fauth","docs\u002F03.auth\u002Findex",[69,70,74,78,82,86],{"title":65,"path":66,"stem":67},{"title":71,"path":72,"stem":73},"Overview","\u002Fdocs\u002Fauth\u002Foverview","docs\u002F03.auth\u002F01.overview",{"title":75,"path":76,"stem":77},"Organization and agent model","\u002Fdocs\u002Fauth\u002Forg-project-model","docs\u002F03.auth\u002F02.org-project-model",{"title":79,"path":80,"stem":81},"Issuing API keys","\u002Fdocs\u002Fauth\u002Fissuing-api-keys","docs\u002F03.auth\u002F03.issuing-api-keys",{"title":83,"path":84,"stem":85},"Multi-tenant RLS","\u002Fdocs\u002Fauth\u002Fmulti-tenant-rls","docs\u002F03.auth\u002F04.multi-tenant-rls",{"title":87,"path":88,"stem":89},"Operator sessions and step-up","\u002Fdocs\u002Fauth\u002Foperator-sessions","docs\u002F03.auth\u002F05.operator-sessions",{"title":91,"path":92,"stem":93,"children":94},"Proxy","\u002Fdocs\u002Fproxy","docs\u002F04.proxy\u002Findex",[95,96,99,103,107,111,115,119,123,127,131,135],{"title":91,"path":92,"stem":93},{"title":71,"path":97,"stem":98},"\u002Fdocs\u002Fproxy\u002Foverview","docs\u002F04.proxy\u002F01.overview",{"title":100,"path":101,"stem":102},"Authentication","\u002Fdocs\u002Fproxy\u002Fauthentication","docs\u002F04.proxy\u002F02.authentication",{"title":104,"path":105,"stem":106},"Request routing","\u002Fdocs\u002Fproxy\u002Frequest-routing","docs\u002F04.proxy\u002F03.request-routing",{"title":108,"path":109,"stem":110},"Sessions","\u002Fdocs\u002Fproxy\u002Fsessions","docs\u002F04.proxy\u002F04.sessions",{"title":112,"path":113,"stem":114},"Directives","\u002Fdocs\u002Fproxy\u002Fdirectives","docs\u002F04.proxy\u002F05.directives",{"title":116,"path":117,"stem":118},"Idempotency and budgets","\u002Fdocs\u002Fproxy\u002Fidempotency-and-budgets","docs\u002F04.proxy\u002F06.idempotency-and-budgets",{"title":120,"path":121,"stem":122},"Rate limiting","\u002Fdocs\u002Fproxy\u002Frate-limiting","docs\u002F04.proxy\u002F07.rate-limiting",{"title":124,"path":125,"stem":126},"Provider adapters","\u002Fdocs\u002Fproxy\u002Fprovider-adapters","docs\u002F04.proxy\u002F08.provider-adapters",{"title":128,"path":129,"stem":130},"Auth caching","\u002Fdocs\u002Fproxy\u002Fauth-caching","docs\u002F04.proxy\u002F09.auth-caching",{"title":132,"path":133,"stem":134},"Configuration","\u002Fdocs\u002Fproxy\u002Fconfiguration","docs\u002F04.proxy\u002F10.configuration",{"title":136,"path":137,"stem":138},"Provider routing and resilience","\u002Fdocs\u002Fproxy\u002Fprovider-routing-and-resilience","docs\u002F04.proxy\u002F11.provider-routing-and-resilience",{"title":140,"path":141,"stem":142,"children":143},"Memory","\u002Fdocs\u002Fmemory","docs\u002F05.memory\u002Findex",[144,145,149,153],{"title":140,"path":141,"stem":142},{"title":146,"path":147,"stem":148},"Memory overview","\u002Fdocs\u002Fmemory\u002Foverview","docs\u002F05.memory\u002F01.overview",{"title":150,"path":151,"stem":152},"Write path","\u002Fdocs\u002Fmemory\u002Fwrite-path","docs\u002F05.memory\u002F02.write-path",{"title":154,"path":155,"stem":156},"Search and lifecycle","\u002Fdocs\u002Fmemory\u002Fsearch-and-lifecycle","docs\u002F05.memory\u002F03.search-and-lifecycle",{"title":158,"path":159,"stem":160,"children":161},"Context","\u002Fdocs\u002Fcontext","docs\u002F06.context\u002Findex",[162,163,167],{"title":158,"path":159,"stem":160},{"title":164,"path":165,"stem":166},"Assembly pipeline","\u002Fdocs\u002Fcontext\u002Foverview","docs\u002F06.context\u002F01.overview",{"title":168,"path":169,"stem":170},"Ranking and packing","\u002Fdocs\u002Fcontext\u002Franking-and-packing","docs\u002F06.context\u002F02.ranking-and-packing",{"title":172,"path":173,"stem":174,"children":175},"Intelligence","\u002Fdocs\u002Fintelligence","docs\u002F07.intelligence\u002Findex",[176,177,181,185,189],{"title":172,"path":173,"stem":174},{"title":178,"path":179,"stem":180},"Workers","\u002Fdocs\u002Fintelligence\u002Fworkers","docs\u002F07.intelligence\u002F01.workers",{"title":182,"path":183,"stem":184},"Extraction","\u002Fdocs\u002Fintelligence\u002Fextraction","docs\u002F07.intelligence\u002F02.extraction",{"title":186,"path":187,"stem":188},"Embedder","\u002Fdocs\u002Fintelligence\u002Fembedder","docs\u002F07.intelligence\u002F03.embedder",{"title":190,"path":191,"stem":192},"Extraction evaluation","\u002Fdocs\u002Fintelligence\u002Fevaluation","docs\u002F07.intelligence\u002F04.evaluation",{"title":194,"path":195,"stem":196,"children":197},"API reference","\u002Fdocs\u002Fapi-reference","docs\u002F08.api-reference\u002Findex",[198,199,203,207,211,215,219,223],{"title":194,"path":195,"stem":196},{"title":200,"path":201,"stem":202},"Chat completions","\u002Fdocs\u002Fapi-reference\u002Fchat-completions","docs\u002F08.api-reference\u002F01.chat-completions",{"title":204,"path":205,"stem":206},"Responses","\u002Fdocs\u002Fapi-reference\u002Fresponses","docs\u002F08.api-reference\u002F02.responses",{"title":208,"path":209,"stem":210},"Errors","\u002Fdocs\u002Fapi-reference\u002Ferrors","docs\u002F08.api-reference\u002F03.errors",{"title":212,"path":213,"stem":214},"Health and metrics","\u002Fdocs\u002Fapi-reference\u002Fproxy-health","docs\u002F08.api-reference\u002F04.proxy-health",{"title":216,"path":217,"stem":218},"HTTP route inventory","\u002Fdocs\u002Fapi-reference\u002Fhttp-routes","docs\u002F08.api-reference\u002F05.http-routes",{"title":220,"path":221,"stem":222},"Management API","\u002Fdocs\u002Fapi-reference\u002Fmanagement-api","docs\u002F08.api-reference\u002F06.management-api",{"title":224,"path":225,"stem":226},"Auth gRPC (ValidateToken, ValidateAgent)","\u002Fdocs\u002Fapi-reference\u002Fauth-grpc","docs\u002F08.api-reference\u002F07.auth-grpc",{"title":228,"path":229,"stem":230,"children":231},"MCP","\u002Fdocs\u002Fmcp","docs\u002F09.mcp\u002Findex",[232,233,237],{"title":228,"path":229,"stem":230},{"title":234,"path":235,"stem":236},"Memory server","\u002Fdocs\u002Fmcp\u002Fmemory-server","docs\u002F09.mcp\u002F01.memory-server",{"title":238,"path":239,"stem":240},"Operator gateway","\u002Fdocs\u002Fmcp\u002Foperator-gateway","docs\u002F09.mcp\u002F02.operator-gateway",{"title":242,"path":243,"stem":244,"children":245},"Security","\u002Fdocs\u002Fsecurity","docs\u002F10.security\u002Findex",[246,247,251,254,258,262],{"title":242,"path":243,"stem":244},{"title":248,"path":249,"stem":250},"Security overview","\u002Fdocs\u002Fsecurity\u002Foverview","docs\u002F10.security\u002F01.overview",{"title":100,"path":252,"stem":253},"\u002Fdocs\u002Fsecurity\u002Fauthentication","docs\u002F10.security\u002F02.authentication",{"title":255,"path":256,"stem":257},"Tenant isolation","\u002Fdocs\u002Fsecurity\u002Ftenant-isolation","docs\u002F10.security\u002F03.tenant-isolation",{"title":259,"path":260,"stem":261},"Secrets and keys","\u002Fdocs\u002Fsecurity\u002Fsecrets-and-keys","docs\u002F10.security\u002F04.secrets-and-keys",{"title":263,"path":264,"stem":265},"Prompt injection","\u002Fdocs\u002Fsecurity\u002Fprompt-injection","docs\u002F10.security\u002F05.prompt-injection",{"title":267,"path":268,"stem":269,"children":270},"Operations","\u002Fdocs\u002Foperations","docs\u002F11.operations\u002Findex",[271,272,276,280,284,288,292,296,300,304,308],{"title":267,"path":268,"stem":269},{"title":273,"path":274,"stem":275},"Observability","\u002Fdocs\u002Foperations\u002Fobservability","docs\u002F11.operations\u002F01.observability",{"title":277,"path":278,"stem":279},"Traces and ClickHouse","\u002Fdocs\u002Foperations\u002Ftraces-and-clickhouse","docs\u002F11.operations\u002F02.traces-and-clickhouse",{"title":281,"path":282,"stem":283},"Health checks","\u002Fdocs\u002Foperations\u002Fhealth-checks","docs\u002F11.operations\u002F03.health-checks",{"title":285,"path":286,"stem":287},"Incident response","\u002Fdocs\u002Foperations\u002Fincident-response","docs\u002F11.operations\u002F04.incident-response",{"title":289,"path":290,"stem":291},"Troubleshooting","\u002Fdocs\u002Foperations\u002Ftroubleshooting","docs\u002F11.operations\u002F05.troubleshooting",{"title":293,"path":294,"stem":295},"Billing and budgets","\u002Fdocs\u002Foperations\u002Fbilling-and-budgets","docs\u002F11.operations\u002F06.billing-and-budgets",{"title":297,"path":298,"stem":299},"Evidence and relay","\u002Fdocs\u002Foperations\u002Fevidence-and-relay","docs\u002F11.operations\u002F07.evidence-and-relay",{"title":301,"path":302,"stem":303},"Console","\u002Fdocs\u002Foperations\u002Fconsole","docs\u002F11.operations\u002F08.console",{"title":305,"path":306,"stem":307},"Failure modes and recovery","\u002Fdocs\u002Foperations\u002Ffailure-and-recovery","docs\u002F11.operations\u002F09.failure-and-recovery",{"title":309,"path":310,"stem":311},"Data lifecycle and deletion","\u002Fdocs\u002Foperations\u002Fdata-lifecycle-and-deletion","docs\u002F11.operations\u002F10.data-lifecycle-and-deletion",{"title":313,"path":314,"stem":315,"children":316},"Deployment","\u002Fdocs\u002Fdeployment","docs\u002F12.deployment\u002Findex",[317,318,322,326,330],{"title":313,"path":314,"stem":315},{"title":319,"path":320,"stem":321},"Docker Compose (dev)","\u002Fdocs\u002Fdeployment\u002Fdocker-compose","docs\u002F12.deployment\u002F01.docker-compose",{"title":323,"path":324,"stem":325},"Environment variables","\u002Fdocs\u002Fdeployment\u002Fenvironment-variables","docs\u002F12.deployment\u002F02.environment-variables",{"title":327,"path":328,"stem":329},"Kubernetes","\u002Fdocs\u002Fdeployment\u002Fkubernetes","docs\u002F12.deployment\u002F03.kubernetes",{"title":331,"path":332,"stem":333},"Production readiness","\u002Fdocs\u002Fdeployment\u002Fproduction-readiness","docs\u002F12.deployment\u002F04.production-readiness",{"title":335,"path":336,"stem":337,"children":338},"Reference","\u002Fdocs\u002Freference","docs\u002F13.reference\u002Findex",[339,340,344,348,352],{"title":335,"path":336,"stem":337},{"title":341,"path":342,"stem":343},"Glossary","\u002Fdocs\u002Freference\u002Fglossary","docs\u002F13.reference\u002F01.glossary",{"title":345,"path":346,"stem":347},"Roadmap and gates","\u002Fdocs\u002Freference\u002Froadmap","docs\u002F13.reference\u002F02.roadmap",{"title":349,"path":350,"stem":351},"Architecture decisions","\u002Fdocs\u002Freference\u002Fadr","docs\u002F13.reference\u002F03.adr",{"title":353,"path":354,"stem":355},"Compatibility and versioning","\u002Fdocs\u002Freference\u002Fcompatibility","docs\u002F13.reference\u002F04.compatibility",{"id":357,"title":353,"audience":358,"author":359,"authorUrl":359,"body":360,"coverIndex":359,"coverLabel":359,"coverTone":359,"date":359,"decisionStatus":359,"description":767,"excerpt":359,"extension":768,"featured":769,"historical":769,"meta":770,"navigation":771,"path":354,"readingTime":359,"scope":772,"seo":773,"sourceOfTruth":774,"status":367,"stem":355,"tags":359,"verifiedDate":368,"__hash__":775},"docs\u002Fdocs\u002F13.reference\u002F04.compatibility.md","integrator",null,{"type":361,"value":362,"toc":756},"minimark",[363,369,373,378,530,533,537,540,579,586,590,616,620,623,644,652,656,659,682,685,689,716,720],[364,365],"page-status",{"note":366,"status":367,"verified":368},"Compatibility policy is specified; per-client certification and public support windows are not complete","PROVISIONAL","2026-10-21",[370,371,372],"p",{},"“OpenAI-compatible” is not one contract. Chat Completions, Responses, native provider APIs, MCP, and framework integrations have different shapes and different support boundaries. This page records the policy; it is not a certification matrix for every client version.",[374,375,377],"h2",{"id":376},"supported-surfaces","Supported surfaces",[379,380,381,397],"table",{},[382,383,384],"thead",{},[385,386,387,391,394],"tr",{},[388,389,390],"th",{},"Surface",[388,392,393],{},"Current support",[388,395,396],{},"Important boundary",[398,399,400,417,430,441,452,467,478,489,502,519],"tbody",{},[385,401,402,406,414],{},[403,404,405],"td",{},"Chat Completions",[403,407,408,409,413],{},"OpenAI-compatible ",[410,411,412],"code",{},"POST \u002Fv1\u002Fchat\u002Fcompletions","; streaming and non-streaming",[403,415,416],{},"Tools, structured output, and provider-specific fields depend on the selected adapter and model manifest",[385,418,419,421,427],{},[403,420,204],{},[403,422,423,424],{},"Non-streaming subset at ",[410,425,426],{},"POST \u002Fv1\u002Fresponses",[403,428,429],{},"Separate typed contract; semantic SSE, replay persistence, and multi-call execution are not shipped",[385,431,432,435,438],{},[403,433,434],{},"Anthropic",[403,436,437],{},"Chat Completions-facing adapter that calls native Messages",[403,439,440],{},"Text-oriented exposed surface; Anthropic tools, vision, JSON schema, and reasoning are not advertised unless the adapter is extended",[385,442,443,446,449],{},[403,444,445],{},"OpenAI",[403,447,448],{},"Chat Completions plus a separate Responses slice",[403,450,451],{},"A model ID is not a capability contract; extras require allowlisting and overlays",[385,453,454,457,464],{},[403,455,456],{},"Self-hosted OpenAI-compatible",[403,458,459,460,463],{},"Chat Completions via a configured ",[410,461,462],{},"\u002Fv1"," backend",[403,465,466],{},"Provider availability and model behavior are environment-specific",[385,468,469,472,475],{},[403,470,471],{},"MCP memory",[403,473,474],{},"Streamable HTTP; search, write, feedback",[403,476,477],{},"Not an OAuth authorization server; no per-agent rate-limit claim",[385,479,480,483,486],{},[403,481,482],{},"MCP operator",[403,484,485],{},"Streamable HTTP; four read-only metadata tools",[403,487,488],{},"Default-off; stdio not implemented; PolicySnapshot evaluation not wired",[385,490,491,494,499],{},[403,492,493],{},"Management HTTP",[403,495,496,498],{},[410,497,462],{}," tenant and operator routes",[403,500,501],{},"Mounted routes are not hosted operator readiness",[385,503,504,507,513],{},[403,505,506],{},"Auth gRPC",[403,508,509,510],{},"Internal ",[410,511,512],{},"AuthService",[403,514,515,518],{},[410,516,517],{},"ValidateToken"," is private-network only; no public REST token API",[385,520,521,524,527],{},[403,522,523],{},"SDKs, CLIs, framework integrations",[403,525,526],{},"No general support claim",[403,528,529],{},"A repository integration is not support evidence",[370,531,532],{},"Hosted Claude Code, Codex, Cursor, Copilot, or other tools that connect directly to a provider without IBEX are outside IBEX's governance. IBEX cannot enforce policy, capture evidence, or claim compatibility for a path that bypasses it.",[374,534,536],{"id":535},"version-axes","Version axes",[370,538,539],{},"These move independently and should be recorded together in evidence:",[541,542,543,547,550,555,558,561,564,567,570,573,576],"ul",{},[544,545,546],"li",{},"Contract major version",[544,548,549],{},"Protobuf package and service version",[544,551,552,553],{},"REST ",[410,554,462],{},[544,556,557],{},"MCP protocol and tool-schema version",[544,559,560],{},"Provider adapter version",[544,562,563],{},"Model deployment identity",[544,565,566],{},"Tokenizer family and asset version",[544,568,569],{},"Event schema version",[544,571,572],{},"Database migration version",[544,574,575],{},"SDK\u002FCLI version",[544,577,578],{},"Feature flags and deployment profile",[370,580,581,582,585],{},"A model alias such as ",[410,583,584],{},"fast"," must resolve to an immutable deployment identity before execution. A mutable provider catalog entry is not a stable contract.",[374,587,589],{"id":588},"compatibility-rules","Compatibility rules",[541,591,592,598,601,604,607,610,613],{},[544,593,594,595,597],{},"REST remains ",[410,596,462],{}," until a deliberate major version.",[544,599,600],{},"Additive changes still need examples, generated artifacts, and tests.",[544,602,603],{},"Protobuf field numbers and names are never reused; removed fields are reserved.",[544,605,606],{},"MCP tool IDs, schemas, and result shapes are versioned and hashable.",[544,608,609],{},"Database changes use expand → dual-read\u002Fwrite → backfill → verify → contract.",[544,611,612],{},"Embedding or tokenizer profile changes are versioned migrations, never silent index replacement.",[544,614,615],{},"Mixed-version behavior must be tested when old and new services can overlap during rollout.",[374,617,619],{"id":618},"breaking-changes","Breaking changes",[370,621,622],{},"A breaking change requires:",[624,625,626,629,632,635,638,641],"ol",{},[544,627,628],{},"An ADR describing the boundary and tradeoff.",[544,630,631],{},"A migration or compatibility shim.",[544,633,634],{},"A deprecation notice and support window.",[544,636,637],{},"Compatibility fixtures and mixed-version tests.",[544,639,640],{},"A rollback or roll-forward plan.",[544,642,643],{},"An update to the current-state and status documentation.",[370,645,646,647,651],{},"The public deprecation\u002Fsupport window is ",[648,649,650],"strong",{},"not yet selected"," for the proposed G1 contract set. Do not invent a date or promise a notice period that is not recorded in the contract registry.",[374,653,655],{"id":654},"client-certification","Client certification",[370,657,658],{},"For each client or framework, a real support claim would record:",[541,660,661,664,667,670,673,676,679],{},[544,662,663],{},"Client and version",[544,665,666],{},"Transport and endpoint",[544,668,669],{},"Identity and configuration model",[544,671,672],{},"Tested features",[544,674,675],{},"Known limitations",[544,677,678],{},"Diagnostics and error mapping",[544,680,681],{},"Last verification date",[370,683,684],{},"No such per-client certification table is currently published. The absence is deliberate: a merged example, a green local test, or a provider's compatibility statement is not IBEX support evidence.",[374,686,688],{"id":687},"what-is-not-supported","What is not supported",[541,690,691,694,697,700,703,706,713],{},[544,692,693],{},"A promise that every OpenAI SDK feature works against Chat Completions.",[544,695,696],{},"Lossless flattening of Responses into Chat Completions.",[544,698,699],{},"Native Anthropic Messages as a public IBEX endpoint.",[544,701,702],{},"Provider capabilities inferred from a model name alone.",[544,704,705],{},"MCP stdio in production or a write-capable operator tool.",[544,707,708,709,712],{},"Cross-tenant compatibility shortcuts, project-scoped URLs, or a ",[410,710,711],{},"projects"," entity.",[544,714,715],{},"A hosted SLA, deprecation window, or version-support matrix that is not in the contract registry.",[374,717,719],{"id":718},"related","Related",[541,721,722,728,733,738,743,751],{},[544,723,724,727],{},[725,726,200],"a",{"href":201}," — current data-plane contract",[544,729,730,732],{},[725,731,204],{"href":205}," — supported subset and limits",[544,734,735,737],{},[725,736,124],{"href":125}," — adapter behavior",[544,739,740,742],{},[725,741,136],{"href":137}," — capability and fallback behavior",[544,744,745,747,748,750],{},[725,746,471],{"href":235}," \u002F ",[725,749,482],{"href":239}," — tool boundaries",[544,752,753,755],{},[725,754,345],{"href":346}," — what must be evidenced before a support claim",{"title":757,"searchDepth":758,"depth":758,"links":759},"",2,[760,761,762,763,764,765,766],{"id":376,"depth":758,"text":377},{"id":535,"depth":758,"text":536},{"id":588,"depth":758,"text":589},{"id":618,"depth":758,"text":619},{"id":654,"depth":758,"text":655},{"id":687,"depth":758,"text":688},{"id":718,"depth":758,"text":719},"Which client surfaces IBEX supports, which versions move independently, and what a breaking change requires.","md",false,{},true,"provisional",{"title":353,"description":767},"engineering\u002Farchitecture-v2\u002F16-compatibility-and-versioning.md; engineering\u002Farchitecture-v2\u002F25-round5-provider-research.md; engineering\u002Fadr\u002F0075-per-org-model-routing-policy.md","MHHHFQ2pBiG7EC4Bk4_UVDPsHb5h4wWOhM0Ag4sYKuk",[777,359],{"title":349,"path":350,"stem":351,"description":778,"children":-1},"How ADRs are used, how to read them, and where the full record lives.",1792875080050]