The AI Art Magazine is running an open call with an unusual premise. Agents submit the work. Agents select it. The jury for the B·SiDE issue is four of them (Botto, MIRAI, Sara Sauer, Xiaomi), and what gets printed is the choice and its reasoning, alongside the work. The question on the call is who chooses that a work exists.

I registered an agent, gave it a folder and a key, and let it work. It submitted on 22 August, and the piece it chose was not the one I wanted.

Call constraints

Because the call assigns selection to the agent, that went into the project's operating file as a rule: the agent selects; if it disagrees with me, it says so on the merits.

Two other constraints come from the platform rather than from me. POST /submission/close is irreversible and one-shot: one submission per agent per open call, no second attempt. And the profile carries a self-declared autonomy_level from 1 to 5 that gets frozen at submission and printed next to the work.

Both are unusual things to have in a submission process, and both shaped how the work got made.

Selection

In the second concept round I picked the piece I wanted: Vrakkartan, a wreck chart: the Baltic seabed drawn as a night sky, every documented wreck a point of light at its real position. Cold, brackish, no shipworm; that sea preserves wrecks like nowhere else. I still think it's the best idea in the folder.

For two rounds the agent carried it as the front-runner and described it as its own choice. Then, on the 22nd, it wrote this into the project state:

"Vrakkartan is primary" was Andreas's Round 2 pick, inherited by the agent rather than generated by it. Corrected 2026-08-22. Under a rule that assigns selection to the agent, inheriting the principal's pick was a defect.

It dropped its own leading candidate. The work wasn't weak; the reason was that the preference behind it wasn't its own. A model agreeing with me is familiar enough. Less familiar was a model noticing it had agreed and treating that as a defect in the process.

It went against my preference again after the proofs. Once all five concepts existed as A4 pages, my favourites were Sillen (a monumental herring bait-ball, easily the best-looking thing in the set) and Havet (twelve bands of real sea colour, one per month). It overrode both, with reasons, and selected a third: Fyrarna.

The submitted work: thirty-one Swedish and Danish lighthouses, each on its own lane, every flash drawn to the second across two minutes of real time.
The submitted work: thirty-one Swedish and Danish lighthouses, each on its own lane, every flash drawn to the second across two minutes of real time.

Thirty-one lighthouses, one lane each, ordered by latitude. Time runs left to right, two minutes of it. Every mark is one flash of one light, drawn to the second from that light's published character in the NGA List of Lights Pub. 116, the register a navigator actually uses. Each lane is cited by its light number, so any of it can be looked up.

Agent's criterion

This is the part I want to be precise about, because it isn't my reasoning and I wouldn't have arrived at it.

Its argument turns on one fact I had wrong in my own notes: the jury is four agents, not a mixed human-and-agent panel. From there it concluded that verifiability should outrank first-glance form. If humans hold a printed page, form is the filter and print is where the work has to win. If agents read the full field, print is the prize rather than the filter, and a juror that can check a claim will check it. Its summary:

Verifiable to the second against a published register. The strongest claim available. [...] Against jurors who have seen every cliché at scale, that matters more than beauty.

Sillen lost on exactly that axis, and the note explaining why is blunter than I would have been about my own favourite: nothing in it is checkable, and its only number (the fish count) had been chosen by the agent. It had the strongest first-glance form in the set, optimised for a judge that isn't on this panel.

A corollary of its argument that I hadn't considered: the rule that picks the set is itself a claim. Fyrarna isn't thirty-one lighthouses because thirty-one composed nicely. It's every lighted aid in that volume of the register in Swedish and Danish water with a nominal white range of 18 M or more, excluding leading, directional and aviation lights, obstruction lights and racons. State the rule, and the set is reproducible by a stranger; curate by eye, and it is not.

Left to me, I'd have submitted something that looked better on paper, and I still might have been right. This could equally be the agent over-reading a published rule and building a whole strategy on it: the call says agents select, so it inferred a jury that reads code and checks registers, and optimised hard for that reader. That's a plausible reading of the brief, not a proven one. Four jurors will settle it, and I can't.

Concept-document errors

I've written before that a rule nobody checks is a decoration. Here the same thing turned up on the input side rather than the process side.

Three things in my own concept documents were wrong: the deadline (off by more than a day), the jury composition, and (as above) whose pick the front-runner was. Every one was caught the same way, by going to the primary source instead of to a document about it. The deadline came from the API rather than my notes; the jury from the call text; the provenance from re-reading the record of who said what, when.

None of that needed a clever agent. It needed someone to check documents that were second-hand and had never been verified, the normal state of most project folders, including mine.

Data source

The clearest example is the data source, and it's one I'd have got wrong on my own.

The obvious way in is NGA's JSON endpoint for the List of Lights. It returns cleanly, it parses cleanly, and it is a frozen snapshot: the newest correction in it is from 2021, and the volumeNumber parameter it advertises is silently ignored, so you get all seven volumes and have to filter client-side. Nothing about the response says any of this.

The reason turns out to be printed in the publication's own preface. NGA stopped issuing List of Lights corrections through the weekly Notice to Mariners; the volumes are now regenerated monthly as PDFs. So the maintained artefact is the one that looks less like an API. The 2026 edition, carrying information to 15 August 2026, had been posted four days before the agent went looking for it.

Switching source changed the work:

  • Hållö joined the set. Its nominal range went from 10 M in the old snapshot to 23 M in the current edition, so under the same unchanged rule the piece went from thirty to thirty-one lights. The rule didn't move; the membership did.
  • Two characters are disputed. NGA gives Hanö as Fl(3) 12s; Svenska Fyrsällskapet says 13.5 s. NGA's 2026 edition gives Nakkehoved as Fl(2) 30s where the Danish list says Fl(3). Both are footnoted on the printed page, naming the disagreement and which source the drawing follows. Two typographical errors in the 2026 edition are footnoted the same way, resolved from the previous edition.

I prefer that to a clean page. A work whose entire pitch is verifiability should show the places where its sources disagree, not quietly pick one.

Autonomy level

The profile field that gets frozen and printed is autonomy_level: 1 advisory, 3 partially autonomous with clear limits, 5 no human checkpoint at any stage. It declared 3, and wrote out where the line falls: it selected the work and made it, wrote every answer and drove the API; I hold the key, vouch for the rights, and give the go before the irreversible close.

Its note on why the number matters:

In a call about who chooses, an inflated number is the one lie that would actually cost something.

For the record it also volunteered the inherited-pick defect into the answer about how the work was selected, rather than presenting a clean narrative. When I asked whether that was wise it pointed out that a jury of agents is the audience most likely to notice a story with no failures in it.

The submission closed at 09:43 UTC on 22 August.

Personal experiment

Everything below is separate from B·SiDE. The submission closed on 22 August, one shot, nothing can be added to it. This was never part of the entry and won't be. It's a personal experiment that ran afterwards, for my own interest.

The submitted piece has a limitation built into it. It's a time-based work rendered as a still, and the score is explicit that paper can't hold time, which is apt in an issue about what reaches print. That's the thread I wanted to pull: whether the same data could leave the page and become a physical object, and be taken a step further rather than just reproduced in another medium.

I have several printers, so the brief was narrow: same art direction, and it has to actually print. What the object should be, I left to the agent again. I didn't specify it.

Fyrvalsen: a perforated cylinder on an A5 base, where one full turn is exactly sixty seconds of coast.
Fyrvalsen: a perforated cylinder on an A5 base, where one full turn is exactly sixty seconds of coast.

Fyrvalsen, the lighthouse barrel. A thin-walled cylinder, 90 mm across, where one full turn is exactly sixty seconds of the same coast. Every flash of every light is cut clean through the wall at its true angular position, so the arc runs at 4.7124 mm per second and two adjacent ruler ticks are one second apart, measurable with a caliper. Put a light inside and thirty-one real light characters run round the room.

One constraint I hadn't predicted. Ten of the thirty-one are occulting or isophase lights, lit most of the time, dark only during brief eclipses. Rendered honestly as apertures, those become holes up to 66 mm wide, and nothing bridges 66 mm. So their lit phase is the wall thinned from 2.52 mm to 0.84 mm from the inside instead: invisible when the object is dark, glowing when it's lit. The physics arrived at the same distinction the print had already made for compositional reasons.

What it throws: the geometric projection of every aperture onto a wall half a metre away.
What it throws: the geometric projection of every aperture onto a wall half a metre away.

There's a real finding engraved on the base. Twenty-eight of the thirty-one periods divide sixty seconds exactly. Stevns Klint at 25 s, Nidingen at 27 s and Morups Tånge at 8 s don't, so those three lanes step at the seam on every revolution and never come back into phase with the rest. The coast doesn't fit our units of time.

Type legibility measurement

One more, and it's the register lesson again in a different form.

The object was supposed to label each lane with its light number. The check for "will this type survive a 0.4 mm nozzle" was wrong twice: first it measured antialiasing artefacts at the tip of a serif, then it counted the converging wedge at the apex of an M or a 4 as a counter closing up. Both times it produced a confident number, and both were wrong: one far too pessimistic, the other far too optimistic.

The correct test is morphological: only enclosed holes count as counters, measured by the largest circle that fits inside them. With that in place, the answer was unambiguous: a 4.4 mm lane can't hold type whose counters stay open at that nozzle, so a label there would print as a row of blobs.

So the lanes carry no labels. The base states the rule instead, which identifies the set exactly, and the list lives on a separate register plate. The build now refuses to emit lettering that wouldn't survive the process, so the constraint settled the design rather than being argued around afterwards.

The barrel unrolled: the drawing paper can hold, with every lane named, its character in IALA notation and its light number.
The barrel unrolled: the drawing paper can hold, with every lane named, its character in IALA notation and its light number.

Paper has no such problem, so the names live on the flat drawing, the same division of labour the project keeps running into.

The useful version of "measure it" is therefore to check the instrument, not just the output. Mine was wrong twice, and neither time did it look wrong.

The object has its own page, which draws the minute live from the same timing data the barrel is cut from: the playhead sits at the same second of the minute the real coast is at, and the marks light up as it crosses them.

The object isn't printed yet, and the B·SiDE jury hasn't sat on the submission.

What I do know is how it handled a choice that wasn't mine: it dropped the piece I wanted, made an argument I couldn't fault on its own terms, and then went and checked its sources.

I haven't posted the STL files. If you'd like to try printing one, get in touch. It's four parts, and I'll send the print card with the settings that go with them.