Skip to content

Prevent duplicate macOS watch startup scans - #4956

Merged
Widthdom merged 7 commits into
mainfrom
fix-issue4858
Jul 28, 2026
Merged

Prevent duplicate macOS watch startup scans#4956
Widthdom merged 7 commits into
mainfrom
fix-issue4858

Conversation

@Widthdom

Copy link
Copy Markdown
Owner

Summary

  • Start the watch backend before the single required baseline scan and preserve that baseline across recoverable macOS fallback.
  • Replace failed FSEvents generations, including late and ancestor-watcher failures, with an operational polling backend and schedule only one justified handoff recovery scan.
  • Prune ignored/internal trees from polling, preserve terminal cancellation events, and expose backend/recovery diagnostics in JSON and human output.
  • Add deterministic fake-backend coverage, guarded macOS integration coverage, bilingual documentation, and a bilingual changelog fragment.

Validation

  • dotnet build CodeIndex.sln -c Release -p:UseSharedCompilation=false — passed, 0 warnings / 0 errors after the final origin/main merge.
  • Watch suite in Release — 55 passed / 0 failed on both net8.0 and net9.0 after the final merge.
  • Full Release suite under the preceding main snapshot completed with net8.0: 10,690 passed / 7 skipped / 1 failed and net9.0: 10,217 passed / 419 skipped / 1 failed. The net9.0 failure was the existing Issue Make extractor registration immutable and workspace-scoped #4602 timing fixture and passed in isolation on both TFMs. The net8.0 failure exposed an ancestor FSEvents error path; that path was fixed, its isolated test passed, and the complete watch suite then passed on both TFMs.
  • dotnet run --project tools/CodeIndex.Changelog -- check — passed (33 fragments).
  • Local cdidx status --check --json — index matches the 1,250-file workspace and final HEAD.

Adversarial review

  • Codex round 1 found three actionable startup/fallback findings; all were addressed.
  • Codex round 2 found four actionable late-error, polling, cancellation, and deterministic-test findings; all were addressed.
  • The workflow review limit is two rounds, so post-review changes were verified with focused Release tests and final diff checks.

Documentation

  • Updated both English and Japanese sections of USER_GUIDE.md and TESTING_GUIDE.md.
  • Added changelog.d/unreleased/4858.fixed.md.

Fixes #4858

@Widthdom
Widthdom marked this pull request as ready for review July 28, 2026 17:20
@Widthdom
Widthdom merged commit c093291 into main Jul 28, 2026
12 checks passed
@Widthdom
Widthdom deleted the fix-issue4858 branch July 28, 2026 17:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Prevent duplicate full scans when macOS watch startup falls back

1 participant