← All work

Isosceles

Evolutionary search — agents propose, acceptance is mechanical

Last devlog: August 25, 2026

THE METRIC JUDGES THE ARTIFACT · ACCEPTANCE RE-JUDGES FROM NOTHING Candidate generatorcoding agents proposeone variant at a timewith a falsifiable reportprobabilisticFitness evaluatorretired-instruction counton a planted-truth benchvariance zero by constructiondeterministic · hot pathGate batteryexact correctness;guards halt, not discountmemory · time · cachedeterministic · hot pathLineage ledgerevery attempt chain-commitsrejection is a row,never a deletioncorrections travel forwardRedteam filepredicted exploits,written before generation 1frozen · never afterIndependent acceptancea separate desk re-executes the artifact on a seed it has never seen, trusting nothing from the searchruns after the search, never inside itguard thresholdsEVALUATOR, ORACLE, AND BENCHMARK LIVE OUTSIDE ANYTHING A CANDIDATE CAN TOUCH

Key boundary: The evaluator, the oracle, and the benchmark live outside everything a candidate can read or write. The metric judges the artifact; acceptance re-judges it from nothing.

Why it matters: If a candidate can influence its own score, or a search can influence its own acceptance, every number the system produces is a self-report.

Notable decision: Score by retired instructions, not wall time — a score is a fact, not a sample — and publish the counter's blind spot (kernel-side work) in every spec instead of claiming it sees everything. One run's entire exploit history is a candidate moving work across that exact boundary.

Agents propose variants. A deterministic evaluator scores them against planted-truth benchmarks. Gates halt or accept. Every attempt chain-commits to an append-only ledger. The interesting product is whether that loop can be made to trust itself.

Before generation 1 of one run, a do-nothing baseline showed 95.5% of the cost metric was fixed overhead no candidate could shed. The adoption bar required more than 100% of what existed. The run closed on that measurement instead of burning compute to discover it.

What works: scoring by retired-instruction count, variance zero by construction. Run-003 cut a scanner 40.7× across 13 attempts — nine rejected by gates, plateau declared on three consecutive regressions, not declared early. Run-002 failed its own metric: a candidate relocated work the counter could not see and posted a 364.7× "improvement." The run halted. That exploit is the founding entry of the evaluator doctrine, not a footnote.

There is another system on this site published as Isosceles: a Discord collaborator. Same name, different machine, earlier work, original URL kept.

Devlog posts about Isosceles

The measurement that ended the run

Before generating a single candidate, we ran a do-nothing comparator through the benchmark: it scored 95.5% of the incumbent's cost, which made the adoption bar mathematically unreachable. The run closed on the measurement — and the batch shape that amortized the overhead reopened it, bar cleared by 37%.