Bug fixes:
- tags field was missing from INSERT/UPDATE SQL — tags never persisted
- is_public: `0 !== false` is true in JS, so private resources (is_public=0)
were silently flipped to public on every edit; fixed with explicit 0/false check
Global setting inheritance:
- One-time DB migration nulls out check_interval and timeout on all existing
resources so they inherit from global monitoring settings going forward
- Scheduler reads global check_interval and timeout from DB each cycle and
uses them as the fallback when per-resource values are null
- Create and edit modals: empty field = use global; placeholder shows the
current global value so it's clear what will be used
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>