FA-35153 / Notification interfaces / Member archive
Sensitive notification preview redaction: reveal-click from redacted · case 03
The reveal-click event leaves a notification in revealed instead of reveal-pending.
Case contract
Sensitive notification preview redaction is a bounded visual-notification workflow with mutable policy state {'secret': 'message', 'rendered': 'message', 'revision': 1, 'approved': 0, 'locked': False}. Its default transition relation is {('revealed', 'screen-locked'): 'redacting', ('redacting', 'redaction-applied'): 'redacted', ('redacted', 'reveal-click'): 'reveal-pending', ('reveal-pending', 'confirmation-accepted'): 'revealed', ('reveal-pending', 'confirmation-denied'): 'redacted', ('revealed', 'sensitive-update'): 'redacting-update', ('redacting-update', 'redaction-applied'): 'redacted-updated', ('redacted-updated', 'reveal-click'): 'updated-reveal-pending', ('updated-reveal-pending', 'confirmation-accepted'): 'revealed-updated', ('reveal-pending', 'screen-locked'): 'redacted'}; domain inputs can suppress or redirect transitions and update policy fields, as specified in solve. Different-generation events are inert. Batches apply in order. Optional observe returns the selected policy field alongside the phase.
Why this case matters
Visual notification lifecycle ordering can leave an inbox or toast showing the wrong actionable state even when transport succeeds.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| redacted / reveal-click | "revealed" | "reveal-pending" | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗