ASYNC LAYER — outbox / jobs / DLQSide effects run via transactional outbox, Cloud Tasks and Pub/Sub. UI shows queued/processing/retry from owner-scoped job documents — never poll faster than 5s or list unbounded. FCM/notifications are informational and cannot change business state. Missing queues stay ENVIRONMENT_BLOCKED.