October 21, 2026·5 min read

A measurement killed my own rule

I wrote a style rule telling my posts to stop saying my, and the impression data showed the rule was making my writing worse.

By Andrew Pyle

Twenty drafts obeyed my style rule perfectly, which is how I found out the rule was wrong.

01Twelve clean posts

My check passed every post and they still read wrong

In September I had twelve LinkedIn posts scheduled, and every one of them passed the check I had written to keep them from sounding self-centered. That check looked for posts that opened with I. None did. The twelve averaged 2.9 first-person words each, which is low. They still read as if they were mostly about me.

The I had moved. It had left the opening line and settled into the closing line, in sentences like "I wanted the whole answer." It also turned up as a possessive: six of the twelve posts mentioned "my command center." The opener check could see neither one.

This was an old complaint. In early September I had told my drafting tools there were too many I statements. That guidance lived only in conversation, so nothing held it in place, and the queue drifted back.

02A rule against my

So I wrote the complaint down as code

On September 18 I turned the complaint into a stricter gate for my own brand. I kept it behavioral on purpose, with no cap on how often I could appear, so that a confession or an origin story could keep the first person it had earned. It added two checks. One banned a first-person closing line. The other banned what I called the possessive stack tour: "my command center," "my pipeline," "my agents."

I ran it against the live queue before trusting it, and it flagged 10 of 42 queued personal posts. On paper, that was a gate doing its job.

I should have read the failure message more slowly. When a draft tripped the possessive rule, the gate told the drafter this:

possessive stack tour (strict voice): '<phrase>' - drop the 'my', the system is the subject

The drafter was a model, and models follow instructions well. My linter blocked one shape and, in the same sentence, prescribed another.

The preference behind it stayed in force. On October 4 I said again that there were too many I statements, and that I was not sure why it kept happening. I was still treating the symptom as drift.

03Twenty flat posts

The queue did exactly what I asked

The queue for October 12 through 31 held 20 posts, and I rejected all of it. The drafts read as bland third-person reports about the system. One began, "One central setting now decides which model each kind of task uses. It went live this weekend." Another began, "Three weeks ago the command center started deploying itself." Both sentences were accurate and informative, and neither had a person in it.

That batch arrived eight days after I had restated the rule, and the drafts were following it faithfully.

So I went and looked at what people had actually read. I pulled impressions from LinkedIn for 15 published posts on October 12. The posts that opened on a person, a moment, or real stakes pulled 221 to 530 impressions. The posts that opened on something abstract, or with the system as the subject, pulled 73 to 87. The weakest post in the first group still had more than twice the reach of the strongest in the second. The comment I left in the code puts the gap at three to five times.

04Inverting the gate

The gate now asks for what it used to remove

The same day, I removed the possessive rule and added three checks in its place, all strict and all LinkedIn only.

What now fails

A post of three or more sentences with no first-person word fails. So does a first sentence that starts with "the," "this," or "our" followed by command center, system, platform, pipeline, or a few similar nouns. So does a post whose last line ends in a question mark.

I kept the matching narrow on purpose. A capital I is matched exactly, so a stray lowercase i never counts as a person, while me, my, we, and our match in any case. The opener check strips emoji and leading quotes before it looks, so a decorated opener cannot slip past. And a system-subject sentence only fails at the start. "The command center now deploys only green builds." passes as a later sentence after "A deploy went out broken on a Friday. I fixed it by hand."

IMPERSONAL_MIN_SENTENCES = 3

# first-person I, matched case-sensitively
\b(?:I|I'm|I've|I'll|I'd)\b

What the tests now expect

The two rejected captions became test fixtures that must fail. A new test asserts that owning the work passes: "98% of my AI agents' compute went to one model. Nobody picked it." The old rule would have blocked "my AI agents." The new one asks for that kind of sentence.

The closing-question rule reversed an older belief of mine too. My earlier tests treated a genuine question as the intended close, and "Where does your spend data live relative to your revenue data?" was a passing ending. That example now reads "Spend data that lives apart from revenue data answers half a question." I kept the exemptions narrow. One-liners on X may stay impersonal and may still end on a question. Posts under three sentences are exempt. Looser brands keep their closing question.

The change was open for about six minutes before I merged it. The social publishing tests passed, all 425. I did not rerun the queue audit afterward, and I knew some scheduled captions would now fail it, which was intended because they were being rewritten. One thing I left unresolved: the older note telling my tools to keep I low was still on file when I merged a gate that requires it. Two rules I wrote now disagree, and only one of them has a measurement behind it.

Have something you need built or fixed?

I build production Django / Next.js platforms and human-supervised AI-agent systems. Solo, senior, and fast. Tell me what you are building.

Start a project