Context
writeAheadAuditLog.ts implements prepare/commit/rollback semantics for admin configuration changes (Issue #707). Entries are stored in a process-local array capped at 10,000 records.
Problem / Gap
Write-ahead audit entries are lost on restart and are invisible to peer instances in multi-pod deployments. Operators cannot reconstruct partial config changes after a crash between prepare and commit.
Proposed approach
- Add a Prisma model for write-ahead audit entries with status, snapshots, and request ID.
- Replace the in-memory store with a repository that falls back to memory only in test mode.
- Expose existing admin list/rollback endpoints against persisted data.
- Add retention cleanup aligned with admin audit log policy.
Acceptance criteria
Files/areas affected
backend/src/writeAheadAuditLog.ts
backend/prisma/schema.prisma
backend/src/index.ts
Context
writeAheadAuditLog.tsimplements prepare/commit/rollback semantics for admin configuration changes (Issue #707). Entries are stored in a process-local array capped at 10,000 records.Problem / Gap
Write-ahead audit entries are lost on restart and are invisible to peer instances in multi-pod deployments. Operators cannot reconstruct partial config changes after a crash between
prepareandcommit.Proposed approach
Acceptance criteria
Files/areas affected
backend/src/writeAheadAuditLog.tsbackend/prisma/schema.prismabackend/src/index.ts