Summary
Watch mode does not re-evaluate repository membership when ignore/configuration inputs change, and .cdidx is treated inconsistently by full scan/status versus watch.
v1.38.0 evidence / reproduction / control flow
IndexWatchRunner.cs:121-150,215-239 sends only the changed path to a partial update, so editing .gitignore or .cdidxignore neither removes newly ignored rows nor discovers newly unignored files. Lines 300-314 discard every event below .cdidx, including supported .cdidx/patterns/*.yaml and plugin inputs. Conversely, status --check reported audit notes below .cdidx as unindexed_workspace_files and stale while watch could never process them.
Impact
Sensitive/generated files can remain searchable after being ignored, newly included files can remain absent, and official extractor configuration can change without reindexing. Freshness signals can be impossible to satisfy under watch.
Suggested direction / acceptance criteria
- Centralize membership classification for full scan, workspace check, and watch.
- Treat ignore files and extractor inputs as invalidation events that trigger a debounced membership/configuration reconciliation.
- Exclude only internal database/WAL/lock artifacts, or consistently exclude the whole
.cdidx namespace.
- Test ignore, unignore, pattern add/edit, and ordinary
.cdidx sidecar behavior across all three paths.
Dogfooding candidate IDs: M043, M044, R021.
Observed with locally built cdidx v1.38.0 from origin/main on 2026-07-15.
Summary
Watch mode does not re-evaluate repository membership when ignore/configuration inputs change, and
.cdidxis treated inconsistently by full scan/status versus watch.v1.38.0 evidence / reproduction / control flow
IndexWatchRunner.cs:121-150,215-239sends only the changed path to a partial update, so editing.gitignoreor.cdidxignoreneither removes newly ignored rows nor discovers newly unignored files. Lines 300-314 discard every event below.cdidx, including supported.cdidx/patterns/*.yamland plugin inputs. Conversely,status --checkreported audit notes below.cdidxasunindexed_workspace_filesand stale while watch could never process them.Impact
Sensitive/generated files can remain searchable after being ignored, newly included files can remain absent, and official extractor configuration can change without reindexing. Freshness signals can be impossible to satisfy under watch.
Suggested direction / acceptance criteria
.cdidxnamespace..cdidxsidecar behavior across all three paths.Dogfooding candidate IDs: M043, M044, R021.
Observed with locally built cdidx v1.38.0 from origin/main on 2026-07-15.