Comparison · vs CLAUDE.md
Both put your data definitions where your agent can read them. The difference is whether anything ever checked them against your warehouse.
Writing your definitions into a CLAUDE.md is the obvious first move, and a genuinely good one. You stop re-explaining which table is canonical and which join is the right one; your agent reads the file and carries that context into the task. For conventions that rarely change, that is often all you need.
The limit shows up the moment a definition has a live warehouse result behind it. A line that says “active customer = logged in within 90 days” is just asserted text — nothing reconciled it against the data, so when the billing rule changes or the table moves, the file keeps saying the old thing and your agent keeps trusting it, confidently. A ClariLayer entry is the same definition, reconciled against the result your agent actually computed: provenance and status are shown, and a declared-vs-actual mismatch surfaces as a caveat instead of a clean-looking wrong number. ClariLayer never holds your warehouse credentials and never runs SQL server-side — it checks declared against actual and shows its work.
Reconciled, not asserted
Hand-typing your definitions into a notes file is a real, useful start — but nothing checked it against your warehouse. A ClariLayer entry is the same definition, reconciled against your real warehouse result: provenance and status are shown, and a declared-vs-actual mismatch surfaces as a caveat instead of a confident wrong answer.
Just text. Nothing reconciled it against your warehouse, so when the definition drifts the agent keeps trusting the stale line — confidently.
The declared definition counted logged-in users; reconciling against your warehouse showed the billing rule (mrr > 0) returns a different number. Flagged for you to resolve — not hidden behind a clean-looking total.
Reconciled against the result your agent computed locally. ClariLayer never holds your warehouse credentials and never runs SQL server-side — it checks declared against actual, and shows its work.
When each one is the right tool
This is not a file you have to throw away. A CLAUDE.md and a ClariLayer context layer do different jobs — the question is which one a given piece of context actually needs.
Caveat over confident-but-wrong
The honest unit of trust here is the caveat. A hand-written file has no way to raise one — it cannot know it has drifted. ClariLayer reconciles the saved definition against your real warehouse result and, on a mismatch, records a caveat; a clean pass leaves the entry asserted, the honest baseline. Today the product emits caveat or leaves an entry asserted — a stronger verified stamp is the documented trajectory, not a badge we apply present-tense.
Connect ClariLayer to Claude Code, Cursor, or Codex. Bootstrap brings in your existing CLAUDE.md and SQL, then reconcile keeps the definitions that matter honest against your real warehouse result.
We use privacy-friendly analytics
With your consent we use PostHog and Vercel Analytics to understand how ClariLayer is used so we can improve it. We never sell your data. Errors are always monitored (without analytics) so we can keep the app reliable. You can change your mind anytime.