perf(dev): add agent:preflight with a shared content-keyed build cache
Agent worktrees each built the Runner from nothing: a cold cargo debug and
release build, the Runner TypeScript build and its checks, about 8 minutes
per fresh worktree on a loaded machine.
`pnpm agent:preflight` replaces the manual install + Runner build sequence.
It skips steps whose inputs are unchanged and reuses other worktrees'
results from ~/.cache/paperclip/agent-build:
- Runner and eval-kernel dist, keyed by the Runner build-input digest and
the toolchain
- Runner debug binaries, keyed by every file the Rust build reads
- a cargo seed with third-party crates only; the Runner crate is scrubbed
because cargo records its out-of-package includes by absolute path
Entries are written once with an atomic rename and restored as APFS clones.
Also exclude provider-assets from the Runner build inputs. The build writes
that directory itself, so the first build in every fresh checkout saw its
inputs change and never recorded a build stamp.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>