switch to Io.Threaded backend, shelve Evented
the Evented (io_uring fiber) backend has been the source of every major
issue since the 0.16 migration: 8 cross-Io crash classes, a ReleaseSafe
GPF from a zig codegen bug, and a persistent ~10-15% coverage degradation
that nobody could trace. the zig team marks Evented as experimental.
Io.Threaded restores thread-per-PDS (~2,800 OS threads instead of ~35
fibers), which was the proven model on 0.15 at 99%+ coverage. the entire
cross-Io problem class vanishes. ReleaseSafe works again. DNS works
natively. the uring networking patch becomes inert.
one-line change: const Backend = Io.Evented → Io.Threaded.
all io.concurrent() call sites, Io.Future, Io.Mutex, Io.Condition are
backend-agnostic through the std.Io abstraction. pool_io becomes
redundant but harmless (both runtimes are now Threaded).
builds clean: zig build test, zig fmt, and
zig build -Dtarget=x86_64-linux-gnu -Doptimize=ReleaseSafe all pass.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>