Seven files gone, and the rules that survived.
By the end of July this project had 11,100 lines of markdown telling the agents how to work. Every rule I cared about was written down somewhere. They still got broken.
Dark mode only. Three colours. No text under 14 pixels. Each of those was in the file, and each came back after being fixed, more than once. A rule in a long document is not a rule. It is a sentence somebody scrolled past.
So I stopped asking which rules mattered and looked at which ones had actually been broken. That is a different question and it gives a different answer. The ones that failed repeatedly were all mechanical, and mechanical things do not need a document. They need a check that runs whether anyone remembers it or not.
The rest went into two piles: read every session, and read sometimes. Always stays in the main file. Sometimes becomes a skill that loads only when the work matches it. Seven files went entirely, including 1,075 lines labelled memory that nothing had opened in weeks. In one commit, 3,963 lines removed. The state file went from 1,754 lines to 130, the main instruction file from 275 to 170.
Where a rule lives decides how often I pay for it. Anything in the always-file is loaded at the start of every session, relevant or not. A skill loads only when the work matches. A path rule fires only on the files it names. And a rule a script can check costs nothing at all, because grep does not need a model to run.
The instructions are shorter than they were in June and they get followed more often. That turned out to be one problem, not two.
The short version
- —3,963 lines of instructions deleted in a single commit
- —The state file went from 1,754 lines to 130. The main file from 275 to 170
- —Mechanical rules became a script that runs on every change, not prose
- —Seven files deleted outright, including 1,075 lines nothing had opened in weeks