- Remove local xcframework seeding on cache miss — the local build
output isn't tied to the current submodule SHA and can produce
ABI mismatches. Always run zig build when cache misses.
- Add 300s timeout on lock acquisition. If a prior setup was killed
uncleanly (SIGKILL, host crash), the lock dir persists forever
and blocks all future runs. Now auto-removes stale locks.