act_runner v0.3.1 occasionally cleans the action checkout dir between
the main and post step; v4.0.4's post step then errors on the missing
.gitignore ("remove ... .gitignore: no such file") and fails the job.
Floating to v4 picks up the more defensive cleanup in v4.1+.
On the self-hosted QNAP runner, restoring the pnpm store from actions/cache
produces ~260 "Cannot change mode to rwxr-xr-x: Bad address" tar errors,
leaving the store partially extracted. pnpm install still reports success but
produces broken symlinks (e.g. @vitest/coverage-v8 missing at runtime), which
crashes the engine test suite with ERR_LOAD_URL.
QNAP runner disk persists across runs anyway; the cache layer only adds risk.
act_runner sometimes checks out moving tag @v4 without the built dist/
output, breaking all jobs with MODULE_NOT_FOUND on setup/index.js.
Pinning to a tagged release avoids the incomplete checkout.
Allocation bars that have active optimistic overrides (post-drag,
awaiting server confirmation) now pulse subtly via animate-pulse.
The pending set is derived from the existing optimisticAllocations
map keys, requiring no additional state.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>