Move the Hook contract out of plugins/os-sdlc/CLAUDE.md after a CLAUDE.md best-practices ruling #1747
Labels
No labels
P0
P1
P2
P3
bug
category/code-change
category/cross-repo
category/eval-run
category/investigation
category/no-test-target
category/owner-ruling
category/prose-artifact
category/recurring-chore
category/structure
category/umbrella
crc-refactor
create
delete
enhancement
filed-by/agent
filed-by/user
frozen
lint-rule
needs-info
needs-triage
next
plugin/cc-architect
plugin/os
plugin/os-adr
plugin/os-aidd-lint
plugin/os-backlog
plugin/os-context
plugin/os-doc-hygiene
plugin/os-sdlc
plugin/os-vault
project/cc-os
ready-for-agent
ready-for-human
recurring
review
rule-proposal
update
waiting
wayfinder:grilling
wayfinder:map
wayfinder:map
wayfinder:research
wayfinder:task
wayfinder:task
wontfix
worklist/deviations
worklist/lint-rule
worklist/new-implement-build
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jared/cc-os#1747
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
plugins/os-sdlc/CLAUDE.mdloads into every os-sdlc session, and about 75% of it is the "Hook contract" paragraph, which most sessions do not need. Jared's standard for a CLAUDE.md (2026-11-13) has three parts: (a) it orients the AI to navigate the project by progressive disclosure; (b) it holds only rules that are relevant to every session; (c) it holds no detail that matters only in specific situations. The Hook contract is type (c): hooks are deterministic and run in the background. Jared wants a separate session on CLAUDE.md best practices before any edit.Observed
The file is 1,254 tokens. The Hook contract paragraph is about 3,760 bytes.
Two independent read-only assessments on 2026-11-13 agree on the history.
The section first entered on 2026-09-10 in
86f36f2a7, at about 650 bytes.The section grew to about 4,000 bytes from 2026-09-27 to 2026-09-29 (#767, #781, #834).
Each later refactor commit rewrote the paragraph in place. The largest rewrite is
b2187b6dcon 2026-11-10. Commits86417907c,39c877a11and6cc5095e4on 2026-11-12 added about 580 bytes.A
git revertis not a fix. Each older version is as long and names deleted objects (OsSdlc::Boot.run,Boot::Commands::TABLE,Hook::Pipe).No other copy of the text exists under
docs/implementation-status/orplugins/os-sdlc/references/.The root
CLAUDE.mdis 2,246 tokens. Its shape has not changed since 2026-08-19 (fdd1f1e23). It grew from 1,647 tokens through one-line and two-line additions.Reproduce
n/a: prose artifact;
python3 plugins/os-doc-hygiene/scripts/token_estimator.py plugins/os-sdlc/CLAUDE.mdprints the size.Approach
Jared rules on CLAUDE.md best practices first, in a separate session. The items below are proposals for that session.
plugins/os-sdlc/references/hook-contract.md) and leave a one-line pointer inplugins/os-sdlc/CLAUDE.md. Estimated result: about 350 tokens.event.fetch(:key)orevent[:key]."CLAUDE.md, and point it at the reference file.CLAUDE.md: decide on a trim of the type (c) sections ("Token counting", "CRC refactor") and of the rule "When the change alters how a user runs an os-sdlc tool, updateplugins/os-sdlc/README.md", whichplugins/os-sdlc/CLAUDE.mdalready holds.Rejected: restore an older version of either file — each older version is as long and has facts that are now false.
Origin
plugins/os-sdlc/CLAUDE.mdon 2026-11-13 and asked for an assessment and a possible revert.plugins/os-sdlc/CLAUDE.md) ← no reference file owns the hook contract ← DESIGN (plugins/os-sdlc/CLAUDE.md, section "Hook contract", first added in86f36f2a7)plugins/os-sdlc/CLAUDE.md,CLAUDE.mdVERDICT: CREATE — No open ticket covers moving the Hook contract out of plugins/os-sdlc/CLAUDE.md or a CLAUDE.md best-practices ruling; the user named this work.