Gemini 3.5 Flash · Google ADK · Cloud Run

Your spreadsheet says $6.2M profit. It lost $1.7M.

Cassandra finds what is broken, writes the correction, and proves every one by recalculating the file. Nothing reaches you that it has not first proven to itself.

A real run: 8 findings, 5 proven, 114 seconds, nobody involved after the file landed.

saas_projection_v11.xlsx
81 cells, 3 sheets, 52 graph edges
PL!C8 labelled Operating Income, computes Gross Profit plus Expenses
Correction rejected: changed nothing at Revenue!D12
Proven by recalculation: =C6-C7
Reported6,246,545
Correct0
The problem

Spreadsheets are the largest untested codebase on earth.

They allocate budgets, price deals, and set national policy. Almost none are under test, and a wrong formula looks exactly like a right one.

94%
of spreadsheets contain at least one error
95%
of audited financial models had major errors
86%
of people made an error in a controlled test
14%
is what those same people estimated their own odds to be

That last gap is the whole problem. The errors are everywhere, they are consequential, and the people who wrote them are certain they are not there. Reinhart and Rogoff shaped global austerity policy off a sum that omitted five rows. JPMorgan's London Whale loss involved a copy and paste error inside a $6.5B hole.

How it works

It does not warn you. It fixes it, then proves the fix.

Every other tool emits a warning and asks a human to judge it. Cassandra writes the correction, applies it to a copy, recalculates the whole workbook, and refuses to show you anything that did not survive.

01

Map

Parse into a formula dependency graph. No model calls: a parser does this better.

02

Hunt

Five deterministic detectors, plus an agent that reads labels against formulas.

03

Judge

Real defect, or a legitimate modelling choice? Series seeds get dismissed.

04

Reject

A fix that fails recalculation goes back with the reason. Three tries, then a human.

05

Prove

Moved exactly as predicted, nothing else touched. Only then does it reach you.

Nobody has to remember to run it

A workbook landing in a Cloud Storage bucket starts the audit. The human bottleneck is the root cause, so it is removed.

It proves defects that are not wrong yet

A hardcoded rate equal to the assumption it replaced is right today. Cassandra perturbs the driver and shows the two workbooks diverge.

It ranks by money, not by rule

Ordered by blast radius through the dependency graph, weighted toward the figures people quote in meetings.

You get the corrected file

Every verified correction applied, anything uncertain left alone, the original never touched. A repair, not a report.

Three ways in

Drop an .xlsx, paste a Google Sheets link, or let a bucket event start it. Sheets needs no OAuth.

The agents hold no tools

None can read a file, change a workbook, or reach the network. Injected text can at worst cause a wrong judgement, which recalculation rejects.

Architecture

Three questions go to Gemini. Everything else is code.

Detection, the dependency graph, clustering, and every verification are plain Python. The model is asked only what a parser genuinely cannot answer, and the Verifier that decides whether it was right asks the model nothing at all.

Ingestionno human in the loop
workbook.xlsx Cloud StorageOBJECT_FINALIZE Pub/Subat least once Cloud Runscales to zero Firestoreruns, attempts, verdicts
Deterministiczero model calls
Cartographerparse, DAG, R1C1 clustering Blast radiusweighted toward outputs Five detectorshardcode, range, pattern, sign, reference
Gemini 3.5 Flashzero tools held
Semantic Auditorlabel against formula Adjudicatordefect or decision Patcherwrites the repair
The Verifierthe only authority

Applies the patch to a copy and recalculates every cell. Did the target move exactly as predicted? Did anything move outside its blast radius?

Proven

Shown with its diff, and written into the corrected workbook you download.

Rejected

Returned to the Patcher with the reason it failed. After three attempts, quarantined for a human.

Rejections loop back to the Patcher, carrying the reason

Never asks the model

  • Parsing the workbook
  • Building the dependency graph
  • Clustering regions
  • Locating candidates
  • Verifying every repair
  • Deciding what happens next

Asks the model

  • Does this formula compute what its label claims?
  • Is this a defect, or a legitimate modelling choice?
  • What is the correct repair?

Every answer is checked by recalculation.

Research

Standing on a decade of literature, not claiming to be first.

Spreadsheet error detection is a mature field. The contribution here is the composition: autonomous, continuous, self verifying, and regression aware.

01
CUSTODES: Automatic Spreadsheet Cell Clustering and Smell Detection
Defective cells surface as outliers within clusters formed by tabulation style. The region clustering and Pattern Breaker implement this directly.
ICSE 2016
02
ExceLint: Automatically Finding Spreadsheet Formula Errors
Reference point for structural anomaly detection across a grid.
arXiv 1901.11100
03
SpreadsheetLLM: Encoding Spreadsheets for Large Language Models
Microsoft Research on compressing grids for language models without losing structure.
arXiv 2407.09025
04
Benchmark Dataset Generation and Evaluation for Excel Formula Repair with LLMs
Establishes verifying model written repairs against a calculation engine as sound method. The Verifier is this idea taken as the system's only authority.
arXiv 2508.11715
05
Panko, What We Know About Spreadsheet Errors
Source of the prevalence figures above, and of the taxonomy the six defect classes mirror.
Field audits

Find out what your model is actually saying.

Drop a workbook in. Two minutes later you get the corrected file and the proof.

Open Cassandra
Gemini 3.5 FlashVertex AIGoogle ADK Cloud RunPub/SubCloud StorageFirestore