In July we audited 177 posts the engine had generated for 10 real businesses. The copy was specific, the photos were real, the judge was passing them. And the feed still looked templated, because it was: every single static post lived in one of two structures, a full-bleed photo or a poster card, and the text sat in the same corner on all of them. One hundred percent, two shapes, one anchor.
Nobody chose that. It is what happens when layout is an afterthought of rendering instead of a decision of its own. The words had a whole pipeline deciding them; the composition had a default.
Making layout a dealt decision
The fix was to give composition the same treatment as copy: a small vocabulary of named structures and a dealer that picks one per post. There are five layout archetypes. photo-full puts the photograph everywhere and anchors text in its quiet zone. split-block gives the photo and a brand color field one clean seam. inset-card holds the photo small and precious on a field. text-panel attaches a dedicated solid text zone to the image. poster-grid is all type: kicker, hero line, baseline.

The deal is deterministic. It hashes the brand and the post, so the same post re-renders identically forever, and the next post refuses to repeat the previous shape. No template picker, no roulette, no drift between what the editor shows and what publishes.
Type is a voice, not a font default
Layout variety with one typeface still reads as a template, so type got the same structure. Six typography voices, from a gritty condensed poster face to a high-contrast editorial serif, each with rhythm expressions so consecutive posts share a voice without sharing a look. Brands that carry real fonts in their kit keep them; the voices dress everyone else, fitted to the brand's mood. Two businesses in the same town stop wearing the same face.
"layoutSpec": {
"archetype": "split-block",
"frame": { "kind": "split", "axis": "y", "ratio": 0.55 },
"anchor": "center-start",
"lead": "image"
}Every deal is recorded in the post's spec, which means it is replayable, revisable, and gradeable. That last part matters most.
The judge grades the deal
Design quality has its own ladder in our judge: TEMPLATE, COMPETENT, STRONG, GREAT. Before this system, statics were stuck in the bottom two tiers no matter how good the words got, and the audit said why: composition was the binding constraint. Each archetype now carries its own grading notes, so the judge evaluates a split-block as a split-block instead of holding every post to one imagined ideal.
Variety is not randomness. It is a small vocabulary, dealt deterministically, and graded per shape.
Carousels got the same discipline one level up: the dealer picks one frame family for a whole deck and lets each slide's role carry the variation, because per-slide randomness reads as a tell. The layout wave shipped days ago and the production soak is running now; we would rather report the tier movement when we have it than promise it here.