Introduce dedicated *Record POCOs (ReservationRecord, UserRecord,
WorkplaceRecord) as EF Core targets, keeping domain entities free of
persistence concerns. Static mapper classes handle conversion between
layers, and repositories track (domain, record) pairs to sync mutations
back before saving. Domain entities gain Reconstitute() factory methods
to bypass validation when rehydrating from storage.
Also fixes GetByEmployeeAsync to exclude past reservations (Date >= today).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add BuildKit cache mounts for NuGet and npm to persist package
caches across builds
- Skip redundant restore on dotnet publish with --no-restore
- Add --prefer-offline to npm ci to prefer cached tarballs
- Tag images as randall/backend:latest and randall/frontend:latest
via compose image: key
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>