perf: build only the runner when the plugin tests run on their own

internal/test-plugins.sh builds its test runner with --tests over the whole
workspace, so that a verification whose native run just built every test binary
reuses them rather than resolving features a second way. CI no longer runs the
two together, so on the plugin runner that was a second build of all of them
for the sake of one bin. --runner-only drops it, and ./scripts/verify passes
that whenever the native test phase is not part of the same run.

Measured cold, the shared shape is 571 crates and 44 linked binaries against
246 and one, six and a half minutes against four.

The two resolutions differ by exactly one feature. A dev-dependency asks wgpu
for its noop backend, so the runner built the shared way carries five megabytes
of a backend it can never reach: an adapter from it is handed out only when
NoopBackendOptions says so, which defaults to off and which nothing here sets,
and the runner asks wgpu::Instance::default() for a real one. Both shapes run
all 184 plugin tests.

Which shape built the runner now decides whether a precompiled test module is
still good, the way common.sh already asks that of a plugin's own .cwasm
against the compiler that wrote it. An artifact wasmtime refuses is not an
error, it is every test process compiling the module again for itself, which is
minutes of a run that says nothing about why it got slow.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015KH6aAKUjaWJy7BEuXkcXr
3ea9dfb1d4Claude committed on 9/19/2026, 2:36:57 PM· committed by pfgparent4ab68b3
2 files changedLine totals unavailable