2.4 KiB
2.4 KiB
v0.3 Research Summary
Milestone: v0.3 Reimagining Cloud Storage integration Date: 2026-06-17
Stack Additions
- Keep the current stack and add a provider capability/action layer rather than replacing storage.
- Add PostgreSQL-backed cloud item metadata and analysis/index state.
- Add a bounded byte-cache/offload service for preview/extraction/open flows.
- Use Celery for cloud analysis, cache hydration, retries, and provider refresh jobs.
- Use PostgreSQL full-text search for keyword/sentence search; consider
pgvectorfor idea/semantic search without a separate vector DB.
Feature Table Stakes
- Cloud files behave locally for open/preview/upload/move/delete/rename/create-folder where provider capabilities allow.
- Users can analyze selected files, folders, or whole connections.
- Analyzed cloud documents become classified and smart-searchable alongside local documents.
- Search never downloads bytes at query time; it reads persisted extracted/indexed data.
- DocuVault minimizes local storage by caching bytes only when needed and evicting them safely.
Architecture Direction
- Keep provider-owned cloud bytes as source of truth.
- Store metadata, text, topics, embeddings, and statuses in DocuVault.
- Separate local/imported
documentsfrom cloud item index records unless a later phase intentionally unifies them. - Extend
StorageBrowser.vuewith capability-aware actions instead of creating a second file manager. - Split
backend/api/cloud.pyas behavior grows.
Watch Out For
- Do not accidentally build a full cloud mirror.
- Treat destructive cloud actions as real provider mutations.
- Model provider capability differences explicitly.
- Track etags/versions so analyzed search data can become stale instead of silently wrong.
- Add preflight estimates and confirmation before large "analyze all" jobs.
- Preserve SSRF, credential encryption, ownership checks, and admin privacy boundaries.
Key Sources
- Microsoft Graph
driveItem: https://learn.microsoft.com/en-us/graph/api/resources/driveitem?view=graph-rest-1.0 - Google Drive uploads: https://developers.google.com/workspace/drive/api/guides/manage-uploads
- Nextcloud WebDAV operations: https://docs.nextcloud.com/server/latest/developer_manual/client_apis/WebDAV/basic.html
- Celery task retries: https://docs.celeryq.dev/en/stable/userguide/tasks.html
- Redis cache eviction: https://redis.io/docs/latest/develop/reference/eviction/
- pgvector: https://github.com/pgvector/pgvector