docs(claude-md): loading-discipline routing + drop stale private-repo framing - #44
Merged
Conversation
Apply the ADR-0081 loading-discipline to purefoy's 377-line CLAUDE.md. Always-loaded footprint: ~4066 -> ~1243 tokens (377 -> 85 lines), ~69% drop. Relocate-only (0 deletes, 0 @import); all 14 distinctive strings verified present in the new fileset. Routing: - Layer 1 (path-conditional, loads when editing the subtree): deakins_forums/CLAUDE.md <- forum-scraper pipeline design, key principles, DEAKINS_* env vars, and the scraper CLI commands. - Layer 2 (task reference, read on demand): documentation/data-model-reference.md <- PostLeaf/TopicLeaf/Episode schemas (authoritative source: deakins_forums/models.py). documentation/repo-reference.md <- project-structure tree, podcast ingest commands + design, testing notes. - Layer 0 (stays always-loaded): repo identity, Git Data Policy, Deployment safety, fair-use/keep-private invariant, venv + code-quality quick-start. Folds/fixes: consolidated 3x 'Keep PRIVATE' into one invariant; removed a stray duplicate code-fence in the project-structure block. L2 lives in documentation/ (repo-native, tracked) rather than domain-knowledge/ which is a gitignored symlink farm into core. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Contributor
|
Skill audit skipped: this repo does not ship |
purefoy is a public repo, but the docs still asserted it 'MUST be PRIVATE' and — more dangerously — that scraped forum data in library/ was *tracked in git for a private repo*. Verified false: 0 files tracked under library/, downloads/, or analysis/ (all gitignored). No data is or was exposed; the 'tracked for private repo' docs were aspirational/never executed. Correct all of them to the actual model — **public repo, scraped data kept off-git via .gitignore**: - CLAUDE.md: keep-private bullet -> 'scraped data stays off-git' - README.md: 'MUST be PRIVATE' section -> Git Data Policy; library/ moved from 'tracked' to 'gitignored' - PROJECT_STRUCTURE.md: library/ '(TRACKED for private repo)' -> gitignored - GIT_READY.md: 'Recommended: Private' -> 'Adopted: Public, code only' - GIT_INIT_CHECKLIST.md: removed forum-data-as-tracked; flipped the verify-tracked command to verify-NOT-tracked; fixed summary - PROJECT_STATUS.md: 'Forum data INCLUDED/tracked' -> excluded/gitignored; removed 'Keep PRIVATE' directives - ROADMAP.md: 4.6 Public-vs-Private decision -> RESOLVED (public, code only) Fair-use / copyright / rate-limit guidance retained. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two related docs-hygiene changes on purefoy.
1. Loading-discipline routing (ADR-0081)
Routes the 377-line root
CLAUDE.mdby when each block is needed. Always-loaded footprint (M1): ~4066 → ~1286 tokens (377 → 86 lines), ~68% drop. Relocate-only — 0 deletes, 0@import.deakins_forums/CLAUDE.md, loads only editing that subtree): scraper pipeline design, principles,DEAKINS_*env, scraper CLI.documentation/data-model-reference.md(PostLeaf/TopicLeaf/Episode schemas; authoritative sourcedeakins_forums/models.py);documentation/repo-reference.md(structure tree, podcast ingest, testing notes).L2 lives in repo-native
documentation/rather thandomain-knowledge/(a gitignored symlink farm into core).2. Drop stale private-repo framing
purefoy is public, but several docs asserted it "MUST be PRIVATE" and that scraped forum data in
library/was tracked in git for a private repo. Verified false: 0 files tracked underlibrary/,downloads/, oranalysis/(all gitignored) — no data is or was exposed; those claims were aspirational/never executed.Corrected to the actual model — public repo, scraped data kept off-git via
.gitignore— acrossREADME.md,PROJECT_STRUCTURE.md,GIT_READY.md,documentation/GIT_INIT_CHECKLIST.md,documentation/development/PROJECT_STATUS.md,documentation/roadmap/ROADMAP.md(4.6 decision marked RESOLVED → public). Fair-use/copyright guidance retained.How to test
node core/scripts/claude-md/footprint.mjs purefoy→ always ~1286 / conditional ~1109;@import: 0.git ls-files | grep -E 'library/|downloads/|analysis/'→ empty (no scraped data committed).🤖 Generated with Claude Code