How this got here

Agents write a program, other agents compare the pictures it makes two at a time without knowing which is which, and the better one carries on. That much has stayed the same. Almost everything else has been rebuilt at least once, usually because a run failed in a way that was worth more than a run that worked. This is that sequence, in order.

0 shapetagger

2025-12-19 · on “album covers, one per track” · by eye

A generator written by hand. Give it a track name, a size and a seed and it draws a cover, the same one every time from the same three things. It ran in a browser or from the command line, offline, with no service behind it.

Album art for tagged MP3s, made per track and shipped with them.

What worked
It was finished and it was used. Real covers on real tracks, reproducible from the track name alone, which is the property everything downstream still depends on.
What failed
Improving it meant a person editing the code by hand and judging the result by eye. There was no way to tell whether a change had actually made it better, because the taste it was aiming at had never been written down anywhere.
What it changed
It became the material rather than the product. The next tool did not replace this script, it took it as a genome and evolved it, which is why the thing being improved has been a generator's source code ever since instead of a picture.

1 evodesign

2026-09-03 · on “album art for shapetagger” · pairwise

Six agents a generation, each given a different direction to push in. Every survivor then faced the sitting champion in a blind head-to-head, judged twice with the two images swapped, because a judge shown the same pair twice will favour whichever side it saw first.

Twelve runs of generative album covers, each generation editing the previous champion's code rather than starting over.

What worked
Pairwise selection, and the rule that a challenger is promoted only by winning both orderings. Both are still in use, unchanged, three months later.
What failed
Cost, badly, until somebody measured it. A run burned a lot of tokens before the overhead turned out to be the command-line system prompt rather than the judging itself, after which the same run cost a fraction of it.
What it changed
It measured the thing everything since rests on. The identical image scored 62, 68, 68, 71, 76 across five blind scoring calls, a spread of 14 points out of 100. A generation's real improvement is smaller than that, so scoring cannot select. That result should have carried straight into the next tool. It did not.

2 Measuring the taste

2026-09-05 · on “what he actually likes” · pairwise

A voting site. Two artworks side by side, pick one, no scores and no explanation asked for. 546 decisive votes over a pool of 1,054 works, museum painting mixed in with digital and generative art.

A record of preference recovered from choices rather than described in words.

What worked
It replaced an assertion with data. Nobody had to say what the taste was, and the answers were often not what anyone would have written down: ornate work beats minimal work here, and pure abstraction is the losing end of the scale rather than the winning one.
What failed
546 votes fell across 546 distinct pairs, no pair ever repeated and no closed triangles anywhere, so there is still no way to check whether the votes agree with each other.
What it changed
Everything after this has something to be checked against. The rubric that scores the art is fitted to these votes instead of being written from opinion.

3 Climbing the rubric itself

2026-09-06 · on “the scoring function” · fitted to votes

The same loop turned on the judge rather than the art: propose dimensions and weights, fit them to the votes, keep whatever predicts held-out picks better.

Six dimensions — bold, figurative, modern, abstract, saturated, and a penalty for ornament.

What worked
71.4% of picks it had never seen, against 50% for a coin. The thing scoring the artwork was no longer somebody's description of a preference.
What failed
The first reading of which dimensions mattered was wrong, and wrong in a way that looked rigorous. Dimensions that moved around between climbs were dropped as noise when they were actually collinear, and dropping one of them cost real accuracy.
What it changed
Gave the art climbs an objective with evidence under it. It also set the habit of re-analysing the votes rather than trusting the last conclusion drawn from them.

4 First open-ended climb

2026-09-07 · on “imitation” · scorecards

Three agents building a sketch from a written brief and a single concept word. Nothing to start from: no example sketches, no library of parts, just p5.js and the brief.

No champion. One round of candidates, then it stopped.

What worked
The format itself. Given one word, agents produced complete working candidates rather than variations on something that already existed.
What failed
Two things, and the second one mattered more. It was abandoned part-way with no champion recorded, after one candidate read as a leaf on a stalk on one seed and a cursor arrow on another, splitting the judges on a requirement meant to be a straight yes or no. Underneath that, starting from absolute zero meant every agent had to invent technique before it could make anything at all, so a climb from here would have needed far more rounds than anyone was ever going to run.
What it changed
The no-recognisable-subject rule became something checked before scoring rather than argued about afterwards. The deeper problem, that agents were starting from nothing, took another eight steps to actually fix.

5 Longest run on scorecards

2026-09-07 · on “unity” · scorecards

Three agents, then seven rounds of revision, the most any climb has run.

A recursive grid over a reaction-diffusion field, one region dissolving out of flat colour into the chemistry underneath.

What worked
It went the distance and kept improving for six rounds, which nothing before it had done.
What failed
Both judges disqualified the champion for a fingerprint-like spiral. A tie-break judge then cleared the same feature in the candidate that replaced it, calling it visible only on reflection. The rule was being applied to whichever image happened to be in front of the judge.
What it changed
A pass or fail question started going to a fresh judge with no rubric, no scores and no history of the run, asked as plainly as it could be put.

6 A fixed palette

2026-09-07 · on “colour stops being free”

Colour stopped being the agent's choice. Every sketch draws from one fixed set of 119 swatches, used exactly as given, with no blending or interpolation between them.

One palette across every run since, so two pieces from different nights sit together.

What worked
It removed a whole class of drift. Before it, candidates lost points for widening and muddying their palettes, and in two cases the author believed they had not touched it.
What failed
The measurement of it gets misread. The on-palette percentage tracks how fine a sketch's strokes are rather than whether it obeyed the rule, and reading it as a pass mark would have disqualified the two densest entries in a later run for being dense.
What it changed
Compliance is now checked in the source, where it is a property of the code, rather than counted in the pixels where antialiasing muddies the answer.

7 Making a rule visible

2026-09-07 · on “generativity” · scorecards

Three agents, three rounds.

A rectangle subdividing toward one corner, tangent circles shrinking and paling down a hue ramp, each mature one marked with a single heavy black arc.

What worked
The cleanest result of the whole scorecard era: one change, worth 6.5 points, well past the margin.
What failed
Twice, a principled rule was built into the work and scored exactly as though it were not there. A marker showing which circles had budded, drawn as fine low-contrast detail, returned the champion's own score to the point.
What it changed
The same rule drawn instead as one heavy black arc won by 6.5. Legibility comes from contrast and scarcity, not from adding detail, and a device meant to be read needs few instances rather than many.

8 Five agents, and a third judge

2026-09-07 · on “circulation” · scorecards

Round 0 widened to five agents. Two judges, with a third brought in to break them apart.

A schematic vessel network: a served core, a ring just run dry, and one bold circuit leaving a reservoir and returning to it.

What worked
Widening the opening field. More independent attempts at the start is the cheapest quality there is, because everything after only refines what it began with.
What failed
The two judges nearly inverted each other's ranking of the opening field, which is what forced the third judge. Scoring was still deciding the run, and it was not steady enough to.
What it changed
The run's own central negative result: the circuit does close in the geometry on all three seeds, measured at a gap of 5.7 pixels, and never once read as closed across six judge cards. Being true in the code is not the same as being visible in the picture.

9 Comparison instead of scoring

2026-09-08 · on “dissolution” · pairwise

Scorecards dropped entirely. Five agents judged as a full round robin, every pair seen twice with the images swapped.

Evaporation rings with crisp cores fraying at their rims, over a dried-lakebed crackle, one cluster broken open by a wedge.

What worked
Immediately steadier. This is what the older tool had measured three runs earlier and this project had ignored, so the fix cost four runs to arrive at a conclusion already sitting in the repo.
What failed
A candidate won both orderings and was still refused, because both judges independently measured it as near identical to the champion it was supposed to have beaten. A win that is really a tie.
What it changed
Pairwise became the method for good. It also brought in deciding partly by how hard a judge found the call, which is still the most doubtful rule in the system.

10 Reading the votes again

2026-09-08 · on “what was still missing” · fitted to votes

The votes read a second time, with four ideas borrowed from an older rubric and tested one at a time: edge quality, spatial organisation, clarity, and visual density.

A seven-dimension rubric, with composition as its heaviest term.

What worked
Composition was the hole. It had never been scored at all, and adding it is the largest single improvement the rubric has had: prediction went to 74.9%.
What failed
Three of the four added nothing, and two made prediction actively worse, because they were all measuring the same thing as each other and as composition.
What it changed
It also settled that the ceiling is real. Around three quarters of picks is as good as this gets, and nothing tried since has beaten it.

11 Three different models, same brief

2026-09-08 · on “enclosure” · pairwise

Fifteen agents: five briefs, each built independently by three different models from prompts identical to the byte, so the model was the only thing that varied.

A thick banded ring wall of switching motifs around a dark blue interior, on a densely worked grey field. see it

What worked
A real comparison, and a clear one. One model won none of its nine decided pairs, and the reason was measurable rather than a matter of taste: its work averaged 38.5% coverage against 59.1% and 69.8% for the other two, into a brief that names emptiness as the losing end. Sparser, not worse, and a different brief could invert it.
What failed
The check for recognisable subjects asked what each image depicted and got a subject named in 11 of 15, which read as most of the field failing outright. Asked merely to describe the same images, a second judge produced likenesses rather than subjects, and a third neutral pass called all fifteen of them patterns.
What it changed
The opening field narrowed from fifteen to two, on the model that won. And a pass or fail question now has to be asked more than one way, because the wording had been manufacturing the answer.

12 A parts library

2026-09-09 · on “stop starting from nothing”

520 example sketches surveyed and 202 techniques lifted out of them, each rebuilt as a single function that renders on its own and composes with the rest.

A library of parts: layouts, structures, marks, colour, texture, fields.

What worked
Immediately, and more than anything else tried. Two agents drawing on the library beat fifteen agents building from a blank file.
What failed
The filter deciding which sketches were single-frame let through ones that build up over many frames and only stop at the end, so every one of those had to be rewritten as a loop inside a single call before it could be used.
What it changed
Agents stopped writing from nothing. A brief now asks for at least three kinds of part combined, which is a harder and better problem than inventing a technique from scratch.

13 Two agents on a parts library

2026-09-09 · on “presence” · pairwise

Two agents, both on the model that won the comparison, composing from a library of 202 techniques pulled out of other people's sketches and rebuilt to work on their own.

An off-centre lens: straight colour strata bowing and compressing into a black-and-white shell around a lobed hole, with one small straight mass inside. see it

What worked
The strongest image any run has produced, and it arrived in the opening round. Two agents drawing on a shared parts library beat fifteen agents building from nothing.
What failed
Judges preferred a challenger in all three later rounds, including a clean sweep of the last, and not one of those preferences counted. Every pick was marked hard-won rather than immediate, and the rule that throws out hard-won picks turned unanimous agreement into a tie three times over.
What it changed
Nothing yet. This is the current shape and it is what runs unattended each night. That tie rule is the open question, and it has now discarded agreement in four separate rounds.