Summary
Two tests assert a thread-identity property while obtaining their "worker thread" from Task.Run:
QuickFiler.Test/Viewers/ItemViewerBreadcrumbThreadAffinityTests.cs:204
ConfigureBreadcrumbDropDown_WorkerThread_ThrowsBoundaryDiagnostic
QuickFiler.Test/Viewers/ItemViewerBreadcrumbThreadAffinityTests.cs:237
InitializeBreadcrumbPipeline_WorkerThread_ThrowsBoundaryDiagnostic
Task.Run guarantees only a thread-pool thread, never a different one. Under parallel test
execution the test body is itself running on a pool thread, so the constructing thread is also
pooled, and thread reuse can make the guard's CheckAccess() return true - at which point the
expected boundary diagnostic is never raised and the assertion fails.
.GetAwaiter().GetResult() blocking a pool thread while awaiting another compounds the pressure
under contention.
This is a determinism defect, not noise. It is the same family as the repository's standing rule
that a suite needing serial execution has already violated unit-test isolation: these tests pass or
fail depending on scheduler behaviour the test never controls.
Environment
(not provided in potential file)
Steps to Reproduce
(not provided in potential file)
Expected Behavior
(not provided in potential file)
Actual Behavior
(not provided in potential file)
Logs / Screenshots
(not provided in potential file)
Impact / Severity
(not provided in potential file)
Source
From: docs/features/potential/2026-09-14-breadcrumb-thread-affinity-tests-assume-taskrun-gives-distinct-thread.md
Summary
Two tests assert a thread-identity property while obtaining their "worker thread" from
Task.Run:QuickFiler.Test/Viewers/ItemViewerBreadcrumbThreadAffinityTests.cs:204ConfigureBreadcrumbDropDown_WorkerThread_ThrowsBoundaryDiagnosticQuickFiler.Test/Viewers/ItemViewerBreadcrumbThreadAffinityTests.cs:237InitializeBreadcrumbPipeline_WorkerThread_ThrowsBoundaryDiagnosticTask.Runguarantees only a thread-pool thread, never a different one. Under parallel testexecution the test body is itself running on a pool thread, so the constructing thread is also
pooled, and thread reuse can make the guard's
CheckAccess()return true - at which point theexpected boundary diagnostic is never raised and the assertion fails.
.GetAwaiter().GetResult()blocking a pool thread while awaiting another compounds the pressureunder contention.
This is a determinism defect, not noise. It is the same family as the repository's standing rule
that a suite needing serial execution has already violated unit-test isolation: these tests pass or
fail depending on scheduler behaviour the test never controls.
Environment
(not provided in potential file)
Steps to Reproduce
(not provided in potential file)
Expected Behavior
(not provided in potential file)
Actual Behavior
(not provided in potential file)
Logs / Screenshots
(not provided in potential file)
Impact / Severity
(not provided in potential file)
Source
From: docs/features/potential/2026-09-14-breadcrumb-thread-affinity-tests-assume-taskrun-gives-distinct-thread.md