- Harden validateAccess() to fall back to original path when realpath
resolves outside cwd (fixes submodule/symlink bypass)
- Change error handling in validateAccess() to fail closed (deny access)
instead of fail open
- Add .rooignore post-filtering in CodebaseSearchTool to exclude ignored
files from search results even if they were previously indexed
- Pass RooIgnoreController from manager through service-factory to scanner
so the scanner reuses the workspace-root controller instead of creating
its own from the scan directory
- Fix FileWatcher to initialize fallback RooIgnoreController in
initialize() so .rooignore rules load even when manager controller
is not passed
- Add tests for realpath-outside-cwd fallback, fail-closed error handling,
CodebaseSearchTool rooignore filtering, and scanner controller passthrough
Fixes#11797