is_sdpa_params historically receives the SDPAParams class object and compares it by identity. Express that contract as TypeIs[type[SDPAParams]] instead of claiming the value is an SDPAParams instance.
Test Plan:
```
pyrefly check --output-format min-text --progress-bar no --summary=full torch/_dynamo/variables/sdpa.py
```
```
python -m py_compile torch/_dynamo/variables/sdpa.py
```
```
UV_NO_CONFIG=1 UV_NATIVE_TLS=true lintrunner -a torch/_dynamo/variables/sdpa.py
```
The focused checks pass; the lintrunner Pyrefly wrapper could not fetch spmd-types because the proxy requires authorization.
Authored with assistance from an AI coding assistant.