---
title: "The Art of Not Listening to the AI's Opinions #8: The Art of Not Tidying Rules"
author: garplab
publisher: TypingTube
license: CC BY 4.0
license_url: https://creativecommons.org/licenses/by/4.0/
license_scope: 「CC BY 4.0」の印から始まる節（仕組み・検証手順・コード）。印の無い本文は著作権を留保
canonical: https://typing-tube.net/articles/en/kikanai-08-no-inventory
series: "AIの意見を聞かない技術"
language: en
---


> This is article 8 in the series "The Art of Not Listening to the AI's Opinions." It lays out symptoms that go wrong and their remedies, one at a time. Each article is finished once you put down a single file or script. Why that mechanism is needed becomes clear when you read the explanation afterward. The whole picture and the list of articles are in the [introduction](https://typing-tube.net/articles/en/kikanai-intro).

This time it is the list of rejections itself, the one I have been building up so far. It is the list where the proposals I turned down were written up as prohibitions, the rules about what I will not allow while developing. If I keep adding to it every time I turn something down, will this too become a document nobody reads one day? That is a fair worry. The [introduction](https://typing-tube.net/articles/en/34b02627c718fa) to the previous series, "The Art of Not Reading," started from "a rule gets diluted the more you add." There is no convenient story in which a list of prohibitions alone is the exception. Count them, though, and the upper tiers do not grow: what had grown was the lower tier alone.

In [article 7](https://typing-tube.net/articles/en/83c46d1e6b2591) of the previous series I wrote that I do not tidy the memory that sessions running in parallel share. The same thing happens with the list of rejections.

What lets me get away without tidying, though, turned out to be a different reason from the one over there.

Start by counting just one thing.

The number of prohibitions and policies you hold, and what that number was 3 months ago. Has it grown?

## I counted, and only one side had grown

The production project on my own machine ([typingtube](https://typingtube.net), a web service for practicing typing along with music videos on YouTube) has 3 tiers.

The notes of insights the AI builds up, the official prohibitions promoted out of them, and the share that has moved onto automated tests. Counted, they came out like this.

- Notes of insights all told: 89 → 91 (up since I wrote [article 2](https://typing-tube.net/articles/en/384477896fec22) of the previous series)
- Classified as behavior rules: still 43
- Official prohibitions: stopped at 17

To be honest, when I started writing this article I thought that none of them had grown. I counted, the lower tier had grown, and the claim I was about to make was the thing that was wrong.

But it is true that the higher you go, the more it has stopped. And when I lined the behavior rules up by when each was last updated, the reason for the stopping showed. 10 in March, 25 in May, and 8 in August, the most recent month.

And all 8 of those, bar 1, were about mechanisms. "I put an automated test like this in place." "This hook took effect in this way." New insights were not piling up: what had been left on the page was insights partway through their move toward mechanisms.

What I understood fits in one sentence.

> **The higher the tier, the less it grows. So the only tier that needs tidying is the lower one, and the upper tiers can be left alone.**

Why it works out that way is simple. What comes into the lower tier is events, and events happen without end. What comes into the upper tiers is judgments, and the kinds of judgment are finite. An AI that sees the same gap makes the same proposal (as the [introduction](https://typing-tube.net/articles/en/kikanai-intro) said), so the proposals arrive without end while their kinds converge.

In my case, that came to 17.

## The mechanism: keep a list of what you did not put down

What you put down to keep the list from growing is a list of what you did not put down. At the end of the correspondence table for the prohibitions, you make 1 section like this.

```markdown
## Effective, but not in the list because nothing is breaking it yet

- Hard-coding index names
- noindex on pagination
- Wording we decided not to use creeping in
- Use of particular class names

Once the 8 already moved onto automated tests have been in service for a while, look at whether these are needed.
```

That is all. It has two effects.

One, a prohibition you have just thought of has somewhere to go. With nowhere to go, what you think of gets added to the main list. With this section there, you can store "looks like it would work, but nothing has broken it yet."

Two, the fact that nothing has broken it gets recorded. Look at this list half a year later, and if nothing has broken it by then, that is the evidence that it was something you did not need to write.

The criterion is the same as in [article 5](https://typing-tube.net/articles/en/kikanai-05-machine-check): whether that failure still reproduces today. The failure on the other side can be put into words too. Turn a single stumble into a permanent rule, and the next session walks around a gap that is not there.

This is the same thing the [introduction](https://typing-tube.net/articles/en/34b02627c718fa) to the previous series said: putting a mechanism in place ahead of the failure it prevents tends not to work out. I wrote that on instinct alone in the previous series, and the 4 lines above are the record of that instinct carried out 4 times over.

## One correction to what I wrote in the previous series

In [article 7](https://typing-tube.net/articles/en/83c46d1e6b2591) of the previous series I wrote "merge notes on the same subject into one," and that went too far. Put correctly, it is this. A duplicate that is working is not something to remove. The only time it is fine to merge is when the duplicated passages actually contradict each other.

That is how my own environment stands. There are entries whose content sits in both the list of prohibitions and the notes of insights. They have different jobs: the notes carry the individual insight, the list carries the official axis of judgment. As long as the correspondence table ties them together, they do not contradict each other. Had I merged them, what would have gone is the history behind them.

## What I stopped tidying

The list of prohibitions itself. There is no rota of re-reading the whole of it at regular intervals, hunting out what has gone stale and merging the duplicates. It does not grow, so that work never arises. What I do instead of re-reading is count, and nothing else: I look at the counts for the 3 tiers and confirm that the upper tiers have stopped.

## Caveat: what looks stopped may just be nothing coming up

This is the most dangerous spot in this article. Not growing does not necessarily mean healthy.

If the route for promotion is broken, the numbers look stopped in exactly the same way. Me being convinced that nothing had grown, when in fact the lower tier alone had grown, was precisely that state.

Do not count the upper tier alone. Always line up all 3.

If the lower grows while the upper has stopped, that is healthy; if lower and upper have both stopped, then probably nobody is writing anything.

One more thing. What you have written stops matching reality even when it is not growing.

In the measurement in [article 1](https://typing-tube.net/articles/en/kikanai-01-no-review), a subagent told me something I had not asked about. The list writes the cost as though it were a fixed value, it said, but the actual formula gives a range depending on the conditions, and the number written down is only one point in that range. The number on the list was the thing the implementation had left behind. What is interesting is that the prohibition the second one ran into, in the same measurement, had not drifted. That one has an automated test; this one does not. An entry marked "Machine check: none" drifts away from the implementation in silence, because nobody is looking at it ([article 5](https://typing-tube.net/articles/en/kikanai-05-machine-check)).

## How to verify: line up all 3 and count

**Prerequisites**

- Your 3 tiers are separated by where they live: the notes of insights the AI builds up, the behavior rules classified out of them, and the official prohibitions
- The first time round there is nothing to compare against, so nothing can be judged. This procedure is one where you count, record, and compare when you next count

**Time required**: 5 minutes

**Steps**

1. You count the 3 figures there and then. File counts or entry counts are both fine, but count the same way next time as well (leave a note on how you counted)
2. You line them up against the values from last time (on the first round you record them and you are done. 1 month later is soon enough for the next round)

**What to look at** (not pass or fail: it splits by how the growth of the 3 combines)

- The lower grows and the upper has stopped: healthy. Events happen without end, and the kinds of judgment are finite
- Upper and lower have both stopped: suspect the route for writing before the route upward. The likelier state here is that nobody is writing anything
- Upper and lower are growing alike: the judgment about whether to send something up is not working. A one-off event is going straight up into the official prohibitions

**Cleanup**

- None needed. You only count, and nothing gets broken

Counting takes a few minutes. It picks up more than re-reading does.

---

Next time is the finale, "The art of not choosing from the options."

---

**Series: The Art of Not Listening to the AI's Opinions**

- ← Previous: [7. The art of not listening to what the AI says](https://typing-tube.net/articles/en/kikanai-07-no-listening)
- → Next: [Finale. The art of not choosing from the options](https://typing-tube.net/articles/en/kikanai-finale)
- All articles: [Introduction: The Proposal You Turned Down Comes Back](https://typing-tube.net/articles/en/kikanai-intro)
