Action log for every route toggle — who did what, when, old→new state.
Storage is swappable via AuditLog.Store. Currently CubDB-backed.
Same pattern as RoutePolicies.Store — will support PostgreSQL later.
Usage
AuditLog.append("admin", "toggle", "get|/api/users", true, false)
AuditLog.list(offset: 0, limit: 10)
Summary
Functions
Append a log entry. Returns :ok.
Total number of audit entries.
List entries with pagination. Returns {entries, total_count}.