Write apps/backend/docs/concepts-local-object-store.md for lib/localObjectStore.ts and the localStorage route: the filesystem-backed implementation of ObjectStoreLike used in development and test so presigned upload/download URLs actually work without MinIO.
Acceptance criteria:
- Documents the
ObjectStoreLike surface both implementations satisfy, including headObject used by upload-confirm verification
- Explains where bytes land on disk, the signed local URL format, and how the serving route validates expiry and signature
- Documents the production/development selection and confirms no call-site changes between them
- States that this keeps the test suite free of Docker, consistent with the project's no-external-services rule
Write
apps/backend/docs/concepts-local-object-store.mdforlib/localObjectStore.tsand thelocalStorageroute: the filesystem-backed implementation ofObjectStoreLikeused in development and test so presigned upload/download URLs actually work without MinIO.Acceptance criteria:
ObjectStoreLikesurface both implementations satisfy, includingheadObjectused by upload-confirm verification