Follow-up to #3006:
- provider-conformance: build each harness to a temp binary and run that
instead of 'go run'. 'go run' launches the harness as a child it doesn't
kill on context cancellation, so a timed-out harness (which starts local
services) could be orphaned and outlive the run. Running the built binary
makes the per-run timeout actually terminate the work.
- contract test: skip under -short, and use 'go build ./...' instead of
'go test ./...' (the contract is that the generated service builds). This
keeps the default unit-test suite from shelling out to the toolchain and
the network on every run.
Claude-Session: https://claude.ai/code/session_01CmdEY7pYmV5zzwCjNJ4ykL
Co-authored-by: Claude <noreply@anthropic.com>