CLAUDE.md: split hopset/chanmig into subtree files, cut header duplication - #353
Merged
Conversation
…ation The root file had grown to 41.7k, past the 40k limit at which it stops loading reliably. Two changes, both now standing conventions stated in its preamble. Extend the nested-CLAUDE.md pattern to non-generation subtrees. The frequency-hopping and channel-migration sections move to src/hopset/CLAUDE.md and src/chanmig/CLAUDE.md, auto-loaded when working there. Root keeps the cross-cutting IRtlDevice primitives (FastRetune, FastSetBandwidth, the radiotap CHANNEL rule) and a stub naming each subsystem and its env-var family, so a session working from the repo root still has the entry point. Delete prose that re-documents source. TxPower.h, AdapterCaps.h and DeviceConfig.h carry more precise doc-comments than the paragraphs summarising them: the bench-derived LDPC-RX and vht_2g4_ok truth tables, the three-knob TX-power contract, the three per-packet-power hardware shapes, every env: tag. Those become pointers, which is the bulk of the saving and stops the two copies from drifting apart. Hardware gotchas stays whole, as does the teardown-order contract and the per-generation TX transfer-mode rule; that is the material with no other home in the tree. Root goes 41.7k -> 33.0k. Every removed reference was checked to still resolve either in a nested file or the header it now points at.
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.
The root
CLAUDE.mdhad grown to 41,702 chars, past the 40k limit at which it stops loading reliably. This gets it to 33,050 (−21%) with real headroom, and the way it gets there is meant to keep it there.Two changes
Extend the nested-CLAUDE.md pattern to non-generation subtrees. The
## Frequency hoppingand## Adaptive channel migrationsections move intosrc/hopset/CLAUDE.md(6.3k) andsrc/chanmig/CLAUDE.md(2.8k), auto-loaded when working in those subtrees — the same mechanism assrc/jaguar*/CLAUDE.md. Root keeps the cross-cuttingIRtlDeviceprimitives (FastRetune,FastSetBandwidth, the radiotapCHANNELper-packet rule, all of which live in coresend_packet) plus a stub naming each subsystem and its env-var family, so a session working from the repo root still has the entry point rather than a dead end.Delete prose that re-documents source. This is the bulk of the saving.
src/TxPower.h,src/AdapterCaps.handsrc/DeviceConfig.hcarry more precise doc-comments than the CLAUDE.md paragraphs summarising them — the bench-derivedldpc_rx_*andvht_2g4_oktruth tables, the three-knob TX-power contract with its MCS7-anchor semantics, the three per-packet-power hardware shapes, everyenv:tag. Those became pointers. Two copies of the same fact drift; one of them was going to end up wrong.The preamble now states both as standing rules, so the next edit has somewhere to land.
What is deliberately untouched
## Hardware gotchasstays whole, as do the teardown-order contract and the per-generation TX transfer-mode rule. That material has no other home in the tree, and it is the reason to read the file at all.Verification
ctest48/48 greensrc/,docs/,tests/,tools/path referenced across all three files resolvestests/*.sh,DEVOURER_*, ctest names) and asserted each still appears in a nested file or the header it now points at. This caught one genuine loss —DEVOURER_RX_KEEP_CORRUPTEDas the fused-FEC salvage entry point, a cross-cutting link no header states — which is restored in the diff.Docs-only, no code changes, so the two-adapter on-air matrix does not apply here;
ctestis the appropriate guard.🤖 Generated with Claude Code