· 6 min read · 2:38 video

Built with AI, proven by evidence

Every SpatiumDDI build is installed from its ISO, walked four ways and broken on purpose before a person signs it off. A visual tour of ddi-pg, our proving ground, and why software written mostly with AI needs one.

Read the transcript

0:00 · Built with AI. SpatiumDDI is built with AI. Eighty-eight percent of its commits are co-written with Claude.

0:09 · Who checks the AI?. That raises a fair question. If AI writes the code, who checks the AI?

0:15 · One rule. So we built a proving ground, with one rule. The AI proposes. Evidence decides. People approve.

0:23 · Every night. Every night, the lab takes the day's code, and about ten minutes later, there's an installable image.

0:30 · Installed like yours. It installs that image on a fresh machine, exactly the way you would. The install is the first test.

0:37 · Real traffic. Then real clients go to work: real DHCP, real DNS queries, the API and the web console, with up to four thousand simulated devices.

0:48 · Four walks. Every build is walked four ways: installed fresh or upgraded, on a single node or a three-node cluster.

0:56 · Broken on purpose. Then we break it on purpose. We take the leader offline. We disconnect a member. We replace a failed node, and roll an upgrade through the running cluster.

1:06 · Ninety-nine percent. Through every drill, a watcher keeps asking for an address. The survivors have to answer ninety-nine percent of the time.

1:14 · One colour. Each build earns one colour, set by what failed, not how much. A correctness failure is never excused, and a gauge nobody read can never show green.

1:25 · It heals itself. The harness heals itself. A test that drifted is fixed before a machine is used. A broken step recovers on its own. But it can never heal a verdict.

1:37 · From red to fixed. When a check goes red, an AI analyst reproduces it, writes the fix, and proves it on a fresh build. The lab never merges its own fix.

1:47 · AI checks AI. And AI checks AI. One agent answers a question about the code. Another checks that answer against the source, before anyone acts on it.

1:57 · Around the clock. Seven desks run all of this around the clock, nights and weekends included, and they pace themselves as they go.

2:05 · One console. Everything lands on one console: every check, on every build, and a person's review before any result is published.

2:13 · Since July. Since July, the lab has walked more than fourteen hundred builds, and pushed ninety-three million requests through them.

2:21 · What comes next. AI makes code cheap. Evidence is what's scarce now. We think every flagship product will need a proving ground like this.

2:30 · Proven by evidence. SpatiumDDI. Built with AI. Proven by evidence.

Of the 2,043 commits on SpatiumDDI’s main branch by 8 November, 1,805 (about 88 percent) carry a Claude co-author line. That raises a fair question for anyone thinking about running their network on it: who checks the AI?

Our answer is ddi-pg, the DDI proving ground: a lab where no verdict on SpatiumDDI ever rests on an AI being right. It installs every build on real virtual hardware, pushes real traffic through it, breaks it on purpose, and turns the result into one colour a person signs off.

1,044checks, each with a tier and a line of source
4walks of every nightly build, in parallel
~10 minfrom a commit to an installable image
7desks: AI sessions on a weekly schedule

One rule

The AI proposes, evidence decides, people approve. Every part of the lab is built around that line.

The AI proposes

  1. AIWrite the checkdrafted as plain, readable code

Evidence decides

  1. codeProve the checkit must fail on the bug and match the source
  2. the productRun the productreal DHCP, DNS, API calls and failover
  3. codeGrade the buildtiers and pins, applied by rule

People approve

  1. peopleSign offa person reviews; the maintainers merge
The AI writes checks and fixes. Whether they hold is decided by the product’s real behaviour, by rules written as code, and by people.

Measured, not judged

Every check is plain code watching the product: real leases, real DNS answers, API responses, failover times. No model decides a pass.

The tests are tested

Tests are read against the product’s source before each walk, and a check written for a bug must fail on the buggy build first.

No soft passes

No agent may weaken an assertion. Correctness failures are never excused.

AI checks AI, measurably

A separate checker verifies every AI answer about the code. Unchecked, about half were wrong where it mattered.

People hold the keys

The lab never merges its own fixes, and a build’s colour is published only after a person reviews it.

Everything on record

Every check has a name, a tier and a source line. Every excused failure has a reason, an upstream issue and an expiry.

Installed the way you would

Every build starts from its own installer image, on a machine that has never seen SpatiumDDI before. If it doesn’t install cleanly, nothing else matters.

  1. Buildthe day’s code becomes an installable image in about ten minutes
  2. A fresh riga new virtual machine that is itself a hypervisor
  3. Installfrom the image, unattended, as you would: the first test
  4. Lived inabout 150 objects seeded, so tests meet a configured product
  5. Real clientsDHCP clients behind a relay, DNS queries, the API, the console, 600 to 4,000 simulated devices

Walked four ways

Customers install fresh or upgrade, on one node or three. So every nightly build is walked all four ways, at the same time.

One node · installed fresh

Essentialabout 1 h 10

Install, boot, API, console, protocol, a backup put back, a 600-device burst.

One node · upgraded

Single upgradeabout 2 h

Upgraded from the last release, then the everyday suites. The upgrade itself is a gate.

Three nodes · installed fresh

Fresh clusterabout 2 h 15

A cluster formed from a brand-new image, then the failure drills.

Three nodes · upgraded

The full walk5 to 6 h

Upgraded, rolled back, upgraded again, grown to three nodes, 4,000 devices of load, every drill, a soak.

Every nightly build, walked four ways at once. A red on any walk is a red of the build.

Broken on purpose

The full walk treats the appliance like your production deployment: grown to a three-node cluster, then hurt while it serves.

  1. Kill the leaderA survivor must answer ready and keep serving DHCP.180 s
  2. Cut a member offThe cluster marks it unready, carries on, and takes it back.240 s to rejoin
  3. Replace a dead nodeA fresh node installs and takes over its roles.40 min, install included
  4. Restart the database operatorIts restart must not set off a storm that breaks serving.120 s
  5. Reboot the Redis masterBefore failover kicks in; it must end with exactly one master.one master
  6. Break a joinThe product must retry it, or accept a replacement.its own retry
  7. Roll an upgrade throughNode by node, with the product’s own Rolling Upgrade, while serving.never down a minute
Through every drill a watcher makes one real DHCP exchange per tick. The surviving nodes must answer at least 99 percent.

One colour per build

Hundreds of results aren’t a decision. Each check has a tier, and the worst tier that failed sets the build’s colour.

1,044 checks, by what their failure means
TierWhat it coversChecksIf it fails
Tier 0DHCP, DNS and IPAM correctness68Red. Never excused.
Tier 1State and recovery: upgrades, restores, failover191Red, unless pinned to a named upstream bug.
Tier 2Interfaces: the API, the console, integrations746Yellow: a bug with a ticket, never blocking.
HarnessThe lab itself39Caps the build at yellow.
A build’s colour comes from which tier failed, not how many checks did. Green and yellow ship; red doesn’t. “We didn’t look” never reads as “it was fine”.

A harness that heals itself, never its verdicts

A lab that runs every night breaks in ways that have nothing to do with the product. The harness repairs those on its own, and it can propose fixes to the product, but it heals in one direction only.

What the harness repairs on its own

  • A test that driftedfixed as a test bug before a single machine runs
  • A timer that fires lateeach step wakes the next instead
  • A rig that’s lostevery verdict is written before its machine is torn down
  • A dead package mirrora fallback, in place the same morning
  • The AI service downthe walks queue anyway and are triaged later

What it can never repair: a verdict

  • No agent may weaken an assertion.
  • A correctness failure is never excused.
  • A pin names an upstream bug and expires with its fix.
  • A gauge nobody read caps the build at yellow.

When a check goes red because the product has a defect, the red turns into a fix:

  1. A check goes redon the wall
  2. Triagedrifted test, product defect, harness, or won’t reproduce
  3. Reproducelive, on a rig of its own
  4. Fixone campaign per root cause
  5. Provea fresh build, with every fix still waiting
  6. Pull requestto the product, for the maintainers
One AI analyst per root cause, each on its own machine. The lab never merges its own fix: the maintainers do, and the pin on the failure expires the first night the fix is walked.

AI checks AI

If the AI is the weak link, one AI checking another proves nothing on its own. So the work is split into roles, and no role grades its own work.

Manager

Runs the day: gates the build, leases machines, triages.

Analyst

One per root cause. Owns the verdict, the fix and the ship call.

Driver

Runs rigs, waits, fetches logs. Never judges.

Reader

Answers one question about the code, citing the lines.

Checker

Re-reads every answer against the source before anyone uses it.

  1. Atlaswhere is it? A map of each commit, built with no AI.
  2. Readerhow does it work? One question, the lines cited.
  3. Checkeris that right? Verified against the source.
  4. Keptper commit, so a run never asks twice.
No role grades its own work. A code question is answered once, checked, and kept.

Seven desks, around the clock

Nobody has to start the lab. Its desks run on a weekly schedule, nights and weekends included.

Seven desks, each a headless Claude Code session following one written playbook
DeskWhenWhat it does
The nightlyevery night, 9 p.m.Walks the day’s build four ways, triages every red, fixes or pins it.
PR reviewon requestWalks a change the maintainer asks about, case by case.
PR gateweekdays, three timesA quiet walk of each new change; speaks only about a confirmed regression.
Issue queueevery dayWorks the highest-priority bugs: reproduce, fix, prove, propose.
Explorationevery dayUses the web console like a person; files what it finds, never fixes.
Scale labweekendsA seven-node cluster across three machines.
Release soakevery releaseDays of steady traffic on the newest release.
They share one AI allowance and pace themselves: as it runs low, only the core desks start; lower still, sessions park and resume after the reset.

The numbers

1,424builds walked
542,000check results recorded
617,000real DHCP handshakes
1.17MDNS queries
93.5Mrequests under load
1,404failover drills
539upgrades applied
13 daysthe longest soak
From the lab’s first walk on 9 July to 8 November 2026, from its Console.

Since August, 85 upgrade bugs have been filed against SpatiumDDI; the lab found 55 of them, and the typical one was closed two days after it was filed. In the week of 2 November, 215 bugs were filed, and all 26 serious ones were closed that same week.

What it can’t prove

Anything no check covers. We keep a written list of the parts of the lab that exist but aren’t switched on yet, and we audit our own blind spots: the latest audit found we walk the path forward every night and the path back less often, so rollback drills are the next lane we’re adding.

Why every flagship product will need one

AI is making code cheap. That’s the reason two people could build SpatiumDDI at all. But when code is cheap, evidence becomes the scarce thing, and the question to ask a vendor shifts from “how many people work on this?” to “show me how you know it works.” We think every flagship product built with AI will need a proving ground like this one: independent of the code it tests, measured rather than judged, running all the time, with people holding the keys.

← All articles