Comparison · vs semantic layers

ClariLayer vs semantic layers and catalogs

They answer different questions. A semantic layer computes how a number is built. ClariLayer is the trust layer that decides what your agent should believe about it.

It is tempting to file ClariLayer next to a semantic layer and ask which one wins. That is the wrong axis. A semantic layer like dbt or Cube, and a data catalog, are execution and definition engines: they own the canonical SQL, the joins, the grain, and where the data lives. They make a number correct and consistent. If you have one, keep it — ClariLayer assumes you might, and does not try to be one.

ClariLayer operates one layer up, next to your agent. It is the context and trust layer: it carries the definitions and corrections an analyst needs in-flow, and it reconciles a saved definition against the result your agent actually computed — surfacing a caveat when the declared definition has drifted from the real result. A perfectly-built model does not, by itself, tell your agent which saved definition has quietly diverged from what the warehouse now returns. That gap is what the trust layer closes. ClariLayer never holds your warehouse credentials and never runs SQL server-side.

Two layers, two jobs

An execution layer and a trust layer.

The clearest way to see the difference is to put the two jobs side by side. One computes the number; the other decides whether your agent should trust the saved definition for it.

Semantic layer / catalog

The execution layer — how a number is computed

A semantic layer (dbt, Cube, a metrics store) or a data catalog defines, computes, and serves the number. It owns the canonical SQL, the joins and grain, governance over the model, and where each table lives. When it is in place, it is the right way to make a metric correct and consistent.

  • Owns the computation: the SQL, joins, time grain, and the served result.
  • Lives in your data stack and runs against the warehouse.
  • Answers how a number is built and where the data lives.
ClariLayer

The trust layer — what your agent should trust

ClariLayer sits beside your agent, not inside your data stack. It holds the context an analyst needs in-flow and reconciles a saved definition against the result your agent actually computed — recording a caveat when the declared definition no longer matches the real result, and showing provenance and status rather than asserting a number is right.

  • Owns trust, not computation: reconciled-vs-asserted, provenance, caveats.
  • Rides inside Claude Code, Cursor, or Codex over MCP — recall in-flow.
  • Answers what your agent should trust, and flags when it has drifted.

Better together

How the two layers compose.

The honest case is not either-or. A semantic layer makes the computation right; ClariLayer keeps your agent honest about whether the saved definition still matches it. Here is the path end to end.

  1. 1

    Your semantic layer computes the number

    The canonical definition lives in dbt, Cube, or your catalog and computes net revenue the agreed way. That is exactly where the computation belongs — ClariLayer does not try to replace it.

  2. 2

    ClariLayer holds the context your agent needs

    The definition, its provenance, the gotchas you have corrected, and the saved SQL ride along inside your agent over MCP, so it stops re-explaining the data every session.

  3. 3

    Reconcile catches the drift the engine cannot see

    When the live result your agent computes no longer matches the saved definition, ClariLayer records a caveat. A correctly-built model can still drift from what a saved definition declared; the trust layer is what surfaces that gap.

No semantic layer? That is the common case.

Most individual analysts do not have a governed semantic layer. They have a warehouse, some dbt models maybe, a pile of ad-hoc SQL, and definitions that live in their head. ClariLayer meets that reality: bootstrap structures the SQL you already have, recall and remember carry your context across sessions, and reconcile checks a saved definition against your real result.

So the comparison cuts both ways. If you run a semantic layer, ClariLayer is the trust layer above it. If you do not, ClariLayer is the context layer that finally gives your agent something reconciled to work from — without asking you to stand up a metrics platform first.

Add the trust layer above your stack.

Connect ClariLayer to Claude Code, Cursor, or Codex. Keep whatever computes your numbers — ClariLayer reconciles what your agent should trust against the result it actually got.