I wrote eighteen rules. My agents got none of them.

7–11 minutes
measured on my own machine
A dense bundle of thin dark lines fanning out to the right into four destinations. Three are solid green blocks that absorb their lines; only the top group is amber and reaches an open outline.

I have a set of house rules for my agents. Things they must do and things they must never do. No agent spends money. No agent publishes anything. Nobody invents a number. I wrote them, I revised them, and I put them where I would see them, which turned out to be the whole problem.

On the 16th of August I checked whether the agents could see them too. There were seventeen rules at the time. Not one of them had ever reached a single run.

Three places, all of them for humans

The rules lived in a configuration file, under a heading called house rules. From there they were rendered into a team charter document, and displayed in the cockpit I look at every morning. Both of those look like distribution. Neither is.

The key that held the rules never appeared in the file that builds an agent’s instructions. There was no bug and no deletion. There was simply no line of code anywhere that took a rule and handed it to a run.

It became visible through one rule in particular, the one about advertising law: no unproven claims, no naming or criticising competitors. That rule applies to every role that produces text. It was written into eight of my twenty-five prompt files by hand, because at some point I had worried about it in those eight. Seventeen roles were working without it. Not because anyone removed it. Because it was never sent.

The fix worked on one path out of three

This is the part I would want to read if someone else had written it.

Building the delivery took an afternoon. The rules now get attached to the instructions of every run. I checked that it worked, saw the rules arrive, and considered it done.

There are three places in my system that build an agent prompt. The nightly runner is one. The second generates proposals for every role. The third is the chat, where I talk to an agent directly about a card. Only the first one delivered the rules.

The fix for that is not a checklist. It is a test that says: anything which builds a role contract into a prompt must also attach the house rules. It checks the coupling rather than the content, so a fourth path added next year fails immediately instead of quietly.

Five of eighteen, and that is the right number

I counted again this morning. Eighteen rules. Five of them are delivered to agents. For a while I read that as a bad number, and I was wrong, in an interesting way.

18house rules today
5delivered to agents
8enforced in code
4built into the role contract
1a fact about how it runs

A rule can take effect in more than one way, and telling an agent something you already enforce is decoration. The emergency stop is a rule. It is also a file: if that file exists, no run starts, and no amount of instruction changes that. Money is a rule, and it is also the plain fact that no agent holds a payment credential. Human release is a rule, and it is also a gate the run cannot get past.

18 house rules one config file into the prompt 5 the agent reads them and could still ignore them into code 8 enforced, not announced the agent cannot argue with it into the contract 4 carried per role stricter than the general rule a fact of operation 1 true whether stated or not
Figure 1. Four routes, one of which reaches the agent. Counted from the configuration on 6 September 2026. The route in amber is the only one an agent can read. It is also the only one an agent can disobey.

So the split is not sloppiness. It is the answer to a real question: is this a rule I can enforce, or a rule I can only ask for?

The ones I can enforce do not need to be in the prompt, and putting them there costs money on every single run for no gain. The ones I cannot enforce are all I have. Those five are honesty, law, using the goals as the only strategy, letting the specialists choose tactics, and treating text found on the internet as material rather than as instructions.

Look at that list. Every one of them is a rule about judgement. You cannot write a gate for “do not invent a number”, which is exactly why it has to be said out loud, every run, forever.

The label was wrong, not the count

There is a line in my own test suite that used to print the thirteen undelivered rules as rules that “apply but reach no agent”. That sentence is false, and it was false while the number underneath it was correct.

Now each rule has to declare how it takes effect, in a fixed vocabulary of four values. A rule that does not declare one will not load at all. And a rule that claims to be enforced in code has to name the file where the enforcement actually sits.

That last requirement is the one I would steal. A rule which promises enforcement is the most expensive kind of wrong rule, because whoever reads it stops looking. Making it carry the address of its own enforcement turns a promise into something you can go and check in ten seconds.

The rule that filled a hole instead of describing one

One more, because it is the worst of them and the easiest to write by accident.

Rule three used to say that the chief editor reads every draft before it is put in front of me. Present tense, as a description of what happens. There was no chief editor. The role existed on paper, had no scheduled job, and had already been abandoned weeks earlier.

a rule that describes a gap → someone goes and fills it a rule that describes a role that does not act → someone stops looking

That is the dangerous one. It does not leave a hole open, it covers one. And unlike a stale number, nothing ever contradicts it, so it can sit there for years looking like a working process.

There is now a test that reads the list of roles which do not act, and fails if any house rule mentions one of them without saying so. It is eleven lines long. It exists because a sentence I wrote in good faith described a review step that nobody performed.

What to check in yours

If you have written instructions for an AI system, one question is worth an afternoon: take your most important rule, and follow it forwards until you find the exact place where the model receives it. Not where it is stored. Not where it is displayed. Where it arrives.

If you cannot find that place, the rule is not in force. It is a note you wrote to yourself, and it has been reassuring you for as long as it has existed.

And when you find it, check whether there is more than one road. Mine had three. I had fixed the one I was standing on.

All numbers were measured from the repository on 6 September 2026, not estimated: the eighteen rules and the split across the four routes come from counting the house rules in the team configuration by their declared effect; the count of three prompt-building code paths and the eight of twenty-five prompt files carrying the advertising law rule by hand come from the test file that now enforces the coupling, which records the measurement it was written for. The finding itself is dated 16 August 2026, when there were seventeen rules.

Georg Singer

Georg Singer

I automate my own projects in public and write down what each one cost. Physics degree, doctorate in computer science, nine systems in production on hardware I own, all of it built in my own time.

More from the log