Overview
Track every WorkEntry mutation (create, update, delete) and surface the full history per day in a sidebar overlay on the worksheet page. History persists even after entries are deleted.
Design
- Capture: EF Core
ISaveChangesInterceptor — records audit in same transaction as mutation
- Storage: Separate
AuditLog table, no FK to WorkEntry (survives deletion)
- Actor:
PerformedBy = JWT name claim stored at write time
- UI: History icon button on every day row → overlay sidebar with accordion timeline
See design handover and ADR in documents/work-entry-audit-log/.
Implementation plan
#2 (entity + migration)
├── #3 (interceptor)
└── #4 (endpoint) ──── #5 (TS contracts + hook) ─── #6 (sidebar) ── #7 (wiring)
Acceptance criteria
Overview
Track every
WorkEntrymutation (create, update, delete) and surface the full history per day in a sidebar overlay on the worksheet page. History persists even after entries are deleted.Design
ISaveChangesInterceptor— records audit in same transaction as mutationAuditLogtable, no FK toWorkEntry(survives deletion)PerformedBy= JWTnameclaim stored at write timeSee design handover and ADR in
documents/work-entry-audit-log/.Implementation plan
Acceptance criteria