a7dfd5d502
readPaperclipRuntimeSkillEntries does real fs.stat I/O under fake timers, delaying execute()'s fake-timer registration by ~3200-4200ms of fake time when tests run in isolation (cold OS page cache). The previous approach tried vi.spyOn on an ESM module namespace export, which throws "Cannot redefine property" — a fundamental ESM constraint. Fix: remove the broken spy. Instead, each timer-heavy test now uses enough advanceTimersByTimeAsync calls to (a) give the event loop sufficient turns for the I/O to drain, and (b) cover the full fake-timer sequence even with the maximum observed I/O delay. Patterns chosen: reconnects (needs t+6000): 6 advances, ~12200ms total deadline exceeded (needs t+3000): 5 advances, ~8400ms total pod-creation wait (needs t+5000): 5 advances, ~9400ms total execute.ts line coverage: 82.57% (was ~24% before this task's test additions). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>