| # PR review guidance |
| |
| Guidance for agentic review of Selenium pull requests. |
| Review the changed behavior, not just the changed lines, and use surrounding context. |
| |
| ## Prioritize (potentially blocking) |
| - Correctness of WebDriver/BiDi wire behavior and capability/JSON parsing, including edge cases. |
| - Backward compatibility: users upgrade by changing only the version number — flag any public API or behavior break. |
| - Public functionality removed or changed without a deprecation and a pointer to the replacement. |
| - Test coverage — see Tests section below. |
| - Security: no committed secrets; untrusted input and capability/JSON parsing; Grid auth/authorization and routing. If a concern is speculative, state the assumption that makes it exploitable. |
| - Cross-binding parity: if user-visible behavior changes in one binding, confirm the others are updated or a follow-up is noted. |
| |
| ## Extra scrutiny |
| Give these high-risk areas extra attention even when the diff looks small: |
| WebDriver/BiDi semantics, capability parsing, wire-level behavior, Grid routing/distributor/queue, |
| dependency updates / `MODULE.bazel` / repin flows, and `javascript/atoms` (high blast radius). |
| |
| ## Do not comment on (reduce noise) |
| - Formatting and style — evaluated separately. |
| - Test results and CI status — evaluated separately. |
| - `third_party/` (read-only) — unless the change is unexpected. |
| - Documentation updates — Selenium's end-user docs live elsewhere. |
| |
| ## Tests |
| - Bug fixes should add a regression test if they would provide a meaningful signal of the correctness of future code changes. |
| - When suggesting a test, name the specific scenario and the failure it would catch, not "more tests" generically. |
| |
| ## Review comments |
| - Flag significant unrelated changes as out of scope if they confuse the intention of the PR. |
| - Make each comment actionable: the concrete risk, why it matters, and the smallest fix. Label severity, be concise, and don't leave duplicate comments for one root cause. |
| - If nothing meaningful is found, leave no findings — do not invent comments. |