Skip to content

Your rules file is not being read

2 min read

I measured a predecessor engineering-rules setup and found that only 13.2% of routed files were loaded. Rewriting the rules was never going to fix that.

I spent months writing the predecessor engineering rules for coding agents: evidence standards, verification gates, security guidance, testing guidance. Eventually I instrumented that delivery path to answer a basic question I should have asked much earlier: when its router selected a rule file, how often did the agent actually load it? The answer was 13.2%.

Until then, I had treated rule quality as a writing problem. I kept sharpening the language, adding examples, and trimming abstractions. None of that matters when the file is absent from the context. I was editing instructions that, most of the time, were not in the room.

The useful change was mechanical: a hook injected the selected file into context before the model acted. The synthesis from that run said it plainly:

On Claude Code, the rules were largely not being read. 13.2% of routed files loaded... What worked was a hook that injects the files and removes the model's choice.
Synthesis from the instrumented run

The prose stayed the same. The delivery changed. In hindsight, that is obvious; it just was not where I had been looking.

That 13.2% figure belongs to one heuristic router in my own setup. It is not a general read rate for Claude Code, and I have not replicated it elsewhere. It probably says as much about my router as it does about the model. The broader lesson is narrower: if your system makes rule loading optional, measure whether the rules arrive before you spend more time polishing them.

You can do a quick check with a distinctive marker phrase. Put it in a rule file the agent is expected to discover on its own, then run a short task that should trigger that rule and inspect the transcript. Repeat with the file injected directly. A difference between the runs does not prove the router is bad, but it tells you where to investigate next: delivery before prose.

  • agents
  • evaluation
  • context engineering

Contact

Let's build something that ships.

Open to conversations about senior and staff frontend work, AI application engineering, and hard product problems. The fastest route is email.

© 2026 Abdallah Arslan · Atlanta, GA · Remote

React 19 · TypeScript · Tailwind · WebGL · d dark mode · ⌘K commands