A state restoration path produces a user-visible duplicate after an interrupted session. The affected area is permission request.
Repair the permission request request stream implementation so it enforces a per-key sliding window and reports allowed and rejected requests.
Evidence
- Affected surface: Android / Kotlin / permission request.
- Observed failure family: apply a sliding rate window.
- Scope policy: retained must equal true.