## Overview `src/lib/audit/store.ts` stores audit entries in a module-level array capped at 5,000 entries with a FIFO eviction policy. High-activity production systems exceed this cap quickly, causing old audit records to be silently lost. This is a compliance risk — audit trails must be durable for regulatory purposes. ## Specifications Features: - Audit entries are written to a durable database table - In-memory store is a short-term write buffer only Tasks: - Create an `audit_log` database table with columns matching `AuditEntry` - Write audit entries to the database asynchronously using a queue - Keep a small in-memory buffer (50 entries) for recent-query performance - Expose a database-backed `queryAuditLog()` function for admin queries Impacted Files: - `src/lib/audit/store.ts` - `src/lib/db/` (new migration) ## Acceptance Criteria - Audit entries are persisted to the database within 5 seconds of creation - Entries are not lost on server restart - Admin audit queries return records older than the in-memory buffer