# Notifications & Alerts — apply

    cp -R notifications/app/*       ./app/
    cp -R notifications/database/*  ./database/
    cp -R notifications/resources/* ./resources/
    cp -R notifications/tests/*     ./tests/

## Routes — merge notifications-web.php; remove 'notifications'/'alerts' stubs if any.
## Schedule — see docs/schedule.md (register EvaluateAlertsJob hourly).
## Sidebar — add "Alerts" and "Notifications" links (Bell icon).
## Migrate + build + test
    php artisan migrate --force
    php artisan test --filter=AlertEvaluation
    node node_modules/vite/bin/vite.js build

## How it works
- Users create alert rules on governed metrics (e.g. occupancy < 80%).
- EvaluateAlertsJob runs hourly, checks each org's rules against current values.
- When a rule trips, an in-app notification is created (+ optional email).
- Rules only see metrics the creator's org/permissions allow (goes through the
  governed query service, same as dashboards and AI).
