-
Notifications
You must be signed in to change notification settings - Fork 7
Closed
Labels
Description
Context
With #45 resolved, mcs doctor now detects content drift in CLAUDE.local.md sections via SHA-256 hash comparison. The same approach should be extended to settings.local.json, which is composed from multiple packs.
Complexity
Unlike single-file artifacts, settings.local.json is a composed file where multiple packs contribute entries (hook groups, settings keys). Drift detection requires either:
- Option A: Hash the entire composed file and re-compose at doctor time for comparison
- Option B: Track per-pack contribution hashes and verify each pack's contributions independently
Option A is simpler but may false-positive on key ordering differences. Option B is more precise but requires decomposing the file.
Acceptance criteria
- Doctor check detects when
settings.local.jsonhas been manually edited - Changes to user-owned keys (outside pack-managed keys) are not flagged
-
--fixrestores pack-managed portions while preserving user additions - Tests cover: matching state, drifted pack keys, user-added keys preserved
Reactions are currently unavailable