52b9318e64
Root cause: relibc Cond::wake() lost-wakeup race condition.
Fix: cur.load() instead of prev.load() in cond.rs wake().
The Remlab futex-condvar design assumes the caller holds the mutex when
signalling, but POSIX allows signalling outside the mutex and Rust
Condvar::notify_one does not require it. When signalling outside the
mutex, the waker reads prev before a concurrent waiter stores it,
producing cur=prev+1 that matches the value the waiter waits on:
lost wakeup, permanent hang, std::thread::scope blocks forever.
Guidance flipped from PENDING-EVIDENCE to FIX-APPLIED in
PACKAGE-BUILD-QUIRKS.md with validation matrix. Evidence file
updated with root cause trace and operator verification steps.
Fix commit: submodule/relibc @ c5806663
ISO rebuilt: build/x86_64/redbear-mini.iso (2026-08-05)
Host tests: 24/24 PASS