Summary
IndexWatchRunnerTests.RunCore_SubprojectObservesAncestorIgnoreFileChanges_Issue4592 reproducibly times out on net9.0 while waiting for a subproject watcher to reconcile an ancestor .gitignore change. The same repository tree's full net8.0 suite passes.
This is adjacent to closed #4592, but no matching open issue was found.
Evidence
Observed on macOS arm64 while validating latest origin/main plus an unrelated LSP-only diff on 2026-07-29.
Full target run:
dotnet test tests/CodeIndex.Tests/CodeIndex.Tests.csproj -c Release -f net9.0 --no-restore -p:UseSharedCompilation=false
Result: 10,302 passed, 420 skipped, 1 failed after 34m45s. The sole failure was the watcher test above.
Isolated reproduction:
dotnet test tests/CodeIndex.Tests/CodeIndex.Tests.csproj -c Release -f net9.0 --no-restore --no-build --filter FullyQualifiedName=CodeIndex.Tests.IndexWatchRunnerTests.RunCore_SubprojectObservesAncestorIgnoreFileChanges_Issue4592
Result: the test failed after approximately 24 seconds with:
The ancestor .gitignore change was not reconciled by the subproject watcher.
Expected behavior
The ancestor ignore-file change should be observed and reconciled within the test deadline on net9.0, or the test/runtime policy should explicitly account for an unsupported target-specific watcher behavior.
Scope note
Neither tests/CodeIndex.Tests/IndexWatchRunnerTests.cs nor src/CodeIndex/IndexWatchRunner.cs was changed by the LSP diff that exposed this failure. Diagnose against origin/main and determine whether this is a net9 FileSystemWatcher timing issue, an environmental load sensitivity, or a product regression.
Summary
IndexWatchRunnerTests.RunCore_SubprojectObservesAncestorIgnoreFileChanges_Issue4592reproducibly times out onnet9.0while waiting for a subproject watcher to reconcile an ancestor.gitignorechange. The same repository tree's fullnet8.0suite passes.This is adjacent to closed #4592, but no matching open issue was found.
Evidence
Observed on macOS arm64 while validating latest
origin/mainplus an unrelated LSP-only diff on 2026-07-29.Full target run:
Result: 10,302 passed, 420 skipped, 1 failed after 34m45s. The sole failure was the watcher test above.
Isolated reproduction:
Result: the test failed after approximately 24 seconds with:
Expected behavior
The ancestor ignore-file change should be observed and reconciled within the test deadline on
net9.0, or the test/runtime policy should explicitly account for an unsupported target-specific watcher behavior.Scope note
Neither
tests/CodeIndex.Tests/IndexWatchRunnerTests.csnorsrc/CodeIndex/IndexWatchRunner.cswas changed by the LSP diff that exposed this failure. Diagnose againstorigin/mainand determine whether this is a net9 FileSystemWatcher timing issue, an environmental load sensitivity, or a product regression.