Snowflake is our first wedge · engine is warehouse-agnostic

Snowflake Cortex Agents now reason over your schema. Verify the reasoning, inside Snowflake.

Cortex Analyst became Cortex Agents: autonomous, multi-step reasoning over enterprise schemas, executing SQL directly. EvalQA compiles invariants from your dbt manifest and INFORMATION_SCHEMA, runs them through a native stored procedure in your own compute, and signs the evidence — independent of the vendor whose credits the queries consume.

Native CALL EVALQA_RUN(...) Zero data egress in Mode 1 Snowflake vocabulary, not index talk
cortex agent · finance space · illustrative
-- Q: "What was customer ARR in Q1 2025?" agent JOIN dim_customers d ON s.customer_id = d.customer_id WHERE ... AND d.is_current = TRUE -- today's tier on 2025 facts fix AND s.subscription_date >= d.valid_from AND s.subscription_date < COALESCE(d.valid_to, '9999-12-31') INV-042 DEFECT_CONFIRMED Sev-1 · 20/20 trials · ARR restated by 7.4%   -- Q: "Events by type on 1 Sep" agent WHERE DATE(CONVERT_TIMEZONE('UTC', event_ts)) = '2026-09-01' non-sargable on clustering key · 4.2 TB scanned, 18 MB needed fix WHERE event_ts >= '2026-09-01' AND event_ts < '2026-09-02' INV-063 DEFECT_CONFIRMED Sev-2 · remote spilling · ≈$5.1k/mo credits
Why Snowflake first

14,554 customers, a platform squeeze, and an engine that does not care which warehouse

Scale VERIFIED FACT

14,554 total customers

Snowflake reported 14,554 customers as of 31 July 2026 (Form 10-Q). Our serviceable market is the slice piloting or running Cortex Agents or Text-to-SQL in production — about 450 accounts on our filter PLANNING ASSUMPTION.

Structural conflict

Paid on credits, not correctness

A cloud data platform’s economics reward compute consumption, not query parsimony or semantic correctness. It also cannot give independent assurance to your audit committee about its own LLM service. Neither is a criticism; both are why a third party exists.

Portability

SQLGlot ASTs underneath

Invariant semantics are expressed over abstract syntax trees and relational rules, so the same engine targets Databricks Unity Catalog, BigQuery and Redshift. Snowflake is the first dialect we validate, not the only one we can parse. Coverage status →

Snowflake-specific failure mechanics

We test the things that are actually Snowflake

Earlier drafts of our taxonomy talked about “indexes”. Snowflake has none. The invariants below are written in the platform’s own terms.

Performance VALIDATED

Micro-partition pruning & spilling

Non-sargable functions on clustering keys, Cartesian micro-partition scans, remote SSD disk spilling. Flagged with the scanned-versus-needed bytes from the query profile.

Authorisation VALIDATED

Row access policies & dynamic masking

Queries that bypass a row access policy through a session-context gap, unmasked columns reached through a view, missing tenant predicates on shared tables.

AI-native SQL PILOT

AI_FILTER, AI_EXTRACT, AI_SUMMARIZE

Unbounded Cortex AI functions inside inner loops that burn credits and make joins nondeterministic; we check for pre-filtered deterministic cohorts before inference.

Temporal VALIDATED

SCD-2 point-in-time joins

is_current = TRUE applied to historical periods; 4-4-5 fiscal calendar misalignment; effective-dated joins that leak future state into past reporting.

Tool behaviour VALIDATED

Cortex Agent tool & parameter abuse

Wrong tool selection, infinite calling loops, hallucinated parameters such as an unauthorized_override_flag that attempts privilege escalation.

FinOps PILOT

Credit explosions

Unconstrained terabyte scans, repeated redundant subqueries, warehouses left auto-resuming for an agent that retries. Bounded by a hard credit cap on the assurance warehouse.

Native execution

One stored procedure. Nothing leaves.

The evaluation executes inside your Snowflake account through EVALQA_RUN, installed in a schema you own with a role you scope. The challenge suite is committed by hash before the run; an ephemeral nonce issued by eval.qa is embedded in every query comment so the execution log can be tied to the commitment. The bundle is written to an internal stage, dual-signed by your tenant key and our verification key.

Prototype EVALQA_RUN is being exercised in the first design-partner sprints; the interface shown is the contract we are building to, and the install script is illustrative.

  • Dedicated role, no ACCOUNTADMIN, hard credit limit and execution timeout
  • Runs on a staging branch or clone for CI; on production read-only for weekly bundles
  • Query history shows exactly what ran — there is nothing else

CLI, stored procedure and qabit → Evidence modes & EALs →

install · illustrative
CREATE ROLE evalqa_runner; GRANT USAGE ON WAREHOUSE assurance_xs TO ROLE evalqa_runner; ALTER WAREHOUSE assurance_xs SET STATEMENT_TIMEOUT_IN_SECONDS = 300; GRANT SELECT ON ALL TABLES IN SCHEMA finance.marts TO ROLE evalqa_runner; CREATE STAGE assurance.bundles ENCRYPTION = (TYPE = 'SNOWFLAKE_SSE');   -- weekly, from your orchestrator CALL EVALQA_RUN(suite => 'finance', consequence => 'TIER_1', evidence => 'MODE_1_LOCAL', nonce => :nonce);
Questions

From Snowflake admins

No. Keep it running. We measure what it misses — Incremental Consequential Finding Yield — and report that number with a confidence interval in every bundle. A platform vendor billed on credits cannot provide independent assurance of its own model to your audit committee; that is the gap, not the tooling.

A dedicated role with USAGE on the target database and schemas, SELECT on INFORMATION_SCHEMA, execute rights on the EVALQA_RUN stored procedure, and write access to one internal stage for the signed bundle. No ACCOUNTADMIN, no access to tables outside the pre-frozen surface, and a hard credit limit on the warehouse it uses.

In Mode 1, nothing. The stored procedure runs inside your compute; the only outbound calls are the nonce request and the manifest hash to the notary. Both are documented in the DPA and visible in your query history.

The suite runs on a warehouse you size, with an enforced credit cap and execution timeout (operating-plan risk RSK-14). A typical sprint run is a few dollars of compute; sequential trials on high-risk invariants are bounded at 59 executions per invariant.

Snowflake, Cortex, Cortex Agents and Cortex Analyst are trademarks of Snowflake Inc. EvalQA is independent of Snowflake and is not endorsed by it — which is the point.

Before the agent is trusted unattended, let someone independent read its SQL.

A four-week Baseline Sprint. One signed bundle. One ICFY number.

Book a readiness review How the sprint runs