AI AgentAI Coding

Cursor Rewrites SQLite: An Ideal Experiment That Pushes All Three Dimensions of Harness Engineering Forward Simultaneously

What Cursor Actually Did This Time

On July 20, 2026, the Anysphere team published an article authored by Wilson Lin on the official Cursor blog titled “Agent swarms and the new model economics” (Cursor Blog Post). In this article, the team announced a new engineering experiment: using an Agent orchestration system called Cursor Swarm, they built a database engine from scratch in Rust that is compatible with SQLite semantics and storage format, based entirely on the 835-page official SQLite documentation.

After the news broke, the community discussion quickly split into two camps. Quite a few people believed that AI had successfully rewritten SQLite and was ready to replace databases in production at any time. This interpretation missed the focal point of the experiment. The SQLite experiment was not demonstrating production-ready software, but rather a controlled engineering response by the team to the pain points exposed in the previous round of Agent Swarm.

In the earlier browser experiment, Cursor had deployed several hundred Agents running in parallel for a week, attempting to build a web browser engine from scratch, ultimately generating over a million lines of Rust code. In the Harness Engineering Survey at the time, we documented the contradiction exposed by that experiment: lines of code and commit counts were treated as proof of Agent productivity, yet the system did not converge into usable software. In this blog post, Cursor proactively characterized the browser project as “completing a proof of concept but still far from polished software.” Simply pouring compute resources into inflating code volume, without effective behavioral verification and quality constraints, makes it very difficult to turn massive amounts of code into a mature product.

Therefore, in the new July 2026 experiment, the Cursor team chose to return to the same task where the old Swarm had once struggled: rewriting a Rust implementation based on the SQLite specification. They placed the old Swarm and the new Harness under identical tasks, the same models, and the same time budget for a controlled comparison. The team gave the Agents the 835-page SQLite official documentation as input, while withholding the SQLite C source code, the original test suite, the compiled SQLite binary, and internet access. The measurement criteria had also changed: the team used the blind test suite sqllogictest, which contains millions of SQL queries with known correct answers, in place of the previous metrics of lines of code or commit counts.

This controlled comparison produced a clear gap. The new Harness running Grok 4.5 achieved an 80% pass rate on sqllogictest within 4 hours; by contrast, the old Swarm was forcibly halted before the 2-hour mark due to out-of-control code conflicts and interface drift. Cursor reported that, with the support of the new Harness, all new configurations ultimately reached a 100% pass rate on sqllogictest.

Why did rewriting such a low-level, complex system as SQLite not only fail to paralyze the new Harness, but instead reveal more fundamental patterns about Agent orchestration and Harness Engineering than the earlier browser project?

Why SQLite Is Hard, and Why It Makes a Uniquely Good Test

To write an SQLite, one must clear many hard barriers at the low-level implementation layer. SQLite is far from a simple SQL interface wrapper; it is a complete embedded relational database. A developer needs to build from scratch a handwritten lexical and syntax parser, query binding and optimizer, a pull-architecture operator tree executor, system catalogs, B-Tree indexes, a data page manager, rollback journal and WAL codec, and the on-disk SQLite format 3 file format. These subsystems are interwoven, requiring the system to maintain strict consistency in SQL semantics, transactional ACID properties, implicit data type conversions, and disk persistence formats.

Yet, precisely this kind of low-level system with extremely high implementation difficulty exhibits three rare advantageous properties when used as a test for Agent Evaluation:

  1. Complete and stable specification: The 835-page official documentation defines a complete and deterministic target behavior, completely eliminating interference from ambiguous requirements or dynamic goal drift.
  2. High-density deterministic feedback: Using Rust as the implementation language, the strong type system, ownership checking, and the Cargo toolchain provide high-density compile-time feedback — every modification immediately receives a clear error or pass signal from the compiler.
  3. Blind and objective row-result judging: The SQL language inherently comes with automatable “row-result correctness” verification. Through the unseen sqllogictest, an external evaluation system can perform row-by-row validation of the final SQL query results without relying on Agent self-assessment.

The following diagram illustrates the orchestration and evaluation mechanism established by Cursor Swarm for the SQLite documentation:

Cursor Swarm assigns the SQLite documentation to planning and execution roles, with an independent SQL test suite checking behavioral results; test scores do not equal production maturity

It must be made clear that Cursor’s report of all configurations ultimately reaching 100% on sqllogictest only means the system performed completely on this specific test suite for SQL query row-result correctness. Test suite scores do not equal production-level maturity, because the test suite does not cover C API exports, OS-level file locks, complex concurrency, or crash-recovery stress.

Since SQLite provides a testing ground with a deterministic specification and dense feedback, what happens to the system’s principal contradictions when Agent scale expands to hundreds or thousands of concurrent units, and why would the three scaling axes of Harness Engineering all become harder simultaneously in a Swarm?

The Three Scaling Axes of Harness Engineering All Become Harder Together in a Swarm

In A Unified Framework for Three Scaling Dimensions, we established the three scaling axes of Harness Engineering:

For a single Agent, or for the small number of Sub-agents invoked by tools like Codex and Claude Code in routine development, the bottleneck mainly lies in single-threaded time-series and context-window constraints. However, when the Agent scale expands to dozens or even hundreds of concurrently running units, the core engineering contradiction shifts.

In multi-Agent parallel scenarios, simply adding more Agents does not equate to advancing engineering progress. Without controlling coordination overhead, a large-scale Swarm will degrade simultaneously across all three dimensions. Multiple Workers coding in parallel without a unified design baseline will define mutually conflicting interface formats and type declarations, causing the system to rapidly lose control over time; with dozens or hundreds of Agents submitting changes simultaneously, code merge conflicts will grow explosively — in the old Swarm’s browser experiment, accumulated merge conflicts exceeded 70,000, with vast amounts of compute and time wasted on resolving code conflicts; and if the output of every Worker requires Code Review by a human developer, human attention bandwidth is instantly saturated, and the scalability of human–machine interaction also collapses completely.

As we emphasized in the Evaluation-First article, the object of evaluation is never an isolated large language model itself, but the integrated system composed of the model and the Harness. In a Swarm scenario, the actual task difficulty is the product of “implementation difficulty” and “coordination difficulty.”

Faced with the enormous coordination cost of interface collisions, code conflicts, and merge paralysis during multi-Agent parallelism, Cursor’s new Harness had to produce concrete control measures to get these three scaling axes back in order.

How Cursor Fits the Three Scaling Axes into a Single Harness

Cursor did not summarize the experiment as an abstract call to “everyone should use Swarm.” Instead, it fused spatial, temporal, human–machine interaction, and model economics into a tightly integrated engineering Harness mechanism:

At the mechanism level, Swarm is a distributed coordination control plane composed of multiple Agents; there is no need to label it with magical model branding. Only when a shared control plane is essential for resolving massive conflicts and division of labor does an ordinary Sub-agent setup need to be upgraded to a Swarm.

For this control plane to operate efficiently, the prerequisite is that the task has a deterministic specification, dense mechanistic feedback, and automatable verification rules. Once removed from this prerequisite, what appears to be a powerful Harness will face a completely different engineering reality.

This Is a Flex, Not the Daily Routine of Most Product Teams

Although Cursor’s SQLite experiment achieved breakthroughs in Harness Engineering, we must objectively assess its engineering boundaries: it is an engineering demonstration showcasing the upper limits of capability under ideal conditions, and cannot be directly applied as a universal solution for the day-to-day engineering of most product teams.

Why is it not the daily routine of product teams? Because real-world product development is fundamentally different from rewriting SQLite:

If a large-scale Swarm is forcibly introduced in the early stages of a product where requirements are still unclear and constraints not yet solidified, the Swarm’s powerful code generation throughput will only amplify incorrect intent with extreme efficiency and at massive scale, producing vast amounts of unmaintainable code.

This is corroborated in the public code repository cursor/minisqlite released by Cursor. Reviewing the repository reveals:

The following diagram clearly delineates the multi-dimensional engineering boundaries from SQL row correctness to a production-grade database:

From SQL row-result correctness to a production-ready SQLite replacement, one must separately inspect interface compatibility, cross-process concurrency, performance, and long-term maintenance

Ultimately, we can derive a clear selection rule for engineering teams: