Claude Code First, specification version 0.1.0. The plain-language guide
Version 0.1.0. Grade R3/S3.
F5 Agent-written planning prose runs past an instruction to be brief, and only a limit refused at write time bounds it
| Field | Value |
|---|---|
| Status | active |
| Topic | Context economy and agent prose |
| Grade | R3/S3 |
| Cases | Shio, winwright |
| Contrary | none |
| Harness facts | none |
Claim
Prose the agent writes into planning files grows well past a stated one-sentence or word-count rule when only the instruction holds it, and still exceeds a known limit on the first attempts when a tool refuses it at write time, so the refusal and not the instruction is what keeps it within bounds.
Mechanism
The agent writing a line knows the full analysis behind it, and the instruction to be brief competes with everything it knows. Because the files are read back by later sessions, every extra word is also a cost on each future read. A limit checked at the moment of writing refuses the overlong text before it lands, but each refusal is a round trip in which the text is sent again.
Observations
- Shio. Before any tool held the format, the roadmap rule was one sentence per entry.
When measured, the file held "95 active task lines averaging" [shio@821f18d74:docs/agents/agent-surface.md#L1500-L1503] 142 words, the worst 555, and "six of the worst eight were written in the same session that then found the problem" [shio@821f18d74:docs/agents/agent-surface.md#L1502-L1503]. The fix was to "make the roadmap a queue again" [shio@490a698a0], followed two days later by roadkeep's write-time limits [shio@af98be3f0]. The ledger written before the tool shows the same drift: "233 entries predate the tool and read 1038" [shio@821f18d74:roadkeep.toml#L345] characters at the median.
- winwright. With roadkeep's limits in force, one rationale section took "five refusal round-trips over the 250-word limit, each re-sending the whole paragraph" [winwright@a18dd8d],
a count the commit says it took from the session's own transcript.
Independence
Two origins. The overlong lines in Shio were written in Shio. The overruns in winwright were drafted by the agent in winwright; the refusals that stopped them are roadkeep's behaviour, which counts as evidence about roadkeep (grading rule 3), but the drafts that exceeded the limit are winwright's own occurrence. Shio's overlong lines are also the failure half of F101, which measures the same roadmap before and after the limit; a rule citing both counts that observation once. The remedy, limits refused at write time, has one origin, roadkeep, which states the premise as "An instruction to be terse does not survive the moment its author knows more than the line allows." [roadkeep@91754240:docs/IMPROVEMENTS.md#L23-L24] and sets each limit at "the P90 of the lines that already read well, which is an agent attention budget" [roadkeep@91754240:roadkeep.toml#L48]. polyweave caps a rationale section in prose, it "is capped at 250 words and says" [polyweave@6d1c136:CLAUDE.md#L43-L45] why; that is an instruction, not an observation, and adds nothing to the count.
Counter-evidence
- The winwright commit attributes the round trips to missing documentation, not to the
agent's prose: the vendored skill that describes measuring a draft before sending it was out of date in that checkout. The five overruns show the agent's first drafts exceeding the limit; they do not show that a current skill would not have prevented them.
- The limit bounds length, not content. roadkeep's own law is that the tool checks only the
shape of a sentence [roadkeep@91754240:agents.md#L25].
- This finding overlaps the planning topic, since the prose in question is backlog prose.
Grade
R3: overlong agent prose is observed in two projects, each in its own files. S3: Shio's measurement (95 lines, a mean of 142 words) and winwright's five refusals are counted. Not S4: roadkeep's limits are encoded and refuse, but they are evidence about the tool (rule 3), and no source in Shio or winwright records a gate of its own failing on length.