Idea detail
single_sync_walk
reqlan rq/indexer/cache-reuse.rq:35
Summary
One native directory walk records base roots, `.rq` paths, and allowlisted code paths.
The walk does not read file bodies.
Startup, Refresh, and create-base each run that walk once. They do not call `findFiles` and they do not run a second native `syncWorkspace` walk.
Soft sync indexes the path list and skips unchanged mtimes.
Idle stale check stats paths already stored in SQLite. New files arrive from the file watcher.
The language server does not walk. The extension sends the base roots after the scan.
Overlapping callers share one in-flight scan.
CLI and MCP `sync_workspace` uses the same walk ( one pass, stop at nested bases ).
index_cache_reuse
soft_sync
scan_limits
Navigation
Attributes
| Key | Value |
|---|---|
| implementation | scan.rs, scan-workspace.ts, index-service.ts, workspace-index.ts, session.rs |
| status | done |
| tests | scan.rs:one_walk_returns_bases_rq_and_code_and_skips_ignored_dirs, refresh-rediscovers-bases.test.ts:startup scan does not call findFiles |
Ancestor context
No ancestor chain recorded.
Outbound references
Inbound references
| Kind | Idea | Path | Snippet |
|---|---|---|---|
| references | index_file_search_coalesce | reqlan rq/extension/language/support/initialisation-and-sequencing.rq | single_sync_walk |
| references | extension_startup_sequence | reqlan rq/indexer/sequencing.rq | single_sync_walk |
| references | scan_limits | reqlan rq/indexer/sequencing.rq | single_sync_walk |
| references | soft_sync | reqlan rq/indexer/sequencing.rq | single_sync_walk |
| references | headless_sync_on_ready | reqlan rq/indexer/sequencing.rq | single_sync_walk |
Unresolved references
| Kind | Idea | Path | Snippet |
|---|---|---|---|
| None | |||
Local graph
Initialising graph…