Git directory operands now use scoped Git indexes. seek 'needle' ./platform keeps Git ignore and local-change behavior, but no longer lets unrelated repo files drive indexing, caps, or results.
Upgrade. No flag changes. Compared with v0.11.1, directories inside a Git repo now use Git rules instead of the literal folder pipeline. Exact files remain literal, folders outside Git remain folder corpora, and root/file/outside-folder cache identities are unchanged. Git directory operands may build new scoped committed/dirty layers on first use.
What changes for you
- Scoped Git directories. Selected Git directories get committed and dirty layers for that subtree, so large ignored artifacts, dirty siblings, or tracked siblings outside the path no longer trip Git file/byte caps.
- Nested Git handled once. No-path searches, Git-root operands, and selected Git directories discover visible nested repos, submodules, gitlinks, and linked worktrees, while parents exclude them to avoid duplicate results and ignored-content leaks.
- Ignore and explicit operands stay predictable. Ignored directories inside the selected repo stay ignored; exact ignored files and explicit nested Git roots still search what you asked for.
- Fewer Git edge-case misses. Seek forces
--untracked-files=all, treats pathspec metacharacters literally, strips pathspec environment overrides, and can reuse scoped committed layers after commits outside the selected path.
Dev/test
- Added scoped committed/dirty Git layers with separate caches, locks, empty-layer markers, state validation, and
git ls-tree/git cat-filecommitted indexing. - Recursed nested-Git discovery through visible repos, submodules, gitlinks, and linked worktrees; removed the old fixed discovery cap.
- Hardened Git boundary detection for symlink escapes, common-dir escapes, and linked-worktree backrefs.
- Added regression coverage for scoped budgets, ignored nested Git, pathspec handling, nested untracked files, layer drift, exact-file ownership, and refreshed README/benchmark docs.
Full changelog: v0.11.1...v0.12.0