A laboratory that searches for architectures, algorithms and mathematical constructions on its own, and keeps every experiment so it can be repeated. Its first result: seven new bounds in Brouwer's table of constant weight codes.
The Pareto front, one candidate at a time
Results
Seven new bounds
On 26 September 2026, iTemple improved seven lower bounds in the table of binary constant weight codes with distance 4 maintained by A. E. Brouwer, the field's reference. The first two had not changed for at least 26 years.
| Bound | Before | Now | Gain | Status |
|---|---|---|---|---|
| A(19,4,5)Published on Zenodo | 692 | 696 | +4 | Published on Zenodo |
| A(16,4,7)Published on Zenodo | 836 | 841 | +5 | Published on Zenodo |
| A(20,4,5)Verified · to be published | 874 | 878 | +4 | Verified · to be published |
| A(21,4,7)Verified · to be published | 6,161 | 6,239 | +78 | Verified · to be published |
| A(21,4,8)Verified · to be published | 10,767 | 10,820 | +53 | Verified · to be published |
| A(22,4,7)Verified · to be published | 8,338 | 8,574 | +236 | Verified · to be published |
| A(28,4,5)Verified · to be published | 3,718 | 3,763 | +45 | Verified · to be published |
“Before” is the bound in Brouwer's table, checked on 8 October 2026.
What is measured
A(n,4,w) is the largest number of binary words of length n, with exactly w ones, that differ pairwise in at least four positions. Improving a lower bound means building a larger code than the best known one and handing it over to be checked.
How they were found
They were found by a heuristic search over orbits of permutation groups, with no language model. Each code is checked in seconds by a verifier independent of the program that found it.
On screen
Real screenshots of the application
What it is
Anyone researching new architectures works with loose scripts, notebooks and result folders nobody can reproduce a month later: seeds get lost, configs change without a trace, and comparing candidates on accuracy, latency, memory and FLOPs at once is manual work. iTemple turns that into a laboratory with lineage: campaign, candidate, run and result chained together, every job isolated in its own subprocess, every action receipted. Four in-house search engines generate the candidates, and each one materialises as runnable PyTorch code, not as a description.
Who it's for
A machine-learning researcher with their own GPU who wants to run searches from the browser without losing the trace of anything.
How it works
Four in-house search engines
Evolutionary NAS over the AMK space of memory kernels, AutoML-Zero-style algorithm discovery in a sandbox with no I/O, symbolic regression by genetic programming, and hyperparameter optimisation with Optuna (TPE, NSGA-II, ASHA).
Queue with an isolated supervisor
The worker leases jobs from Postgres transactionally and runs each in a separate subprocess: a CUDA crash kills the job, not the service. Metrics stream live over Redis and WebSocket.
Pareto, not a single number
Each metric is declared with its direction, weight and constraint. The engine optimises by weighted sum or computes the Pareto front and stores snapshots of it.
A director with a signed journal
A cycle of observe, record, validate, branch and analyse that acts only on signed, approved plans. Every step is written into a journal with verifiable receipts.
A meta-loop over the fitness function
It measures six principles — surprise, coherence, efficiency, robustness and two more — over real results and proposes new versions of the fitness function without overwriting the previous ones.
A records bench that checks itself
The laboratory measures its candidates against the best published bounds, such as Brouwer's table of constant weight codes or the covering-array tables. A record only counts if exact verifiers, independent of the program that found it, confirm it, and each one is handed over with its certificate and a verifier anyone can run.
Scope
What it needs and what it brings:
- It runs on your own infrastructure: Postgres, Redis, a PyTorch worker and a local model server.
- It ships with the classic datasets and benchmarks, plus synthetic tasks.
Frequently asked
Has it discovered anything yet?
Yes. The laboratory came first — governance, fail-closed behaviour, traceability and more than five thousand tests — and on 26 September 2026 the first results arrived: seven lower bounds better than those in Brouwer's table of binary constant weight codes. Two are published on Zenodo with their verifier; the other five are verified and yet to be published. The next test of the thesis of “synthesis, not optimisation” is an architecture-search campaign on GPU. That is what it is built for: telling a promise from a fact.
The full loop works end to end: the first campaign — symbolic regression over eight candidates, on CPU — closed in sixteen seconds. The next step is an architecture-search campaign on GPU.