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

Curious how this is built? Look under the desk.

pocket terminal · ~/desk

A small terminal for this site. It prints only what is on the site; type help for commands.

The prompt needs JavaScript. Every destination is also in the navigation above.

ls work

7 products · * featured

Your turn: try open skillcheck, coffee, or help.

Loading terminal commands…

Type a command and press Enter. Try help, ls, open followed by a project name, why followed by a project name, inspect, trail, cat about, notes, contact, resume, coffee, whoami, or clear. Tab completes; the up and down arrows recall earlier commands. Escape closes the terminal.