ASYNC LAYER — outbox / jobs / DLQ

Side 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.

FOUNDATION_BLOCKED

Publication jobs are asynchronous (Prompt 17). This page is a typed stub with fail-closed controls.

No publication jobs loaded

Await backend job projections.