
Apache Ossie
AvailableSemantic Layer
Apache Ossie (incubating), the vendor-neutral standard for semantic metadata. dex reads your .ossie.yaml documents natively and authors them as reviewable diffs, with or without a dbt project.
Why connect Apache Ossie?
Apache Ossie (incubating) is the industry standard for exchanging semantic metadata across analytics, BI, and AI platforms. Dex treats it as a first-class semantic layer: it reads your Ossie documents straight out of the repository, authors them as reviewable diffs, and tells you when they fall out of sync with the warehouse underneath.
- Keep metric, dimension, and relationship definitions in a vendor-neutral Apache standard instead of one vendor's proprietary format
- Point Dex at your Ossie documents with no dbt project and no MetricFlow anywhere in the path
- Turn declared primary keys, unique keys, and relationships into evidence Dex uses when it profiles tables and verifies joins
- Author and update documents as reviewable diffs, written byte-for-byte so your comments, quoting, and ordering survive untouched
Works with Dex
Apache Ossie connects to the Exmergo products your team already uses.
How it works
Connecting Apache Ossie to
Point Dex at your Ossie documents
Install Dex in Claude Code by running /plugin marketplace add exmergo/exmergo-agent-plugins and /plugin install dex@exmergo, then add the Ossie extra with pip install 'exmergo-dex[ossie]'. Set semantic.vendor: ossie in .dex/config.yml and list your documents under semantic.ossie.files.
$ /plugin marketplace add exmergo/exmergo-agent-plugins
$ /plugin install dex@exmergo
$ pip install 'exmergo-dex[ossie]'
Read the catalog before you touch anything
/dex:explore loads your Ossie documents straight out of the repository and returns the datasets, fields, relationships, and metrics they declare, so the agent works from the layer's own words instead of guessing at your schema.
$ /dex:explore
Author documents as reviewable diffs
/dex:transform writes and updates your Ossie documents through semantic ossie define, and transform apply commits them byte-for-byte, so your comments, quoting, and ordering survive untouched.
$ /dex:transform
$ semantic ossie define
$ transform apply
Nothing is written until it validates
Dex checks every prospective document against a content-pinned copy of the Ossie JSON Schema, then against its own integrity rules: unique names, resolvable relationship endpoints, matching key arity. Writes are confined to the paths you configured, and a file that changed after planning refuses the whole edit.
Catch drift automatically
/dex:maintain snapshots your Ossie layer and flags it when the warehouse moves underneath it: a source column that disappeared, a declared primary key that stopped being unique, a relationship that no longer resolves.
$ /dex:maintain
