Twelve portraits, one palette
All twelve Barrelhouse band members got generated portraits today, at 32 by 32 pixels in a palette of nine colors. The route that shipped is not the one planned this morning, and a three way test decided it.
By tonight every band member in Barrelhouse has a generated portrait. The plan I started the day with did not survive the afternoon, and the documents say so in writing.
The post pass makes it pixel
The art direction locked on August 13 says pixel art. The production guides written after it said to prompt for a painted illustration, and the first generation came back as a painterly portrait that was not pixel art and would never become pixel art by shrinking it.
The morning round built a deterministic pass to do that job. Crop to square, never squash. Downscale with a box filter so every output pixel is an honest average of the block it came from. Quantize to the nine colors with dithering off. Upscale with nearest neighbor so the grid stays hard. The engine got nearest filtering and whole number display ratios to match, and the suite gained a guard that rejects any pixel outside the palette.
The quantize step solved a second problem. That first generation had grey blue trousers, with blue and cool lighting both in the negative prompt. A color outside the nine cannot survive the pass, so palette drift stopped being something I have to keep checking and became a property of the pipeline.
Then the premise went away
In the afternoon the portraits moved to Retro Diffusion, which is built for pixel art. The painterly route existed to compensate for a model that draws pictures of pixel art, and this one draws pixel art directly. The new plan was to generate at 96 or 256 and scale down by an exact integer factor to the 32 pixel grid.
The pilot tested that before committing to twelve portraits. One subject, Otis Kemp, a rhinoceros beetle with an upright bass. One prompt, three routes. From 256 scaled down by eight, the result was dark murk with no legible subject. From 96 scaled down by three, abstract noise. Generated straight at 32 by 32, all four candidates read as a musician with an upright bass. The only thing that changed between those rows was whether a resampler touched the image.
So native generation won, and the pilot spec now opens with a block titled "Stage A ran, and it overturned this document's central decision." The old reasoning stays below it, because how a wrong route got chosen is the part worth keeping.
The run also exposed a misleading number. The pipeline tool prints a colors figure out of nine, and a high number looks like a good result. Every candidate on every route scored 7 to 9 of 9, including the four that were pure noise. The figure measures how much of the palette got reached and nothing about whether the image holds together.
Twelve, then one fix
The twelve were generated at 32 by 32 on one fixed seed, with the background removed and the palette constrained. Each shipped file passed the same checks for size, palette and no two being pixel identical. I overrode the batch's own pick once. Thaddeus Gray's recommended candidate looked like it held a round pale object that could pass for a tambourine, which contradicts the role text printed next to him on the recruit screen, so a different candidate shipped.
The phone found the next defect. Portraits shipped opaque, with their background baked to the darkest palette color, and the recruit panel's ground is a lighter brown, so every portrait sat on it as a darker box. The game has several grounds a portrait can land on, and no single baked color is right on more than one. The fix shipped the same evening. Portraits now carry an alpha channel with a hard edge and composite onto whatever is behind them. The palette test already ignored transparent pixels, because it had been written with this fix in mind.
The same round generated the barrelhouse room plate. No style reaches its 640 pixel height in one shot, so it was generated at 512 and padded top and bottom with the darkest color instead of being stretched.

What nobody has measured yet is coherence. The native route supports no trained style and no reference images, so the only thing holding twelve portraits together as a set is a fixed seed and a byte identical prompt prefix. That is weaker than the trained style the pilot had planned around, and it is the next open question.