Two CI failures fixed:
1. PHPUnit constant-scoping bleed: test_p0_executor_path_sentinel_key_does_not_
leak defines PRV_OPENROUTER_API_KEY as a process-scoped PHP constant.
Running after CaptureWriter (alphabetically earlier), KeyStoreTest's
resolver tests saw the canary value instead of empty/option.
Fix: @runInSeparateProcess + @preserveGlobalState disabled so the
constant is confined to its own forked PHP process.
2. JS lint job failure: has_js: true caused the reusable CI's lint-js job
to attempt npm ci, but pr-vision has no package.json.
Fixed: has_js: false.
Agent-Session: claude/adopt-ci-20260616