* Open each segment as its own task
Opening parses and validates segment structures on the CPU. Every open was
polled inside one buffer_unordered stream, so all of them shared a single
worker thread and segment-open concurrency never overlapped: after 2.1.2
removed the mlock stall, a 75-segment social shard still opened one segment
every ~25 s on 0.7 core. Each open is now a spawned task (native only) that
is aborted when the reload is dropped, so the configured width uses real
cores and cancellation still stops in-flight opens; WASM keeps the inline path.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* Prepare 2.1.3
Releases parallel segment opens: each open runs as its own task.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>