Seven Channels, Four Forms: The Layouts We Verify Instead of Choose
Seven channels. Four declared video forms — kinetic, infographic, hero and toon. Multiply those out and you get twenty-eight possible combinations of where a video is going and what shape it needs to be. Before 15 September, every one of those combinations was governed by a judgement someone made once, usually under time pressure, and then nobody revisited unless something visibly broke.
That is a normal way to build a system, and it is also how you end up with a layout decision from eight months ago quietly governing a channel it was never actually checked against. Nobody chose to leave it unexamined. It just never came up again, because the only way it would come up again is if a person happened to look.
Authored, not assumed
What we shipped on 15 September is a declared set of seven (channel, form) layout pairs: a 106-line resolver and seven layout files of roughly two hundred lines each. Seven pairs — not all twenty-eight. Each of those seven has been written down as a specific, checkable layout: where elements sit, what the safe area looks like, what the form factor requires. This is the companion piece to the frame specification file that the renderer and the gate now both read from — that post covers why sharing one source of truth removes a specific argument about correctness; this one is about what happens to the combinations that source of truth doesn’t yet cover.
The answer is: the resolver refuses them. Ask it for a pair that has not been authored and it raises, listing the pairs that do exist. There is no fallback layout, no “close enough” match against a similar channel, no attempt to interpolate between two pairs that are already declared. A combination is either authored or the resolver will not hand back a geometry for it.
One honest caveat, because it changes what this currently buys us: the resolver is written and fails closed, and nothing in the rendering path imports it yet. Today it is a contract that holds wherever it is called, not a guarantee enforced on every render. Wiring it into the renderer is the next step, and until that lands the fail-closed behaviour described here is a property of the module rather than of the pipeline.
We want to be precise about what this trades away, because it is a real cost and not a free win. Twenty-one of the twenty-eight possible combinations have no authored layout. That is not a gap we are hiding — it is the direct, intended consequence of refusing to hand back anything unverified. Before 15 September, those twenty-one combinations would have rendered something, using whatever the code defaulted to, and that output would have looked complete on a dashboard while being unverified against anything. We had layouts for combinations nobody had actually checked, sitting next to layouts that had been carefully authored, with no way to tell which was which from the output alone.
Verified rather than chosen
The distinction we keep coming back to is verified versus chosen. A chosen layout is a decision that felt right to whoever made it, applied going forward until someone notices a problem. A verified layout is a decision that has been written down in a form the gate can check every single render against, indefinitely, without depending on anyone remembering it was ever a decision at all.
This matters more for video than it would for most content, because a bad frame in a still image is obvious the moment someone looks at it. A bad frame in a video render is one frame among hundreds, easy to miss in a spot-check, and by the time it surfaces in the wild — a logo clipped by a platform’s own UI overlay, say — it has often already gone out under a channel’s name. We described a version of this exact failure mode in 135 of 644 items quarantined: the quarantine rate looks bad in isolation and is the entire point, because the alternative is publishing bad output at a rate of zero visible failures and an unknown real one.
The seven pairs we authored are the ones we actually needed for the current channel mix and the video forms currently in active production. That is a deliberately narrow starting set. We are not claiming coverage we don’t have, and the fail-closed behaviour is precisely what stops us from pretending otherwise — the moment a new channel or form combination is needed, the absence of output is the signal that it needs authoring, not a bug report from someone who noticed the render looked off.
What this looks like operationally
In practice this changes the shape of adding a new channel. It used to be: point the existing renderer at the new channel, look at the first few outputs, adjust anything that looks wrong, ship. Now it is: author the (channel, form) pair as a declared layout first, and only then does anything render. The work has moved earlier and become more visible — which is the trade we wanted, because the alternative was the same work happening invisibly, later, usually after a viewer had already seen the result.
This is the same principle we’ve applied at a much larger scale on the ingestion side of the pipeline, where a production run took 1,632 videos across seven countries and treated every stage as something to verify rather than assume worked. The number of items is different by an order of magnitude, but the underlying decision is identical: an unverified combination — of a video and a country, or of a channel and a form — is worth less than zero, because it looks like coverage on a report and isn’t.
The honest accounting
Seven authored pairs out of twenty-eight possible is not a system we’d describe as finished. It’s a system we’d describe as honest about its own boundaries, which is a different and, we think, more useful property. The old approach had implicit coverage of all twenty-eight combinations and verified coverage of none of them. The new approach has verified coverage of seven and explicit, visible non-coverage of the rest. We would rather know exactly where the edges are than have a system that claims to handle everything and has actually checked almost nothing.
We’re continuing to author the remaining pairs as channels and forms come up in active production, rather than trying to pre-author all twenty-eight speculatively — a decision that has its own trade-offs we’re still testing. If you’re wrestling with a similar matrix of variants that nobody has actually verified against each other, reach out and compare notes.
Digital Transformation Roadmap 2026
A 12-month framework for Australian SMBs ready to modernise — phases, tools, and milestones.