Local protocol simulator / zero network traffic

Permission is one state.

Try the consent, subscription, expiry, quiet-hours and duplicate-send paths. The in-app inbox retains the work even when a push pointer cannot be sent.

Evidence boundary: This page never requests browser permission, creates a PushSubscription, contacts a push service, or proves display. Every result is a simulated state transition.

Choose a fixture

Current contract

Topic choice
Permission
Endpoint
Inbox items
Push evidence

Transition ledger

“Accepted by push service” is not “displayed.” The display and open rows below are simulated separate observations.

MinuteEventEvidence

A real implementation also needs authenticated server routing, endpoint protection, service-worker payload validation, device/browser tests, and an actual inbox.