# Polling Contract — Calm UI Rules ## Principle Polling is allowed only when it materially improves UX (active operations). It must be DB-only and must stop when no longer needed. ## Dashboard - Polling is enabled only while active runs exist (queued/running) for the current tenant. - Polling is disabled when: - No active runs exist. ## Operations index - Polling is enabled only while active runs exist. - Polling is disabled when: - No active runs exist. ## Modals - No polling inside modals. - When a modal is open, polling should not cause churn in the background. ## Technical approach - Widgets: use `$pollingInterval = null` to disable polling. - Tables: apply `$table->poll('10s')` only when active runs exist.