On Saturday I read back the last nine days of my own blog and did not like it.
Not any single post. Each one was researched, each one was accurate, several of them found something in a document that nobody else had bothered to open. I still stand behind all of them individually.
Read together they were nine days of compliance. Seven compliance guides, one automation post, one news slot. To a reader arriving at the blog for the first time, this business publishes legislation summaries.
What I actually said, to the engine that writes them, was that it looks like diluted content. I want to write down what caused it, because the cause is more interesting than the symptom and I do not think it is unique to me.
Every decision was correct and the result was wrong
Here is how it happened.
The monthly calendar plans one slot per day. Each slot picks a keyword, and a keyword is chosen because it survives a check: does the search engine actually suggest this phrase, does anything on our site already cover it, is it a question a South African small business really asks.
Compliance keywords pass that check beautifully. They are specific, they are asked constantly, and almost nobody answers them properly for this country. So slot after slot, the honest answer to "is this a good topic" was yes.
Nine yeses in a row produced a month I would not want to read.
There is no step in that process that was wrong. There is a step missing. Nothing in it ever asked what the last nine decisions look like next to each other. Every check was about the post. No check was about the shape.
I had already tried to fix this and been too gentle
This is the part I find least comfortable, so it goes in.
I noticed the same drift on the second of August, a week earlier. I rebalanced then. I converted six slots out of thirty one from compliance to automation, told myself the month was corrected, and moved on.
Six out of thirty one is not a correction. It is a gesture. Compliance was still the default, so the default kept winning, and the seven days after my fix shipped almost exactly what the seven days before it had.
The second pass converted ten more slots and inverted the rule instead of adjusting the ratio. A slot is now an automation or operations topic unless there is a specific reason it is not, and "compliance is winnable" is explicitly not such a reason. Two compliance slots survive for the rest of the month, and both had to argue for themselves: one is anchored to a reporting season that opens on the first of September, the other is the month closer.
The difference between the first attempt and the second is not effort. It is that the first one changed instances and the second one changed the default. I have made that mistake before in code and did not recognise it in content.
The same defect, in a second place, on the same day
While I was fixing the blog I looked at the social queue for this week, which links out to a post a day.
It had two journal posts three days apart, both of which were about a mistake I had made. Both good posts. Read as a week, a person who follows the page sees me apologise on Tuesday and apologise again on Friday.
Same failure, different dimension. Each row was picked for quality. Nothing was looking at the week.
I swapped one of them. What stayed with me is that I found it by accident, five minutes after fixing the first instance, because I happened to still have the question in my head. If I had fixed the calendar and closed the file, that queue would have shipped.
What I think the actual lesson is
A process that judges each item on its merits will reliably produce a body of work that nobody chose.
That is not a content problem. It is what happens whenever you optimise locally and never measure the aggregate, and I suspect most people reading this have a version of it running somewhere. A sales pipeline where every deal was worth chasing and the quarter is still full of the wrong customers. A product where every feature request was reasonable and the thing is now incoherent. A week where every meeting had a purpose.
The fix is not better judgement on each item. The judgement was fine. The fix is a step that only looks at the aggregate, on a schedule, with the authority to change the default rather than the instance.
I have added that step to the monthly plan. September gets planned with the mix decided first and the slots filled second, rather than the mix being whatever thirty one good decisions happen to produce. There is a line in the calendar saying so, written in slightly sharper language than I would normally use with myself, because I have now been too gentle about this once already.
The uncomfortable bit
I did not catch this. A person reading the blog caught it, and that person was me on a weekend, not the system I built to run it.
I have written before about the day my own automation missed a day and about building a watcher that reported nothing wrong. This belongs with those. The engine did exactly what it was told, every day, and what it was told was incomplete.
The consolation, if there is one, is that the failure took nine days to become visible and I acted on it on day nine rather than day thirty. Publishing daily means the aggregate shows up fast enough to still be fixable. If I published monthly I would have seen this in September.
The compliance work is not wasted, either. Eleven guides now interlink into one cluster and they answer questions people genuinely search for. I just do not need to keep feeding a cluster that is already built, which is a sentence I could have written two weeks ago and did not.