T27.AI

Blog

Rebuild only what changed: t27 reuses a spec's verdict until something it depends on moves

2026-10-11 · 4 min read

[software verdicts only; 570 of 1811 specs still need their own fixes] t27c now keeps a seal next to each verified spec and reuses its verdict while the spec, its imports, its generated code, its test tools and its configuration are unchanged. On master t27c frontier reuses 1241 of 1811 specs, up from 2 on 9 October; an audit reruns one reused spec in 16 per round, and four rounds found no disagreement.

Title card, no illustration yet, for: Rebuild only what changed: t27 reuses a spec's verdict until something it depends on moves
View the title card at full size
#t27#Verification#Build

t27 has about 1800 specs, and checking one means compiling it and running its tests. Most of them do not change between two commits, yet every check used to start from zero. Since 9 October, t27c keeps a seal next to each verified spec and reuses the verdict when nothing it depends on has changed. On master it now reuses 1241 of 1811 specs; two days ago it reused 2.

What a seal records

A verdict is a fact about a spec, the specs it imports, the code t27c generated for it, the tools that ran the tests, and the configuration. A v2 seal records each of these, and t27c frontier walks the import graph and answers, for every spec, REUSE or the first part that differs. The toolchain is judged by output, not by version: if a compiler change leaves a spec's generated code byte-identical, its verdict stands.

Specs reused without running again06001200180029 Oct4249 Oct 20:1811159 Oct 21:4211639 Oct 23:00114410 Oct 12:05117310 Oct 12:30119710 Oct 15:50124110 Oct 17:20others edited 86 specs
Specs whose verdict t27c frontier reuses on master, measured at each step of the loop (ledger t27#8314). The dip at 12:05 on 10 October is other work: 86 specs were edited without being sealed again. Times are UTC.

What moved the number

StepReusedPR
Seal v2 and t27c frontier2 of 1712t27#8110
The two hub specs every other spec imports (types, constants)424 of 1743t27#8177, t27#8209
A re-mint of every spec whose tests pass1115 of 1751t27#8372
frontier reads use a::b::Item and module-less specs correctly1151t27#8385
t27c frontier --reseal: the re-mint as one command1173t27#8392, t27#8554
Specs that passed and had simply never been sealed1241 of 1811t27#8700

Six fixes to how t27 is translated to Zig (t27#8415, t27#8418, t27#8566, t27#8617, t27#8636, t27#8667) each moved 2 to 9 specs past one compile error. Each one was measured over every .t27 in the repository, and each re-sealed the specs it moved in the same pull request. #8667 alone changed the generated code of 173 specs; the 74 of them that already passed were tested before and after, with identical results.

What keeps a reused verdict honest

On the board

The same idea runs on silicon. An agent next to each board (t27#8155) replaces driving a board over the network: die C, run over USB/IP for R3-3, took about 2.5 hours, and the first agent run, on die A, took 42 seconds. A cached bitstream (t27#8296) takes a repeat build from 39 seconds to 4 or 5, with every tenth hit rebuilt and compared byte for byte. The board still runs every time; only the build is reused.

What this does not show

A reused verdict is only as good as what its seal records: an input it does not name, or a test that passes by luck, would be missed, which is why the audit keeps rerunning a sample. 570 of 1811 specs are still not reused, and most of them need their own fixes, not more tooling. Twice in this work a pull request merged with a check red that it had caused itself (t27#8415, t27#8667); both were repaired by follow-ups (t27#8418, t27#8672).

What this does not settle

Receipts

Work with me

Want this kind of check on your own design?

I audit RTL and build independent, bit-exact models, then take the result through synthesis and, when useful, onto an Artix-7 board. The first conformance module is free.