Skip to content

docs(rules): every implementation round carries a docs ticket to merge - #407

Open
hugolytics wants to merge 1 commit into
mainfrom
docs/keep-docs-current
Open

docs(rules): every implementation round carries a docs ticket to merge#407
hugolytics wants to merge 1 commit into
mainfrom
docs/keep-docs-current

Conversation

@hugolytics

Copy link
Copy Markdown
Collaborator

The problem

Documentation is the part of this system that goes stale without anything failing. That is the same shape test_timeboxing_profile_contract.py exists to catch in the persona prose — the model reads it, believes it, and produces a confidently wrong plan — except the docs have no test behind them. A round that changes behaviour and leaves the docs describing the old one produces the same confidently wrong reader, human or agent.

The rule

Hugo's, added to CLAUDE.md: an implementation round is not done when the code is. It carries a ticket to bring the docs up to what changed, explained according to best practices the ticket states rather than assumes, and that ticket lands as part of the same PR. A sonnet subagent picks it up, which keeps the cost low enough that the rule survives contact with a busy round.

Provenance

This is Hugo's own edit, written in the shared root checkout and left uncommitted. Committing it is what makes it reach the other sessions — a project rule sitting uncommitted in a working copy that a dozen sessions share governs none of them, and per shared-checkout-mutates it was at real risk of being committed under unknown authorship or wiped by a git checkout --. The only change I made to the text is a trailing newline.

Carried to a worktree rather than committed on the root checkout, because a checkout -b there moves every peer's tree.

Review

  • The rule says what Hugo meant — this is his wording, unedited apart from the trailing newline
  • Wanting it as a CLAUDE.md rule (governs every session) rather than a skill or a ticket template

🤖 Generated with Claude Code

Documentation is the part of this system that goes stale without anything
failing -- the same shape the profile-prose contract test exists to catch,
but with no test behind it. A round that changes behaviour and leaves the
docs describing the old one produces a confidently wrong reader.

So the round is not done when the code is: it carries a ticket to bring the
docs up to what changed, explained according to best practices the ticket
states rather than assumes, and that ticket lands in the same PR. A sonnet
subagent picks it up, which keeps the cost of the rule low enough that it
survives contact with a busy round.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants