Skip to content

We hold AI agents' data work to a professional standard.

AI coding agents write data code that runs, looks right and can still be wrong. Our first product, TrueQuery, is a plugin that builds one standard for data work into your agent, and says what it didn't check.

Terminalruns offline
$ truequery detect samples/bad_orders.sqlsamples/bad_orders.sql:7:19 [error] sql/accidental-cross-join — no predicate links o: every row pairs with every row on the other side    fix: add ON <keys>, or CROSS JOIN if cartesian is intendedsamples/bad_orders.sql:13:7 [error] sql/not-in-nullable-subquery — a NULL in the subquery makes NOT IN return zero rows    fix: rewrite as NOT EXISTS, or add WHERE col IS NOT NULLsamples/bad_orders.sql:17:14 [error] sql/count-star-after-left-join — COUNT(*) over an outer join counts 1 for unmatched rows    fix: count the nullable-side key instead, e.g. COUNT(o.<key>)⋯5 errors, 2 warnings in 1 file checked offline $ truequery review samples/bad_orders.sql⋯TrueQuery receiptChecked      1 SQL file · contracts for 0 of 3 tablesFound        5 errors · 2 warningsNot checked  your data: TrueQuery reads files and never connects to your databaseNo contract  customers, orders, staging_orders
Real output from TrueQuery's checker on a sample file of seven common SQL mistakes (samples/bad_orders.sql). ⋯ marks cut lines.

Code that runs is not code that is right.

  • A revenue number that counts deleted accounts.runsnot checked
  • A table where nobody wrote down what one row is.runsnot checked
  • A pipeline with no tests.runsnot checked
  • A metric made up on the spot.runsnot checked

It all runs, and nobody can tell what was checked.

One standard for data work, built into your AI coding agent.

Explore TrueQuery
> /truequery ask how much money did we make last month?

About $8,863 in March 2025

How sure I am: I'm confident in this number, with one caveat. The shop's ready-made revenue report shows $11,820.53 for the same month, and I think that report is wrong, not my number. The $2,958 gap comes from two problems in that report:

  • $2,368 comes from 5 orders by customers whose accounts were deleted. The shop's rules say deleted accounts are left out of headline numbers, but the report includes them.
Show the whole answer

Revenue for March 2025 was $8,862.88 (US dollars). That's money from 20 completed, paid orders placed by 19 customers. No refunds were processed against those orders.

  • The report starts and ends each day on US Pacific time. The shop's rules use UTC (standard world time). …
Asked for last month's revenue on the , TrueQuery disagreed with the shop's own report, and said why.
About the examples. The demo shop is a small online shop with made-up data that ships with TrueQuery: a DuckDB warehouse with 2,571 orders from 600 customers in 4 currencies, a dbt project, and 10 written house definitions. It ships with the repo, so anyone can run the same prompts on it.

How we build.

Checks are code, not a second opinion
Deterministic, with no LLM in the check path: the same input gets the same answer every time.
The checker sends nothing anywhere
It runs offline, with no network calls. Your AI agent still talks to its model provider as usual.
It says what it didn't check
Every receipt lists what was verified, what was not, and why.
Your definitions win
When a request contradicts how your team defines a number, TrueQuery says so before writing.

Install it now

PreviewOpen source, Apache-2.0

Open source under Apache-2.0, in preview. In a terminal:

claude plugin marketplace add Analytically-ai/truequery
claude plugin install truequery@analytically

Then run /truequery init in your project. All install options

Follow releases

On GitHub, choose Watch → Custom → Releases to hear about each new version.