This post was researched, drafted, edited, critiqued, and rewritten by a team of agents. It was not published by one. The gap between those two sentences is the entire reason you can take the rest of this blog seriously.

Here is the honest confession a blog about agentic engineering has to make at some point: most of the words here are assembled by a pipeline. If I am going to claim that bounded agent workflows produce trustworthy work, the least I can do is show you the machinery on the post that makes the claim, including the part where the machinery is not allowed to finish the job.

Once agents can write, publishing looks like one more step

The slide is easy to describe because it is so reasonable at every step. The agents can research a topic. Fine. They can draft from the research. Useful. They can edit, critique from a reader’s view, and rewrite. Genuinely good. And then the cursor is hovering over publish, and publishing is, mechanically, just one more API call. Why stop now?

Because that last step is different in kind, not degree. Drafting a bad paragraph costs nothing; I delete it. Publishing a bad paragraph creates a risk the system cannot own: a leaked detail, an unverified claim, a thing said in public that cannot be unsaid. Every step before publish is reversible. Publish is the one that is not, and I had already learned, the hard way, what happens when you let an agent take the one action you cannot take back.

Preparation is agent work. Publication is a human decision. The whole design is just refusing to blur those two.

I did not want one heroic writer-bot

My first mental model was a single brilliant writing agent: one prompt, one genius, in and out. It failed the way single agents always fail. It blended research, drafting, and judgement into one smooth motion with no seam to inspect, and when something was wrong I could not tell whether the source was bad, the draft overreached, or nobody had checked it from a reader’s side. A single writer agrees with itself by default. There is no one in the room to say no.

So I did the same thing I had done everywhere else in the factory. I broke the heroic prompt into a small team of bounded roles, each with one job and a defined handoff to the next.

What got weird: the pipeline disagreed with itself, on purpose

The writing happens as a relay, not a solo. Research gathers sources and is forbidden from stating a fact without one. The Writer drafts from that research pack only, and flags gaps rather than inventing around them. The Editor returns a findings list and a verdict, never a silent rewrite. The Reader Panel critiques from the perspective of people who are not me. The Rewriter is the only role allowed to actually change the draft, and it works from the collated findings. Then, last, the Publication Safety role reviews the whole thing for sensitive content, unsupported claims, and attribution.

The useful weirdness is that these roles disagree. The Editor flags what the Writer was pleased with. The Reader Panel asks the question the Writer assumed away. That friction is impossible inside one agent and routine across six, and it is most of where the quality comes from. The handoffs are the product.

What worked: the most important role is forbidden from shipping

The Publication Safety role is the one I care about most, and its defining feature is a refusal. It can review, it can prepare, and it can return a verdict of blocked, which is final until a human resolves it. What it cannot do is publish. That action is human-gated by design, written into the factory’s rules, not left to the agent’s discretion.

This is the part people skip, because a role defined by what it will not do feels like a weakness. It is the opposite. The publication gate is what lets the other five roles run fast and free. They can be bold, because none of them is one mistake away from a public mistake. The brake is what makes the speed safe.

There is a second, quieter decision underneath all of this. I built a reusable factory, not a single blog. The writing pipeline, the roles, the gate: none of it is specific to this site. It is series-agnostic infrastructure, and this blog is simply its first consumer. A one-off blog would have been faster to stand up and worth nothing the second time. A factory is slower once and free forever after, which is the only trade in this whole project I would make again without thinking.

The reusable part: separate preparing from publishing

If you take one thing from this, separate the two acts. Let your agents prepare content all the way to the edge: research, draft, review, rewrite, safety-check, as far as you can take it. Then put a hard human gate on the publish step itself, and give one role the explicit power to say blocked and mean it.

And build the pipeline as a factory, not a feature. Bounded roles with defined handoffs are reusable across every kind of content you will ever produce. One heroic prompt is reusable across exactly none.

The gate held: a human decided to publish this, after the agents did everything except that. The credibility of an agentic blog cannot come from claiming the agents are flawless. It comes from showing exactly where they are required to stop, and then stopping there.

Coming Soon

Several Gremlins Wrote This Post

This post named the six writing roles. The next one opens the pipeline up and follows a single draft through every handoff, from research pack to safety verdict. Coming in Season 1.