diff --git a/CLAUDE.md b/CLAUDE.md index de0ad44..984febd 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -216,7 +216,15 @@ var, that's applied **in union** with the env-var globals when a walker scans this library. Use case: mount a parent directory as a new library while a sibling library covers a child subtree, and exclude that child subtree from the parent so the two libraries -don't double-walk and double-write `image_exif`. Hash-keyed derived +don't double-walk and double-write `image_exif`. Two entry forms +(parsed by `memories::PathExcluder`): +- `/sub/path` — leading slash flags it as a path under the library + root. Joins to root + matches by `path.starts_with(...)`. Works + at any depth (`/photos`, `/media/2024/raw`). +- `name` — no leading slash flags it as a component name to skip + anywhere in the tree (`@eaDir`, `.thumbnails`). Single segment + only — `media/photos/a` without a leading slash never matches + anything. Hash-keyed derived data (faces, tags, insights) is unaffected either way — those follow the bytes — but `image_exif` row count, walker CPU, and thumbnail disk usage all drop to 1× instead of 2× for the overlap.