The test tree holds zero hand-woven concurrency gates, and the allow file is gone

A hand-woven gate — ManualResetEventSlim and its relatives — parks a thread until somebody signals it. In product code that thread is a hub action block or a grain turn, and the deadlock is immediate. In a test the same primitive fails more quietly: when an assertion throws before the release runs, the worker it deliberately blocked stays blocked for its full bound and bleeds into the next test. That is not hypothetical — one such site held a pool thread for two minutes and made an unrelated test fail.

The ratchet added a day earlier froze that debt at a measured 79 sites across 23 files, every one a ManualResetEventSlim, 32 of them in IoPoolTest.cs. All 79 are now converted, and test/HandWovenGateSites.allow is deleted.

Two shapes replaced them, chosen by which way the signal travels:

No assertion was weakened and no timeout widened; several tests gained a try/finally they did not have. test now sits in the guard's zero-tolerance roots alongside src/, tools/, samples/, clients/ and memex/, held at zero with no allow file anywhere — and a new check fails if the deleted one ever comes back. The full account of the two shapes, the traps, and what the sweep measured is in Removing Hand-Woven Concurrency Gates.

Reconnecting…
The connection to the server was interrupted. Trying to restore it…
Trying again…
The connection could not be restored. Reloading the page…
The server was updated. Reloading the page to pick up the latest version.