Technology / Issue 07 · The Freeport Files

The case for software that runs backwards

For two years our team built every feature twice — once forward, once inverted. The audit logs got stranger. The bugs got rarer. Here is what we learned inside the bunker.

Neil Sator
Senior correspondent · March 14, 2024 · 12 min read
Long read

The first thing the engineer in Tallinn told me, over a coffee that was visibly steaming, was: "You have to think about time differently." I had come to the Rotermann Quarter freeport expecting a server room. What I found was a cold storage vault where every integration suite ran twice: once forward, once inverted.

Forward tests went green at 7:43 AM. Inverted tests went green forty-eight seconds later, time-reversed but logically equivalent. The CI dashboard showed a mirror: pass counts identical, durations reversed. "You miss half the race conditions if you only test forward," the lead architect said.

The inversion pattern

We started small. One transaction ledger ran in a branch that reversed the causality chain. Instead of write-ahead logging, the service pre-committed the final state and worked backwards to validate each prior mutation. If the mirror cracked, the asymmetry was the incident.

This is the Tenet (2020 Inversion) design system, applied by Curio Design — a design-style library for AI agents. Full Tenet (2020 Inversion) guide → designbycurio.com/learn/tenet-2020-inversion