The three rule files: what can go, what has to stay
On 2 September you asked for the three rule files every session reads before it starts to be purged, systematically, down to a few lines, judged against what today's model can do. Each file has now been appraised block by block, 164 blocks in all, against Anthropic's own Fable 5.1 pages, the hooks that enforce the same things, the other files that load alongside them, and the three measurements this repo has made of what happens when rules are removed. Nothing has been changed yet. This page is the result and the three decisions it leaves you.
- About 49.5 KB a session can go: 41% of the three files, 24% of everything a session loads. They do not get to a few lines, and the reason is measured, not cautious.
- The model getting smarter buys almost none of it. Anthropic's line is that existing prompts "should perform well on Claude Fable 5.1 without changes", and three of its sentences argue for keeping rules, not cutting them. The saving comes from the same rule being stated two, three or four times across the files, from hooks that already enforce what the prose repeats, and from dated stories of how each rule came to be.
- Every rule survives once, with its one-line reason. The one time a rule that looked redundant was deleted without measuring, in August, obedience on it fell 50 points.
| File | Today bytes | After bytes | Saved a session bytes | Share | Blocks |
|---|---|---|---|---|---|
| The global rules loads in every repo on this Mac, not just Jarvis | 42,390 | 28,582 | 13,808 | 33% | 55 |
| The Jarvis operating rules the main rules file for the Jarvis repo | 48,705 | 32,249 | 16,456 | 34% | 88 |
| The workspace rules the extra discipline that applies only inside the Jarvis repo | 33,607 | 10,928 | 20,462 | 61% | 21 |
| All three | 124,702 | 71,759 | 50,726 | 41% | 164 |
Skill and command descriptions add a further 38,764 bytes across 88 files; they are a separate audit and are not counted here. The templating system that would generate these files is not live, so they are edited by hand, as they are today.
Why not a few lines: four facts, three of them measured here
- Deleting one rule cost 50 points (2 August). A rule that generic guidance called redundant passed 5 out of 5 without its text at a small sample; at 10 trials the same rule proved load-bearing with a 50-point effect. The lesson recorded that night: at ten trials or fewer only a total effect is trustworthy, and a small-sample "no effect" is a guess.
- Too much loaded at once collapses obedience (15 August). The always-loaded surface grew 27.5% in sixteen days and, on the same instrument and the same night with the grader blind to which was which, obedience fell from 97.5% to 65%. So size does matter, in both directions: too little and a rule is simply gone; too much and rules that are present stop being followed. That is what makes this purge worth doing, and what bounds how far it goes.
- Removing a rule stated three times changed nothing (16 August). Two rules were deleted from one file each and obedience stayed at ceiling in every cell, because the same instruction was still on the surface in at least two other places. The lever is duplicate statements, not rules.
- Anthropic's own pages name nothing as newly redundant. The Fable 5.1 prompting guide says existing prompts should work without changes. It also says the model "stops to ask permission for a step the original request already covered" (so default-to-ship stays), "responds well to explicit instructions about what to leave out" (so scope rules stay), and that "a prompt nudge toward verification helps" (so verify-first stays). The one sentence that weakens anything, "fewer stock phrases and less unexplained jargon", retires an itemised acronym list and nothing else.
So the rule applied to every block is: keep the rule and its one-sentence reason, cut the narrative and any copy whose canonical home also loads every session, shrink prose to a pointer where a hook now enforces it, and measure afterwards.
1. The global rules (loads in every repo on this Mac, not just Jarvis)
What goes, biggest first
- shorter1,068 bytesThe five verification traps. Each keeps its one-line rule; the worked examples and dates go.
- shorter979 bytesThe notes on how the new model behaves. Down to one sentence; the facts already sit in the tool registry, and the harness repeats one of them every turn.
- shorter923 bytesThe notes on how the previous model behaved. Down to one sentence; the model these describe is no longer the one running.
- shorter803 bytesThe paragraph on models quietly switching mid-run. Keeps the rule and the detector; the benchmark percentages move to the registry that already cites them.
- shorter739 bytesThe 'run the handover yourself' exception. Keeps the instruction; drops the paragraph explaining how the two rules used to contradict each other.
- shorter568 bytesThe rule that counsel writes every legal word. Keeps the rule; drops the story of the 2026-08-15 grammar ambiguity.
- moves969 bytesA rule about splitting files at a marker. Moves to the architecture file; it is a design rule, not a session instruction.
What stays
Kept whole: every rule marked non-negotiable (never send, never destroy, immigration and legal go to a fresh counsel agent, ask through the question tool, no time estimates, never suggest stopping), the model-per-domain split you set on 1 September, and the dash rule, the one that lost 50 points when it was deleted in August.
Your call Beyond the recommendation
A further 3 KB or so is flagged as your call and not recommended without a measurement first: the five traps to one line each, the two model-behaviour notes cut entirely, and the rabbit-hole rule to two sentences.
2. The Jarvis operating rules (the main rules file for the Jarvis repo)
What goes, biggest first
- shorter1,799 bytesHow to recover a sub-agent's silent report. The same procedure, script and measurement are in the global file; this copy shrinks to the pointer.
- shorter1,580 bytesThe 'verdicts are not facts' machinery. Keeps the rule; the long restatement of the global file's version goes.
- shorter960 bytesNever paste personal identifiers into a command. Keeps the rule and the safe pattern; drops the 2026-08-04 history of where transcripts are stored.
- shorter813 bytesUse the browser to do things, not to fetch. Keeps the rule; drops the three worries it tells the model not to have, said twice.
- shorter649 bytesWhen a module may be created or retired. A hook already blocks unrequested modules; the prose shrinks to the rule and the retirement test.
- shorter634 bytesThe goals-file budgets. A hook already enforces the three limits; the prose shrinks to the numbers.
- cutTwo pointers to other files. Cut outright: both point at text that loads every session anyway.
What stays
Kept whole: the security rules restated here on purpose (5.8 KB, trimmed to 4.2 for length only), the three phrases a start-of-session check looks for, the filing rule (measured 0 out of 10 to 10 out of 10 on these exact words), the lines that say which tool to reach for (the one thing the August ablation proved matters: 5 out of 5 to 0 out of 5 without them), and the four principles folded in from the retired persona file this morning.
Your call Beyond the recommendation
The 4.2 KB security restatement was kept in August because it guards against the global file failing to load. A start-of-session check now fails loudly if that happens, which is the fact that would let it go. Two defects fixed inside the shrinks: line 3 still calls Jarvis a butler two lines above the sentence retiring the butler, and line 120 points at a folder that does not exist.
3. The workspace rules (the extra discipline that applies only inside the Jarvis repo)
What goes, biggest first
- shorter3,879 bytesWhat ships without asking. Seven classes and eight exceptions become one paragraph each; the guard that blocks real sends and deletions already exists.
- shorter3,267 bytesHow to commit on a shared tree. Six incidents become three rules; the commit gate already prints the recipe.
- shorter2,071 bytesHow to write for an outside reader. Keeps 'never narrate our own corrections'; drops the two long quotations and the example lists.
- shorter2,214 bytesHow to present research. Keeps 'name a rejected option only when it was close'; the rest is in the synthesis file that loads when research is written.
- shorter1,172 bytesThe 'Munim does not read markdown' rule. Keeps the rule; drops the 2026-05-09 quotation.
- movesThe search-before-proposing rule. Moves into its own search-terms file, which loads every session anyway, so this saves nothing per session but removes a copy.
- moves994 bytesVisual debugging. Moves to the design file, which loads only when design work is in play.
What stays
Nine rules exist nowhere else and stay, shorter: the override of the harness's own memory system; commit and push without asking; a security approval does not survive a second review; you read diffs and commit messages, not markdown; name a rejected option only when it was close; never skip a failed agent; un-stage on a refused commit; the gap-audit walk goes in the commit message; never narrate our own corrections to a reader.
Your call Beyond the recommendation
How far to compress the seven ship-without-asking classes: the appraisal takes that block from 5,691 bytes to 1,812 and marks it the one taste question in the file.
What happens on a yes
- One commit per file, applied from the appraisal's own replacement text, every replacement read against the block it replaces before it lands, so a rule cannot vanish in a shortening.
- Three checks after each file: the start-of-session check that asserts ten anchor phrases still exist, the check that every file path the rules name still resolves (134 assertions, clean today), and the hook-layer test suite. Checked today against the proposed texts: the global and Jarvis files keep all seven of their anchor phrases; the workspace appraisal renames its three ("Memory Routing in Jarvis Workspace", "Default-to-ship discipline", "Prior-mechanism check"), so those three headings are kept word for word when the edits are applied, at a cost of about 40 bytes.
- Then the measurement. The adherence harness runs the old surface and the new one on the same night, same probes, same grader, blind to which is which, with a control probe that must not move. Its own cadence tool says not to buy a run while the surface is moving (5.6 KB changed in the last 24 hours), so it runs once the edits are committed and settled. The cost is quoted before it is spent.
- Second pass afterwards for the further cuts marked your call above, with the measurement in hand.
The three decisions
| Decision | What it means | My recommendation |
|---|---|---|
| 1. Apply the recommended edits | All three files, about 49.5 KB a session, every rule kept once | Recommend Yes, all three, one commit each |
| 2. The further cuts marked your call | About 3 KB more in the global file, the 4.2 KB security restatement in the Jarvis rules, and how hard to compress the seven ship-without-asking classes | Recommend Second pass, after the measurement, because the one unmeasured cut cost 50 points |
| 3. Measure afterwards | Two arms, one night, blind grading; costs real usage | Recommend Yes, once the tool says the surface has settled |
Sources
The block-by-block appraisals, 164 blocks with the replacement text for every shortening, are on disk for the session that applies them: knowledge/projects/migrate-fable-5-1-2026-09-01/purge/global-claude-md.json, root-claude-md.json, workspace-claude-md.json, and their summaries beside them. The 50-point regression and the small-sample lesson: knowledge/projects/opus-5-rebuild-lessons-2026-08-02.md. The 97.5% to 65% result: knowledge/projects/rule-surface-adherence-2026-08-15/RESULT.md (DEC-471). The null on removing a thrice-stated rule: knowledge/projects/rule-surface-ablation-2026-08-16/RESULT.md. Anthropic pages read on 2 September: the Fable 5.1 prompting guide and what's-new page. Byte counts read from the live files on 2 September.