fix(acr): file-discovery skips backups/ dirs — never live config (M-BUG-8)
A directory named `backups` holds backup COPIES, not live config, so walking it during a config audit produces stale findings. config-audit's own session backups (~/.claude/config-audit/backups/<ts>/files/.../CLAUDE.md) were the canonical case: a ~/.claude-scope audit walked 36 frozen config copies as if live, polluting CPS (C3) and HKV/RUL (C6) results. Same non-live-noise family as M-BUG-2. - Add `backups` to SKIP_DIRS (broad, name-based — consistent with vendor/dist/ .cache): the rule is general, a backups/ dir is never live config. TDD: 2 failing tests (no config under backups/ discovered + backups/ counted as skipped) -> green; a third asserts live config beside the backups tree is still discovered. Full suite 1310/0 (+3). Byte-stable: no fixture is named `backups` and `backups` appears in zero frozen snapshots, so v5.0.0 + SC-5 + default-output outputs are unchanged. Dogfooding ~/.claude: files under /backups/ drop from 36 -> 0; 717 live config files retained. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EnUvKEqyEa1m9gy6Aqhdqq
This commit is contained in:
parent
346dfac6fa
commit
bfd577aeee
2 changed files with 52 additions and 1 deletions
|
|
@ -11,6 +11,11 @@ const SKIP_DIRS = new Set([
|
|||
'node_modules', '.git', 'dist', 'build', 'coverage', '__pycache__',
|
||||
'.next', '.nuxt', '.output', '.cache', '.turbo', '.parcel-cache',
|
||||
'vendor', 'venv', '.venv', '.tox',
|
||||
// A `backups` dir holds backup COPIES, not live config — auditing it as if
|
||||
// live produces stale findings. config-audit's own session backups
|
||||
// (~/.claude/config-audit/backups/<ts>/files/.../CLAUDE.md) are the canonical
|
||||
// case (M-BUG-8), but the rule is general: backups are never live config.
|
||||
'backups',
|
||||
]);
|
||||
|
||||
// Path marker for the plugin install cache (~/.claude/plugins/cache).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue