fix(security): close the two actionable code-scanning alerts
CodeQL #101 (high, js/insecure-temporary-file) — the SF Symbols.app install manifest staged at `<cacheRoot>/.manifest.<pid>.<now>.tmp`. The `wx` flag closed the write race but not the *prediction*: the path is derivable, so anyone able to write into cacheRoot can pre-place a symlink and have the manifest land elsewhere. Stage inside a `mkdtemp` directory instead — kernel-random name, mode 0700 — so neither the file nor its parent is guessable, matching the staging pattern already used for the Swift workers. Cleanup moved to `finally` so a failed rename can't leak the staging dir. CodeQL #98 (note, js/unused-local-variable) — `tmpdir` was imported in scripts/_verify-setups.mjs but only ever named in a comment. Dropped. Neither knip nor biome caught it: knip works at file/export/dependency granularity and biome runs at --diagnostic-level=error.
G
Gigi committed
c1da79aca7c1c76bbac14a29524f8e3e485d889d
Parent: f413d43