Context Layer for Odoo
The open format.
OCL format v0, an experimental open-format specification at schema version 0.1.0: the entry and context-pack schemas, the validator, the conformance suite, and the reference SDKs. Plus the public standard versus commercial registry boundary that makes it safe to adopt.
For the context layer to be a standard rather than a product feature, the format has to be open: anyone should be able to read, validate, and produce entries and context packs without depending on us. That is what OCL format v0 is, and it is live at github.com/Nantiai/ocl-standard under Apache-2.0.
Experimental, on purpose
OCL format v0 is an experimental open-format specification, currently at schema version
0.1.0. The contracts are draft and may change until independent implementations exercise them.
It is not frozen, not v1, and not yet an established standard.
What the format defines
entry.schema.json: one semantic fact: its scope, evidence, assertions, confidence, and provenance. See Entry anatomy.context-pack.schema.json: the request-scoped output an AI consumes.pack.schema.jsonand source-snapshot schemas: a deterministic collection of entries and the normalized sources their assertions check against.- Benchmark schemas: cases, suites, and scored three-arm artifacts, so evaluations are themselves specified. See Benchmark methodology.
Portable domains
Domains are expressed as JSON so any consumer can read them, not just Odoo. A condition is
[field, operator, value]; prefix logical operators are "&", "|", "!"; and runtime values
use a structured placeholder rather than an unquoted expression:
[ ["move_type", "=", "out_invoice"], ["state", "=", "posted"]]Syntax validation does not prove a domain compiles on a model. That is what a live domain_executes
assertion is for, which is why the format keeps checks and claims together.
Validator and conformance
The kit includes a validator and a conformance suite. The conformance suite proves that an implementation can parse the entry schema, enforce evidence references and trust-state invariants, and reproduce the content-hashed exemplar set:
python conformance/v0/run.pyThe exemplars it reproduces are candidate format demonstrations. They are not the commercial verified registry and carry no Odoo lifetime guarantee.
Reference SDKs
Small reference SDKs show how to work with the format. The Python package exposes entry
validation (validate_entry); the TypeScript client (OCLClient) wraps the runtime operations.
See Consuming the layer for their shapes.
Public standard, commercial registry
This is the model that lets OCL be adopted freely while the verified truth stays a product.
| Public / open | Private / commercial |
|---|---|
| The format spec and JSON Schemas | The complete curated verified registry |
| The validator and conformance suite | The candidate registry and verification harness |
| Small Python and TypeScript SDKs | Source fingerprints and release matrices |
| Ten candidate example entries and an example MCP server | The private retrieval index and ranking |
| The conformance suite | Private benchmark cases and tenant overlays |
The line is simple: the format is open so anyone can build on it; the verified registry, the harness that proves it, and the tenant system are ours. Adopting the standard never requires our registry, and our registry is what the commercial product delivers.
Open and public today
The spec, schemas, validator, conformance suite, ten candidate example entries, an example MCP server, and the reference SDKs are all public now at github.com/Nantiai/ocl-standard, Apache-2.0. See the Quickstart. What is not in the repo is the commercial side: the verified registry, the production assembler, the verification harness, and the tenant system. A hosted runtime endpoint is not live yet and comes with runtime access.