Skip to content

finding: CLAUDE.md carries no line-ratchet ceiling, while AGENTS.md does — same read path, same governance #9965

Description

@os-warren

Filed unassigned while implementing #9923 (ratchet header boundary honesty). Out of that card's scope, which was ruled to be header wording about the published skills/ root and explicitly not a coverage extension.

Measured

scripts/pm/check-skill-line-ratchet.mjsCEILINGS on origin/main at merge base 5989b0de9 covers 18 files. Root AGENTS.md is covered at 958 lines. Root CLAUDE.md is not covered, at 86 lines.

Why the two look alike

Both are repo-root agent instruction files, both are read by every seat session, both are governed surfaces under Prime Directive #14. The reasoning that added the AGENTS.md ceiling — largest, most-read, most-binding instruction file with no ceiling — applies to CLAUDE.md in kind, differing only in degree.

CLAUDE.md is also structurally growth-prone in a way the ratchet is built for: it exists to inline the rules that must never be missed, so every new must-never-miss rule is an argument for appending to it. It currently inlines four.

The honest counter-argument

At 86 lines it is small, and its own framing caps it: it is an excerpt of AGENTS.md, not an independent surface. A ceiling on it may be a control with nothing to control.

The card this was found on now makes the fact visible either way — the ratchet's header states that CLAUDE.md, .claude/hooks/ and .claude/settings.json carry no ceiling, so absence reads as a fact to check rather than an oversight to infer. This card is only about whether the fact should change.

Decision needed, not an implementation

Adding a CEILINGS row is a one-line change; whether it should exist is a policy question of exactly the kind #9923 was ruled on. Note the sibling repo objectui has its own CLAUDE.md and AGENTS.md, neither reachable from this ratchet at all, so a maintainer may prefer to answer the root-instruction-file question once rather than per file.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions