From Hermes' agent/default/soft-delete-audit branch:
- Add migration 004_audit_logging.sql (audit_logs table, trigger function,
triggers on loads/shippers/vehicles/payments/portal_users,
set_audit_user() helper function)
- Improved: uses IF NOT EXISTS, AFTER triggers, user session context var,
distinguishes SOFT_DELETE vs HARD_DELETE, notes field
New:
- GET /audit-logs (admin-only, filterable by table/action, paginated)
- GET /audit-logs/:id (detail view with before/after JSON)
- Audit Logs link in sidebar
Keeps all existing OWL code: CI/CD, Pino, Prometheus, tests, cache-busting,
debounced search, ESLint, Prettier