Hero image for The Three-Step Gate Nobody Wants to Build
By Scott Armbruster

The Three-Step Gate Nobody Wants to Build


Everything I do each day is logged — client work, personal projects, business operations, the whole picture. Each morning an automated pipeline reads those session logs and distills them into this post. Nothing here is hypothetical. These are real systems built, real decisions made, real friction encountered by someone who’s been doing this for 23 years. A practitioner log, not a tutorial.

Today’s Highlights

  • Why splitting one task into three separate steps made sixteen properties manageable instead of chaotic
  • Finished a full project from phase one through deployment in a single day, and it wasn’t about speed
  • The quality gate pattern that catches problems before they compound across a portfolio
  • What curating content for sixteen different audiences taught me about context-switching costs
  • A strong opinion about what happens when you skip the audit step

Separate the Thinking from the Doing from the Checking

Sixteen different content properties got new posts today. Each one has its own audience, its own voice, its own category structure. The temptation is to throw a prompt at each one and call it done. That’s how you get content that reads like it came from the same blender regardless of which site it lands on.

Instead, every property runs a three-step pipeline. First, a research phase: read the brand guide, study existing posts, scan what’s trending in the niche, identify gaps. Second, a drafting phase that has all that research as input. Third, an audit phase that checks the output against the site’s own rules. Frontmatter format, category validity, voice consistency, factual claims.

Here’s the opinion I’ve earned after watching this pattern across hundreds of posts: the audit step is where all the value lives, and it’s the step everyone skips. Not because it’s hard to build. Because it feels redundant. You just wrote the thing. Why check it? Because the drift between “what you intended” and “what actually shipped” is invisible until it compounds. One wrong category. One mismatched voice. One broken image reference. Individually, nothing. Across sixteen properties over thirty days, that’s nearly five hundred small errors becoming a systemic quality problem.

The rule I keep coming back to: never let the same context that generates the output also judge the output. Fresh context, fresh eyes, explicit criteria. The audit agent has no memory of the drafting conversation. It reads the finished artifact cold, the way a reader would, and evaluates against written standards. The moment generation and evaluation share the same step, confirmation bias takes over and the system starts approving its own homework.

Velocity Comes from the Spec, Not the Tools

Shipped a complete project today. Not a feature. Not a patch. A full build from foundation through deployment: core execution engine, automation migration, integration layer, monitoring dashboard, content pipeline connector. Everything wired up, everything running, everything visible on a local network.

Before you assume this is a story about AI speed, it isn’t. The reason this was possible in one session is that the specification already existed. Every phase had defined inputs, outputs, and success criteria. “Done” was unambiguous for each step. The AI didn’t make the decisions faster. The decisions were already made. The AI executed them.

After twenty-three years of building things, I’m convinced the actual bottleneck in software delivery has never been typing speed or even thinking speed. It’s decision speed. And most teams don’t have a speed problem. They have a “we haven’t decided yet” problem disguised as a technical one. Write the spec first. Argue about it. Resolve the ambiguity. Then let the tools rip.

What that looked like today: every phase had a one-sentence definition of done. Not “build the dashboard.” “A lightweight web interface on the local network showing service health, function status, and recent execution logs.” The difference between a task and a definition. Without those sentences, I’d still be planning instead of shipping.

Sixteen Audiences, Sixteen Contexts, Zero Blending

Ran content curation across sixteen distinct properties today. Health and fitness. Technology. Personal development. Outdoor recreation. Finance. Philosophy. Travel. Each with its own niche audience, its own brand voice guide, its own relevance filter, producing output tuned to a specific reader.

The failure mode that keeps surprising me isn’t getting the content wrong. It’s context bleed. Insights that matter to one audience leak into another because semantically they overlap. A piece about building better habits is relevant to both a health-focused audience and a philosophy-focused one but for completely different reasons. One cares about the practical strategies. The other cares about the framework underneath.

Context-switching between audiences is genuinely hard, even for AI. Especially for AI. The models don’t naturally maintain audience boundaries unless you force the separation architecturally. Same content, different framing, different selections. That separation has to be structural, not instructional. Telling a system “remember you’re writing for consultants now” is weaker than giving it a completely isolated context where consultant-audience rules are the only rules that exist.

This maps to a broader principle that keeps showing up in my work: isolation beats instruction. When you want consistent behavior across different domains, don’t instruct differently. Give it different environments. Different system contexts. Different evaluation criteria loaded at runtime. Architecture does what prompting promises but rarely delivers.

The question I can’t stop turning over: if the audit step is where quality actually lives, and fresh context is what makes audits honest, then at some point the cost of maintaining quality scales linearly with the number of properties. Every new site needs its own research step, its own draft step, its own audit step. Three separate contexts per property per day. The math works now at sixteen. Does it work at thirty? At fifty? I keep expecting to find the ceiling, and I keep not finding it, and that uncertainty is more unsettling than hitting a wall would be.