- Fix hysteresis: use_single now correctly forces block_count=1 (was computed before the check) - Fix SgIoTransport: spawn close+reopen in background thread on transport error - Fix autorip: rip_disc() spawns wallclock watcher thread, caps entire rip at max(disc_runtime, 1h) - Fix Disc::patch: add unreadable_count counter + tracing instrumentation - Simplify Disc::copy() error handling per RIP_DESIGN.md §2.1