- Check
- After transformation:
orders_enriched - Finding
- Column
customer_idwas renamed toclient_id. 2 downstream joins now drop 18% of rows. - Why it matters
- Revenue by customer on the dashboard will be understated by ~18%.
- Suggested fix
- Alias
client_id AS customer_idinorders_enriched, or update the joins inrevenue_by_customerandchurn_daily. - Changed by
- AI agent (session #4821)
AtEvals
The agent that checks your agents' data pipelines.
AI agents build pipelines fast. People miss things too. AtEvals reviews every change at ingestion and after every transformation, and tells you whether the data is safe to publish.
Scenario 1 of 3: All clear
Hover or tap a check to see what it looks at.
Example finding
Not just a report. A verdict.
Source shopify_orders last updated 26h ago (expected: hourly)
14 checks passed on stg_customers
How it works
What each check looks at
Check: ingestion
Schema changes and stale sources
- Schema vs. last run (added, dropped, renamed, retyped columns)
- Freshness vs. expected schedule
- Row count vs. baseline
- Null rate on key columns
Check output (after every transformation)
Broken logic your tests missed
Runs after your own tests pass
- Join cardinality (rows dropped or duplicated)
- Duplicate keys
- Null rates
- Numbers that should reconcile with upstream
Check: KPIs
Dashboard numbers that look wrong, even when the pipeline is fine
- Reads the KPI definitions from your BI tool
- Computes them on the new data before it's published
- Flags values outside their normal range, sudden spikes or drops
- Traces the cause: pipeline or source system (e.g. ERP)
Whether an agent wrote the change or a person did, every finding comes with why it matters and what to do next.
VS. YOUR TESTS
Your tests
- Written ahead of time, for cases you predicted
- Check your transformation logic, not the source system
- Pass even when the ERP or CRM sends bad data
- Pass/fail with no context
AtEvals
- Checks the data your pipeline actually produced
- Catches issues nobody wrote a test for
- Flags KPIs that look wrong, even when the error comes from the source system
- Traces the cause and says what to do next
Keep your tests. AtEvals checks what they can't see.
Works with your agent
AtEvals ships as an MCP server, so your coding agent can call it to check its own work before handing off.
agent → atevals.check(model="orders_enriched")
← HOLD column customer_id renamed
2 downstream joins affectedGet early access.
Who's behind it
Built by Fouad A. Djebbar: 10+ years building data platforms end to end, with a software engineering background. Based in Montréal.
LinkedInAtEvals is the agent of AtiMati, a hosted data services company based in Québec.