For CDAOs, Heads of Data Platform and AI governance leads

Continuous assurance for the agent your board thinks somebody already checked.

The platform keeps an invariant suite compiled from your own dbt manifest and schema, runs it inside your warehouse on every pull request and every week in production, and delivers a signed assurance case with dollar-denominated exposure — so production clearance is a decision made on evidence, and remains one after every schema change.

Fixed annual fee Runs in your perimeter No success fees, ever
github actions · evalqa gate · illustrative
PR #412 feat(semantic): add net_revenue measure evalqa test --suite finance --branch pr-412 --mode local schema drift detected · 3 models changed · 9 invariants re-synthesised   PASS INV-002 fact_invoices grain = 1 row per invoice_id PASS INV-019 dim_customer effective-dated join, no is_current FAIL INV-071 net_revenue excludes refunds — agent SQL sums gross trials 20/20 reproduced · consequence tier 1 · Sev-1 exposure ≈ $412k quarterly (refund rate 3.1% × $13.3M)   merge blocked · 1 Sev-1 · bundle 2026-09-30-pr412 dual-signed EAL-2 reviewer T3 assigned · Business Definition Owner notified
Fit

Built for one behavioural trigger, not a firmographic

Demographic filters do not predict assurance demand. One thing does: an LLM agent that generates SQL against a production warehouse and whose output someone downstream trusts.

Good fit

An agent in production, or about to be

Snowflake Cortex Agents or Cortex Analyst, Databricks Genie, or a custom LangChain / LlamaIndex Text-to-SQL pipeline, answering questions whose answers reach a dashboard, a report, a customer or a regulator.

Good fit

Someone who owns the go/no-go

A CDAO, VP Data or governance lead who has to sign a residual-risk acceptance and would rather sign it against a signed assurance case than an internal demo.

Technical exclusion

Insufficient access or definitions

We cannot verify what we cannot see or what nobody can define. Without read-only schema metadata and a named Business Definition Owner the engagement is declined, professionally and in writing. Full scope & exclusions →

How the platform runs

Compiled from your metadata. Executed in your compute. Signed every week.

  1. Metadata & manifest ingestion

    We read your dbt manifest.json and warehouse INFORMATION_SCHEMA — model grain, foreign keys, tests, effective-dated columns, row access policies. No table contents. On every schema change the suite is re-synthesised, so coverage does not silently decay.

  2. Automated invariant generation

    Join fan-out traps, null foreign keys, temporal range boundaries, SCD-2 point-in-time joins, tenant isolation predicates and sargability checks are synthesised automatically — the target is 70% of a standard suite in under 15 minutes PLANNING ASSUMPTION. Human authoring is reserved for your proprietary high-consequence logic.

  3. Risk-adaptive sequential execution

    Low-risk formatting invariants run 5 trials, medium-risk aggregations 20, and high-risk financial or authorisation invariants use sequential probability ratio testing up to 59 trials — enough to say, at 95% confidence, that the true failure probability is under 5%. A challenge-suite hash and an ephemeral nonce are committed before execution so results cannot be manufactured.

  4. Adjudication into four states

    PASS, DEFECT_CONFIRMED (reproducible trace and counterfactual proof captured), EXCLUDED_UNSUPPORTED (out of contracted surface or dialect) or INDETERMINATE (ambiguous definition → your Business Definition Owner’s 48-hour SLA). Sev-1s go to two blinded reviewers and a lead adjudicator.

  5. Signed bundle, in your perimeter

    A dual-signed HTML + JSON audit bundle lands in your S3 bucket or Snowflake internal stage. Only its hash reaches our stateless notary. Anyone you choose can verify it without seeing a byte of your data.

The five-metric assurance stack

Numbers that change a decision, reported with their uncertainty

Every metric is reported with a 95% Wilson interval computed by standard libraries (scipy.stats, statsmodels), never a hand-derived formula.

ICFY

Incremental Consequential Finding Yield

Share of critical and high defects we find beyond your native platform evaluation. Contract target ≥ 40%. If it is under 20% across five customers, our own kill rule fires.

CDDR

Consequential Defect Discovery Rate

Critical findings per 100 evaluated agent traces, tracked release over release so you can see whether the agent is getting safer.

RWAC

Risk-Weighted Assurance Coverage

Share of the pre-frozen business schema surface covered by active invariants. The denominator is frozen before execution and signed by both parties, so coverage cannot be inflated after the fact.

DCR

Decision Change Rate

Share of findings that altered a go/no-go or prompt-engineering decision. Target ≥ 30%. Findings that change nothing are a signal that we are testing the wrong surface.

FOR

Finding Overturn Rate

Share of reported defects overturned during adjudication. Target under 5%. Published in every bundle, because an assessor that is often wrong should be visibly often wrong.

Tiers

Consequence-tier suite allocation

Tier 1 financial/payroll agents: ≥50% independent adversarial cases. Tier 2 operational: ≥40%. Tier 3 exploratory BI: ≥30% — the contractual floor below which no engagement proceeds.

Three native interfaces

Meets your data team where they already work

  • evalqa Python CLI. Runs the suite in GitHub Actions or any CI against a Snowflake staging branch on every pull request; exits non-zero on Sev-1.
  • Snowflake native stored procedure. CALL EVALQA_RUN('finance', 'tier-1') executes the evaluation entirely inside your Snowflake compute — zero infrastructure egress.
  • qabit OpenTelemetry adapter. MIT-licensed. Streams runtime agent spans (prompt, generated SQL hash, tool calls) for production observability of the agent in service.

Integration details →

snowflake worksheet · illustrative
CALL EVALQA_RUN( suite => 'finance', consequence => 'TIER_1', evidence => 'MODE_1_LOCAL', nonce => 'n_7f21…e0' -- issued by eval.qa, 15-min TTL );   +------------------+-------+---------------------------+ | status | count | bundle | +------------------+-------+---------------------------+ | PASS | 71 | @assurance_stage/2026-09… | | DEFECT_CONFIRMED | 3 | dual_signed=true eal=2 | | INDETERMINATE | 2 | egress_rows=0 | +------------------+-------+---------------------------+
Security posture

Three evidence modes. Zero raw data out by default.

Mode 1 · default

Local-only automated execution

100% automated inside your VPC or Snowflake sandbox. Only hashes, invariant status, row counts, latency and the signed manifest leave. No human review.

Mode 2 · on authorisation

Sanitised evidence escalation

For exception triage: pseudonymised AST snippets and execution plans, 14-day TTL, encrypted under a per-tenant KMS key that is destroyed at contract end.

Mode 3 · regulated

Customer-hosted restricted VDI review

External expert review on sensitive schemas happens inside a VDI you control, clipboard and downloads disabled. Remote visual inspection is treated as regulated processing.

Evidence modes, assurance levels and the runner adversary model →  ·  Security & data handling →

Questions

Before the call

The person accountable for an analytics agent that already executes SQL against a production warehouse, or is about to: usually a Chief Data & Analytics Officer, a Head of Data Platform, or the AI governance lead who has to sign the residual-risk acceptance. The trigger is behavioural — a Cortex Agent, Genie space or custom Text-to-SQL pipeline in production — not company size.

Read-only access to your schema catalog (INFORMATION_SCHEMA) and your dbt manifest.json, or a one-off run of our local metadata extractor. A named Customer Business Definition Owner who can resolve INDETERMINATE findings within 48 hours. And a consequence tier for the agent, which we agree together in week one.

It is recorded as INDETERMINATE, never guessed. The contract gives your Business Definition Owner a 48-hour window to resolve the semantic definition ("active customer", "net revenue"); the invariant is then re-run and lands in PASS or DEFECT_CONFIRMED.

No. Developmental separation is part of the Independence Charter: EvalQA personnel never author production prompts or dbt models for an audit client. Remediation is done by your team or a Qualified Implementation Partner; we re-test it.

Readiness review

Thirty minutes. No deck.

Tell us which agent worries you. We will look at how it is evaluated today, say which of the 18 failure domains apply to its schema, and tell you honestly whether a Baseline Sprint would surface anything you cannot already see. If the answer is no, we say so.

  • Reply within one business day
  • Design partner cohort: 3 slots, card-billed, on the Common Paper DPA v1.3
  • Or email [email protected]

We keep what you type here to reply to you and for nothing else. See privacy.

✓

Received.

We will reply within one business day with two or three times for the review.