First schema import - living example
Land inside an imported schema: objects on the grid, enums as taxonomies, rules in the Rule Builder.
Stop asking a validator four questions it was only built to answer one of.
Recipes
Recipes for JSON Schema
Land inside an imported schema: objects on the grid, enums as taxonomies, rules in the Rule Builder.
Own the mapping: a named profile that decides what every key becomes.
A schema-shaped workspace: Objects, Properties and Enums from the first click.
Validate real payloads against the governed model itself, never a stale copy.
Schema-as-code with review gates in both directions.
Give your agents the governed schema - profiles, export and validation as tools.
Connector summary
Import a JSON Schema through a CoreModels profile and objects, properties, enums, `$ref` composition, and rules land on a governed graph.
Validation stays in JSON Schema.
JSON Schema earned its adoption because it is easy to write and trivial to validate against. That success is why it gets overloaded. Reviews ask identity questions the file cannot prove. Enums fork. `x-` keys accumulate. Profiles differ between teams.
CoreModels import profiles make that overload explicit: objects become types, properties become elements, enums become taxonomies, `oneOf` lands in the rule builder, and unknown keywords can become mixins instead of being dropped. Recipes cover the first import, validation gateway, GitHub round trip, agent schema access, and a living sample you can walk through.
Keep JSON Schema as the interchange and the validator. Let CoreModels be the place meaning is reviewed, mapped, and regenerated.
Guides
Articles that explain the gap, then point at the recipe that closes it.
The review comment that starts the trouble is always polite. "Quick question - is this customer_id the same one the warehouse calls customer_key?" The pull request adds two properties to a JSON Schema file. The author is fairly sure the answer is yes. Nobody can prove it from what is on the screen, because what is on the screen is a validator, and validators do not carry that kind of knowledge. The reviewer approves. The question stays open, and the next person to ask it will be an on-call engineer at an inconvenient hour.
Add one property. That is the entire request: sales needs preferredChannel on the customer record, three allowed values, by Friday.
Recipe: First schema import - living example · Validation gateway - your model is the validator
GovernanceAnyone can survive the first import. You feed a JSON Schema into a tool, something appears on the other side, and it looks broadly right. The interesting moment is the second - six weeks later, when the schema has changed, other people depend on the model, and a quiet alteration would propagate into a warehouse table, a partner contract, and a validation rule before anybody noticed.
Recipe: GitHub sync round trip
EcosystemBefore lunch you probably touched five of them. The request body in an API definition is JSON Schema. The configuration file that failed CI with a helpful message was validated against JSON Schema. If your team runs a schema registry, some of the subjects in it are JSON Schema rather than Avro. If you asked a model for structured output, the shape you asked for was JSON Schema. And if you used an AI assistant with tools, every one of those tool contracts - the argument names, the types, the required list - was JSON Schema too.
AgentsHere is the failure mode that costs teams real time. You ask an assistant to draft a JSON Schema for the customer object it is about to integrate against, and it produces something clean: sensible property names, a tidy required array, an enum on the status field, format: "date-time" where a timestamp belongs. It looks like something your team would have written. It goes into a pull request and gets approved.
Recipe: Agent schema access over MCP
QuickstartEvery transform call in CoreModels returns three things, and the third one is the reason we built it this way. You get the converted schema. You get the plan that produced it. And you get a ledger of everything the conversion could not carry across exactly - written in English, with a path pointing at the construct it happened to.
Recipe: Blank JSON Schema project · First schema import - living example
APIA couple of format keys in the CoreModels transform surface are honest about being one-way. odm decodes only, because entity documentation is authored, not generated. synapse encodes only, and says so out loud when you try the other direction: "'synapse' is encode-only: a Synapse schema is plain draft-07 JSON Schema - decode it with the 'jsonschema' format."
An agent working on your repository will find a .schema.json file long before it finds your conversion documentation. What happens next depends entirely on the tools it can reach. Without one, it writes a converter, or worse, writes the target schema from scratch and presents its guesses with the same confidence as facts.
Recipe: Agent schema access over MCP
AutomationA generator you cannot re-run and get identical output from is not a build step. It is a rumor with a timestamp. That is the practical objection to putting schema conversion in a pipeline: if today's run can differ from yesterday's for reasons nobody logged, then the generated Avro, the generated DDL, and the generated proto files are all provisional, and reviewing them is theater.
Recipe: GitHub sync round trip
Deep diveEvery format coder in CoreModels has to answer the same awkward question: what do you do with the parts of a document you do not model? There are three bad answers - drop them, guess at them, or refuse the document - and one good one, which is to carry them untouched and be explicit about the handful of cases where carrying them is not enough.
Recipe: Import profile walkthrough