Automated · Formally-Verified · Sovereign

An automated software factory.

We produce formally-verified SPARK-Ada code from prose specifications and legacy Fortran sources — the same verification regime used to certify aircraft flight-control software. Currently the only language our factory produces; we're finding out how large we can go.

69,775 lines of legacy scientific Fortran — seismic hazard, molecular dynamics, numerical linear algebra, wind-turbine control, ESA mission software — modernised into 23,236 lines of SPARK-Ada (spec + body), of which 95.7% of 19,960 proof obligations have been mechanically discharged by gnatprove + CVC5/Alt-Ergo — the same SPARK toolchain used to certify aircraft flight-control and rail-signalling software. Since 12 May 2026 — equivalent to roughly 76 person-years of conventional Ada/SPARK commissioning. US Federal seismic-hazard infrastructure, US academic numerical linear algebra, UK national-lab molecular dynamics, Danish wind-turbine control, European Space Agency mission software. See the portfolio →

Available as a drop-in capability for organisations needing formally-verified SPARK-Ada output — autonomous-vehicle stacks (ASIL-D), avionics (DO-178C), defence (Def Stan 00-055), industrial automation (IEC 61508), regulated public-sector. Deployable inside customer secure perimeters; per-chapter engagement, no per-user or per-subscription fees.

For government departments

Liberty decisions, calculation engines, eligibility rules — provably correct

Software running in regulated and high-stakes government contexts should be provably correct. The factory produces it that way — to the same formal-verification regime used to certify aircraft flight-control and rail-signalling software.

Cybersecurity
Memory-safe by construction

SPARK-Ada eliminates whole classes of vulnerability at compile time — buffer overflows, integer overflows, use-after-free, race conditions. Aligns with NCSC's memory-safe-language guidance and offers a sovereign rapid-replacement path when legacy software is compromised.

Sovereignty
UK hardware, UK control

Runs on UK infrastructure. Sensitive data stays inside your network. No US-cloud dependency. The verification and admission-gate layer is open source by design, so no single supplier — including us — can lock you in.

Cost
Priced per chapter, no lock-in

Factory engagements are priced per package or per project, not per user or per subscription. Outputs are released to the engaging party under a permissive licence appropriate to the source — Apache 2.0 for clean-room work, or the upstream licence for modernisations. No vendor fees on delivered code.

Boundary: What we deliver is the formally-verified substrate. Certification to DO-178C, Def Stan 00-055, IEC 61508, or equivalent regimes remains a customer-side procurement step. We provide a head-start on the substrate at a fraction of conventional cost.

The collection

Every item the factory has shipped, one square at a time

Each square below is an independent factory output. Four open into live worked-example calculators you can click through (marked live demo). The rest are Fortran modernisations and prose-spec builds — click any one to find its row in the portfolio production ledger with line counts, package counts, and verdicts.

Live demo · Liberty
Release-date calculator
prison-service rules
Live demo · Liberty
Home Detention Curfew
statutory criteria
Live demo · Liberty
Parole eligibility
determinate · extended · life
Live demo · Benefits
State Pension eligibility
qualifying-year rules
USGS · Fortran
hazSUBX
3,698 LoC · 11 pkgs
USGS · Fortran
hazpoint
224 LoC · 1 pkg
USGS · Fortran
gutenberg
75 LoC · 1 pkg
LAPACK · Fortran
DGESVD
3,552 LoC · 4 pkgs
DTU · Fortran
BasicDTUController
~1,000 LoC · 5 pkgs
DL_POLY · STFC
vv_rotation2
5,924 LoC · 4 pkgs
DL_POLY · STFC
lf_rotation1
5,315 LoC · 1 pkg
DL_POLY · STFC
lf_rotation2
5,007 LoC · 6 pkgs
DL_POLY · STFC
vv_rotation1
4,701 LoC · 3 pkgs
DL_POLY · STFC
forces
3,309 LoC · 5 pkgs
DL_POLY · STFC
vv_motion
3,030 LoC · 4 pkgs
DL_POLY · STFC
lf_motion
2,994 LoC · 4 pkgs
DL_POLY · STFC
hyper_dynamics
2,821 LoC · 8 pkgs
DL_POLY · STFC
pmf
1,924 LoC · 4 pkgs
DL_POLY · STFC
metal
1,672 LoC · 7 pkgs
DL_POLY · STFC
dihedral
1,134 LoC · 4 pkgs
DL_POLY · STFC
shake
157 LoC · 3 pkgs
DL_POLY · STFC
metafreeze
3,539 LoC · 7 pkgs
DL_POLY · STFC
nlist_builders
2,294 LoC · 6 pkgs
DL_POLY · STFC
ewald
1,997 LoC · 6 pkgs
DL_POLY · STFC
ensemble_tools
1,934 LoC · 8 pkgs
DL_POLY · STFC
coulomb
1,542 LoC · 4 pkgs
DL_POLY · STFC
pimd
1,532 LoC · 6 pkgs
DL_POLY · STFC
property
1,398 LoC · 6 pkgs
DL_POLY · STFC
hkewald
1,297 LoC · 5 pkgs
DL_POLY · STFC
angles
752 LoC · 4 pkgs
DL_POLY · STFC
bonds
607 LoC · 4 pkgs
ESA · ESOC Flight Dynamics
OPTGRA
3,760 LoC · 22 pkgs · 37 files
ESA · Planck Collaboration
Planck CAMspec
2,586 LoC · 14 pkgs · 5 files
UK · Prose-spec
Income Tax Stack
13 pkgs
Get in touch

Tell us what you want built.

The factory produces formally-verified SPARK-Ada from prose specifications and legacy Fortran. If you have software that needs modernising, or a regulated-sector deployment that needs SPARK-Ada substrate, email us. Every enquiry is read and answered by a human.

What to include in your email → tony.gair@thedarkfactory.co.uk