Skip to content

CLAUDE.md: split hopset/chanmig into subtree files, cut header duplication - #353

Merged
josephnef merged 1 commit into
masterfrom
docs/claude-md-signal-to-noise
Jul 28, 2026
Merged

CLAUDE.md: split hopset/chanmig into subtree files, cut header duplication#353
josephnef merged 1 commit into
masterfrom
docs/claude-md-signal-to-noise

Conversation

@josephnef

Copy link
Copy Markdown
Collaborator

The root CLAUDE.md had 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 hopping and ## Adaptive channel migration sections move into src/hopset/CLAUDE.md (6.3k) and src/chanmig/CLAUDE.md (2.8k), auto-loaded when working in those subtrees — the same mechanism as src/jaguar*/CLAUDE.md. Root keeps the cross-cutting IRtlDevice primitives (FastRetune, FastSetBandwidth, the radiotap CHANNEL per-packet rule, all of which live in core send_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.h and src/DeviceConfig.h carry more precise doc-comments than the CLAUDE.md paragraphs summarising them — the bench-derived ldpc_rx_* and vht_2g4_ok truth tables, the three-knob TX-power contract with its MCS7-anchor semantics, the three per-packet-power hardware shapes, every env: 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 gotchas stays 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

  • ctest 48/48 green
  • Scripted check: every src/, docs/, tests/, tools/ path referenced across all three files resolves
  • Diff-audit: extracted every token removed from root (tests/*.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_CORRUPTED as 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; ctest is the appropriate guard.

🤖 Generated with Claude Code

…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.
@josephnef
josephnef merged commit a71060f into master Jul 28, 2026
19 checks passed
@josephnef
josephnef deleted the docs/claude-md-signal-to-noise branch July 28, 2026 21:04
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.

1 participant