## Summary
- migrate passkey credentials to carry the stable upstream principal ID
- filter enrollment, sign-in, step-up, management, and revocation by that principal
- fail legacy unbound credentials closed and preserve other principals during sign-out-all
## Verification
- RED: store binding test failed on missing `principal_id`
- RED: cross-principal sign-in test failed because passkeys were global
- RED: scoped global revocation test failed on unsupported principal scope
- GREEN: `python3 -m pytest tests/ -q` — 2762 passed, 27 skipped
- `python3 -m pip_audit -r requirements.txt --strict` — no known vulnerabilities
- `git diff --check` and `compileall` passed
Closes #1448
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Verification
principal_idpython3 -m pytest tests/ -q— 2762 passed, 27 skippedpython3 -m pip_audit -r requirements.txt --strict— no known vulnerabilitiesgit diff --checkandcompileallpassedCloses #1448