The model,drawn.

The vocabulary a company is described in — one schema per type, drawn as the graph of what references what.

Nothing here was written by hand: the page is generated from the model's own core, at the commit named beside the figure.

Drag to move · ⌘- or Ctrl-scroll to zoom

An outlined box is the folder the schemas live in. A filled square is a schema. A dashed line is a field that references another type, labeled with the field's name. Click to bring it to the center.

How to read it

A type is one schema file, named for the type. Its heading is the canonical name, and that string is what everything else references — so there is one place that says what a type is called, and one place to change it.

A line between two schemas is a field, not a link. The field is typed as a reference to another type, and the line carries the field's name — so a reference to a type no schema declares is an error, rather than a link that breaks later.

A type that is owned says so in one line. Its schema names the owner, and on disk its files nest inside the owner's folder — the ownership is stated once, in the vocabulary, and the layout follows from it.

Generated from companygraph/meta-model@HEADone schema per type, read by the rules in CONVENTIONS.md.