Case Study · AI-assisted data operations

Imports that negotiate with the sender's AI agent

A multi-office US property valuation firm needed data from every regional office in one central database, without forcing a template on anyone. The offices increasingly extract that data with their own AI tools, so the import service was built to answer them the same way: machine-actionable findings, including a verdict on whose problem it is. Built by a Pit Wall of two, an AI Product and a Forward Deployed Engineer, with the agent writing the code and no separate Pit Crew, at roughly 5× faster delivery and about 10× the volume of work for the same budget.

The challenge

Two ways to lose, before you start

Regional offices hold rich property data in heterogeneous spreadsheets extracted from appraisal documents. Consolidating it centrally usually collapses into one of two failures. Mandate a rigid template on every office and adoption dies, because the template never fits how any given office actually works. Hand-map every variant centrally and the cost explodes, while the database schema slowly fills with the quirks of each source.

A third pressure made the usual answers worse: the offices had started extracting their spreadsheets with AI tools of their own. The sender was no longer reliably a person reading an error report.

The solution

Standardize the contract, not the people

The import service classifies content instead of matching templates. Sheet names, column headers, and value formats may vary freely; a layered engine of deterministic rules, a domain vocabulary, and a scoped AI fallback works out what the data means.

A stable intermediate format acts as the firewall. Readers absorb source-format drift on one side, and the database writer consumes only the strictly typed intermediate on the other, so source variation and schema evolution stop being each other's problem. The writer never re-parses a string; it dispatches on declared types.

Nothing unidentified reaches the database. An integrity gate validates every import before the write, unresolvable content is quarantined rather than silently guessed, every value carries cell-level provenance, and every import carries an attested record of data origin, which matters when licensed third-party market data is involved.

The differentiator

When the sender is an agent, the error report should be too

The service exposes an agent-facing interface, so an office's own AI agent can upload, track status, read findings, and resubmit end to end. Each finding carries a location, evidence, a concrete suggested action, and a routing verdict.

That verdict is the design decision that does the work. The system can say, in machine-readable form, not your problem, do not re-extract, our importer mis-bound this column. Classic integrations cannot say that; they can only insist the file is wrong. The result is a closed correction loop: a resubmission declares which attempt it supersedes, the service diffs the attempts and reports convergence, or flags a regression when a re-extraction has lost fields the previous one had. Most issues resolve agent to agent in a round or two.

Humans still get a human artifact. The same findings render as the office's own workbook, returned with per-cell comments and a linked issue index. One taxonomy, three renderings: for machines, for agents, and for people.

The team

Two people and the agent

The platform is built by a Pit Wall of two: an AI Product role and a Forward Deployed Engineer. There is no separate Pit Crew. The Forward Deployed Engineer who works out the client's intent is also the one who implements against it, with the Silicon Software Engineer, the AI agent, writing the code.

That is the compression the framework predicts, in its sharpest form. The conventional staffing for a system of this shape, a business analyst mapping every source format, developers building importers, and QA validating the results, collapses into two people who never hand work across a boundary. The specification does not have to survive a translation step, because the person who wrote it is the person who builds against it.

On the delivery estimates for this engagement, that shape is worth roughly 10× the volume of work for the same budget and about 5× faster delivery, at held quality. The triangle moved, and the client took the gain as scope and speed rather than as a smaller invoice.

The RACE pattern

The same discipline, pointed inside the product

RACE Programming is usually described as how a team builds. This engagement is what happens when the same stance is built into the thing the team ships, because here the AI agent is not only the builder, it is also a participant in the running system.

  • The Silicon Software Engineer executes, humans keep judgment. In RACE the agent writes the code and a person owns acceptance. Here the sending agent fixes and resubmits data, while certifying data origin and clearing warnings stay human. Same boundary, moved from the delivery team into the product.
  • A specification precise enough for a machine. The Executable User Story exists because an agent cannot build from prose it has to reinterpret. The import findings are the same idea aimed outward: location, evidence, suggested action, and a routing verdict, so the receiving agent can act without a human translating for it.
  • Gates, not review by eyeball. RACE puts a four-gate Definition of Done in front of production. This platform puts an integrity gate in front of the database: nothing unidentified is written, and unresolvable content is quarantined rather than guessed.
  • Everything as Code. Rules, vocabulary, and provenance are machine-readable state rather than knowledge held by whoever ran the last import, which is what makes the pipeline deterministic and auditable.
The guardrails

Capability, never authority

  • An agent can fix and resubmit files. It cannot certify data origin on a human's behalf, and there is deliberately no interface through which it could.
  • No agent bypasses classification or the integrity gate, and imports carrying warnings still stop for human review.
  • Feedback text is composed from templates and structural fields only. Raw cell content, which an attacker can control, is never interpolated into agent instructions.
  • The pipeline is deterministic: the same input against the same rules produces an identical result.
The result

In production, with the humans at two points

The platform runs in production for the firm's regional offices. The domain vocabulary spans roughly nine hundred header aliases and hundreds of normalized enum values, and the system is covered by several hundred tests including a multi-workbook regression corpus. Offices send what they already have; the humans touch the loop at exactly two points, certifying data origin and reviewing warnings.

Client identity withheld. Delivery facts are as reported by the engineering team. The same stance shows up across RACE Programming engagements: agents get capability, humans keep authority, and every automated action is scoped, verified, and auditable.

More case studies → · Read the framework →

FAQ

Frequently asked questions

What was delivered in this engagement?
A production data-import platform for a multi-office US property valuation firm consolidating property, sales, lease, and financial data from its regional offices. Instead of mandating a rigid spreadsheet template, the service classifies content: sheet names, column headers, and value formats vary freely, and a layered engine of rules, domain vocabulary, and scoped AI fallback works out what the data means. Every import passes an integrity gate before anything is written, and every value carries cell-level provenance.
What makes this an agent-to-agent system?
The regional offices increasingly extract their data with their own AI tools, so the import service exposes an agent-facing interface. The sending agent uploads, tracks status, reads findings, and resubmits without a human in the loop. Findings are machine-actionable rather than a human error report: each issue carries a location, evidence, a concrete suggested action, and a routing verdict that says whose problem it is.
Why does it matter that the system can blame itself?
Because the alternative wastes the sender. Classic integrations only ever say "your file is wrong." This service can return a first-class, machine-readable answer that means "do not re-extract, our importer mis-bound this column." Without that verdict, the sending agent burns rounds correcting data that was already clean, and each of those rounds becomes a human support ticket.
How much faster was delivery?
On the delivery estimates for this engagement, roughly 5x faster, at about 10x the volume of work for the same budget, with quality held. That is the RACE Programming triangle in practice: quality is never a lever, so the gain from an AI-augmented team shows up as scope and speed. The structural reason is the team shape, a Pit Wall of two with the agent executing, where the conventional staffing of business analyst, developers, and QA would have carried hand-off cost at every boundary.
How does this relate to RACE Programming?
Two ways. In delivery, the platform is built by a Pit Wall of two, an AI Product role and a Forward Deployed Engineer who both works out the client intent and implements against it, with the Silicon Software Engineer writing the code and no separate Pit Crew. That is team compression in its sharpest form: the conventional staffing of business analyst, developers, and QA collapses into two people with no hand-off boundary. In architecture, the same stance is applied inside the product, because the AI agent is a participant in the running system too. The sending agent fixes and resubmits data while certifying data origin stays human; findings are specified for a machine the way an Executable User Story is; an integrity gate guards the database the way the Definition of Done guards a release; and rules, vocabulary, and provenance are machine-readable state rather than tribal knowledge.
What stops an AI agent from corrupting the database?
Agents get capability, not authority. An agent can fix and resubmit files, but it cannot certify data origin on a human's behalf, cannot bypass classification or the integrity gate, and imports carrying warnings still stop for human review. Unresolvable content is quarantined rather than guessed into production, and feedback text is composed from templates and structural fields only, so attacker-controllable cell content is never interpolated into agent instructions.