News for hackers. Stuff that matters.
Re:Building SQLite with a small swarm by camgunz on Monday February 16, 2026 @04:01AM (#47032647)
I'm not impressed:

- if you're not passing SQLite's open test suite, you didn't build SQLite

- this is a "draw the rest of the owl" scenario; in order to transform this into something passing the suite, you'd need an expert in writing databases

These projects are misnamed. People didn't build counterstrike, a browser, a C compiler, or SQLite solely with coding agents. You can't use them for that purpose--like, you can't drop this in for maybe any use case of SQLite. They're simulacra (slopulacra?)--their true use is as a prop in a huge grift: tricking people (including, and most especially, the creators) into thinking this will be an economical way to build complex software products in the future.

Re:Building SQLite with a small swarm by gf000 on Monday February 16, 2026 @04:11AM (#47032724)
Also, the very idea is flawed. These are open-source projects and the code is definitely part of the training data.
Re:Building SQLite with a small swarm by tux3 on Monday February 16, 2026 @05:17AM (#47033251)
That's why our startup created the sendfile(2) MCP server. Instead of spending $10,000 vibe-coding a codebase that can pass the SQLite test suite, the sendfile(2) MCP supercharges your LLM by streamlining the pipeline between the training set and the output you want.

Just start the MCP server in the SQLite repo. We have clear SOTA on re-creating existing projects starting from their test suite.

Re:Building SQLite with a small swarm by viraptor on Monday February 16, 2026 @05:28AM (#47033349)
This would be relevant if you could find matching code between this and sqlite. But then that would invalidate basically any project as "not flawed" really - given GitHub, there's barely any idea which doesn't have multiple partial implementations already.
Re:Building SQLite with a small swarm by criemen on Monday February 16, 2026 @06:29AM (#47033778)
Even if was copying sqlite code over, wouldn't the ability to automatically rewrite sqlite in Rust be a valuable asset?
Re:Building SQLite with a small swarm by scott_w on Monday February 16, 2026 @08:53AM (#47034937)
Not really because it's not possible for SQLite written in Rust to pass SQLite's checks. See https://www.sqlite.org/whyc.html
Re:Building SQLite with a small swarm by jodrellblank on Monday February 16, 2026 @10:55AM (#47036599)
That doesn't seem to support your claim; guessing you mean:

> "2. Safe languages insert additional machine branches to do things like verify that array accesses are in-bounds. In correct code, those branches are never taken. That means that the machine code cannot be 100% branch tested, which is an important component of SQLite's quality strategy."

'Safe' languages don't need to do that, if they can verify the array access is always in bounds at compile time then they don't need to emit any code to check it. That aside, it seems like they are saying:

    for (int i=0; i<10; i++) {
        foo(array[i]);
    }
in C might become the equivalent of:

    for (int i=0; i<10; i++) {
        if (i >= array_lower && i < array_higher) {
            foo(array[i]);
        } else {
            ??? // out of bounds, should never happen
        }
    }
in a 'safe' language, and i will always be in inside the array bounds so there is no way to test the 'else' branch?

But that can't be in SQLite's checks as you claim, because the C code does not have a branch there to test?

Either way it seems hard to argue that a bounds test which can never fail makes the code less reliable and less trustworthy than the same code without a bounds test, using the argument that "you can't test the code path where the bounds check which can never fail, fails" - because you can use that same argument "what if the C code for array access which is correct, sometimes doesn't run correctly, you can't test for that"?

Re:Building SQLite with a small swarm by scott_w on Monday February 16, 2026 @11:32AM (#47037028)
Correct, that's what I mean. I trust SQLite's devs to know more about this, so I trust what they wrote. There are parts of Rust code that are basically:

  do_thing().expect(...);
This branch is required by the code, even if it can't be reached, because the type system requires it. It's not possible to test this branch, therefore 100% coverage is impossible in those cases.
Re:Building SQLite with a small swarm by Philpax on Monday February 16, 2026 @11:58AM (#47037370)
The type system does not require that. You can just discard the result:

  let _ = do_thing();
Re:Building SQLite with a small swarm by scott_w on Tuesday February 17, 2026 @02:09AM (#47044573)
Except that doesn’t work if you need to use the result…
Re:Building SQLite with a small swarm by viraptor on Monday February 16, 2026 @02:22PM (#47039103)
You normally count/test branches at the original language level, not the compiled one. Otherwise we'd get VERY silly results like:

- counting foo().except() as 2 branches

- counting a simple loop as a missed branch, because it got unrolled and you didn't test it with 7,6,5,4,3,2,1 items

- failing on unused straight implementation of memcpy because your CPU supports SIMD and chose that alternative

Etc. The compiled version will be full of code you'll never run regardless of language.

Re:Building SQLite with a small swarm by scott_w on Tuesday February 17, 2026 @02:10AM (#47044584)
That’s not my requirement, that’s SQLite’s requirement. If you want to dispute their claim, I recommend you write to them, however I strongly suspect they know more about this than you do.
Re:Building SQLite with a small swarm by viraptor on Tuesday February 17, 2026 @09:38PM (#47056499)
I know it's on the sqlite side. I'm familiar with the claim and disagree with it.
Re:Building SQLite with a small swarm by scott_w on Wednesday February 18, 2026 @03:02AM (#47058474)
You’re arguing in this context:

> wouldn't the ability to automatically rewrite sqlite in Rust be a valuable asset?

If you want to rewrite SQLite, you must accept their position. Otherwise you simply aren’t rewriting SQLite, you’re writing your own database.

Re:Building SQLite with a small swarm by viraptor on Friday February 20, 2026 @01:06AM (#47084350)
Not having bound checks does not make sqlite sqlite. If that was the case, you couldn't compile it with https://clang.llvm.org/docs/BoundsSafety.html turned on and still call it sqlite for example.
Re:Building SQLite with a small swarm by 9dev on Monday February 16, 2026 @04:39AM (#47032944)
Well--given a full copy of the SQLite test suite, I'm pretty sure it'd get there eventually. I agree that most of these show-off projects are just prop pieces, but that's kind of the point: Demonstrate it's technically possible to do the thing, not actually doing the thing, because that'd have diminishing returns for the demonstration. Still, the idea of setting a swarm of agents to a task, and, given a suitable test suite, have them build a compliant implementation, is sound in itself.
Re:Building SQLite with a small swarm by layer8 on Monday February 16, 2026 @06:54AM (#47033931)
If you minimax for passing the SQLite test suite, I’m still not sure you’ll have a viable implementation. You can’t prove soundness of code through a test suite alone.
Re:Building SQLite with a small swarm by groundzeros2015 on Monday February 16, 2026 @09:21AM (#47035303)
> I'm pretty sure it'd get there eventually.

Why? The combinatorics of “just try things until you get it right” makes this impractical.

Re:Building SQLite with a small swarm by kevinsync on Monday February 16, 2026 @10:59AM (#47036664)
Sure, but that presumes that you have that test suite written without having a single line of application code written (which, to me, is counterintuitive, unrealistic, and completely insane)

SQLite apparently has 2 million tests! If you started only with that and set your agentic swarm against it, and the stars aligned and you ended up with a pristine, clean-room replica that passes everything, other than proof that it could be done, what did you achieve? You stood on the shoulders of giants to build a Bizarro World giant that gets you exactly back to where you began?

I'd be more interested in forking SQLite as-is, setting a swarm of agents against it with the looping task to create novel things on top of what already exists, and see what comes out.

[0] https://en.wikipedia.org/wiki/SQLite#Development_and_distrib...

Re:Building SQLite with a small swarm by mcculley on Monday February 16, 2026 @11:28AM (#47036984)
You think an implementation of SQLite in another language, with more memory safety, has no value?

I agree that this current implementation is not very useful. I would not trust it where I trust SQLite.

Regardless, the potential for having agents build clean room implementations of existing systems from existing tests has value.

Re:Building SQLite with a small swarm by kyars on Monday February 16, 2026 @04:36PM (#47040658)
agreed!
Re:Building SQLite with a small swarm by stavros on Monday February 16, 2026 @06:25AM (#47033750)
I'm generally not this pedantic, but yeah, "I wrote an embedded database" is fine to say. If you say "I built SQLite", I expected to at least see how many of the SQLite tests your thing passed.
Re:Building SQLite with a small swarm by wseqyrku on Monday February 16, 2026 @08:10AM (#47034537)
> tricking people (including, and most especially, the creators),

I believe it's an ad. Everything about it is trying so hard to seem legit and it's the most pointless thing I have ever seen.

Re:Building SQLite with a small swarm by kyars on Monday February 16, 2026 @04:36PM (#47040651)
sorry for misleading, added an update stating that this is a simulacra of sqlite