docs: define milestone v0.3 requirements
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
# Requirements: DocuVault v0.3
|
||||
|
||||
**Defined:** 2026-06-17
|
||||
**Core Value:** Every user's documents — and the credentials they use to store them — are inaccessible to everyone except that user, while the platform scales horizontally and supports pluggable storage backends.
|
||||
|
||||
## v0.3 Requirements
|
||||
|
||||
### Connections
|
||||
|
||||
- [ ] **CONN-01**: User can connect, reconnect, test, and disconnect each supported cloud provider.
|
||||
- [ ] **CONN-02**: User can see connection health and actionable errors for expired, revoked, or invalid credentials.
|
||||
- [ ] **CONN-03**: Reconnecting or refreshing credentials invalidates stale provider caches without exposing credentials.
|
||||
- [ ] **CONN-04**: User interface reflects the file operations supported by each connected provider.
|
||||
|
||||
### Cloud File Management
|
||||
|
||||
- [ ] **CLOUD-01**: User can browse connected cloud files and folders through the shared `StorageBrowser`.
|
||||
- [ ] **CLOUD-02**: User can open and preview supported cloud documents through DocuVault authorization.
|
||||
- [ ] **CLOUD-03**: User can upload files into the currently viewed cloud folder.
|
||||
- [ ] **CLOUD-04**: User can create folders in connected cloud storage where the provider supports it.
|
||||
- [ ] **CLOUD-05**: User can rename cloud files and folders where the provider supports it.
|
||||
- [ ] **CLOUD-06**: User can move files and folders within the same cloud connection where the provider supports it.
|
||||
- [ ] **CLOUD-07**: User can delete cloud files and folders after explicit confirmation.
|
||||
- [ ] **CLOUD-08**: User sees unsupported cloud actions disabled with a provider-specific explanation.
|
||||
- [ ] **CLOUD-09**: Successful cloud mutations update navigation promptly and produce metadata-only audit events.
|
||||
|
||||
### Cloud Analysis
|
||||
|
||||
- [ ] **ANALYZE-01**: User can request analysis of an individual cloud document.
|
||||
- [ ] **ANALYZE-02**: User can request analysis of selected cloud files or folders.
|
||||
- [ ] **ANALYZE-03**: User can request analysis of an entire cloud connection after reviewing a file-count and byte-size estimate.
|
||||
- [ ] **ANALYZE-04**: User can monitor aggregate and per-item analysis progress through queued, downloading, extracting, classifying, indexed, and failed states.
|
||||
- [ ] **ANALYZE-05**: User can cancel queued analysis work and retry failed cloud documents.
|
||||
- [ ] **ANALYZE-06**: DocuVault does not repeat analysis when the provider item version or etag has not changed.
|
||||
- [ ] **ANALYZE-07**: Analyzing a cloud document never moves, renames, or rewrites the provider-owned file.
|
||||
|
||||
### Smart Search
|
||||
|
||||
- [ ] **SEARCH-01**: User can search local documents and analyzed cloud documents through one search experience.
|
||||
- [ ] **SEARCH-02**: User can find documents using keywords or sentences matched against extracted text.
|
||||
- [ ] **SEARCH-03**: User can find documents using semantic concepts or ideas rather than exact wording.
|
||||
- [ ] **SEARCH-04**: Search results identify local/cloud source, provider, location, topics, and analysis status.
|
||||
- [ ] **SEARCH-05**: User can filter search results by source, provider, folder, topic, and analysis status.
|
||||
- [ ] **SEARCH-06**: Opening a cloud search result hydrates provider bytes only when preview or download requires them.
|
||||
- [ ] **SEARCH-07**: Executing a search query never downloads cloud file bytes.
|
||||
|
||||
### Cache and Storage Minimization
|
||||
|
||||
- [ ] **CACHE-01**: Provider-owned file bytes remain the source of truth unless the user explicitly imports a file into local DocuVault storage.
|
||||
- [ ] **CACHE-02**: DocuVault persists cloud metadata, extracted text, topics, and semantic search data independently of cached file bytes.
|
||||
- [ ] **CACHE-03**: DocuVault caches cloud file bytes only when required for opening, preview, or analysis.
|
||||
- [ ] **CACHE-04**: Configurable cache limits and safe eviction minimize local storage use without interrupting active work.
|
||||
- [ ] **CACHE-05**: Cached cloud content is isolated by user and connection and is never served without an ownership check.
|
||||
|
||||
### Change Tracking
|
||||
|
||||
- [ ] **SYNC-01**: DocuVault records provider item identifiers, parent/location, version or etag, size, and modification time for indexed cloud items.
|
||||
- [ ] **SYNC-02**: DocuVault marks analyzed cloud items stale when their provider version changes.
|
||||
- [ ] **SYNC-03**: Files deleted outside DocuVault are removed from cloud navigation and excluded from search results after refresh.
|
||||
- [ ] **SYNC-04**: Provider refresh jobs are idempotent and retry transient failures with bounded exponential backoff.
|
||||
|
||||
## Future Requirements
|
||||
|
||||
### Extended Cloud Mobility
|
||||
|
||||
- **XFER-01**: User can copy or move files between different cloud providers.
|
||||
- **IMPORT-01**: User can permanently pin or import a cloud file into DocuVault-owned local storage.
|
||||
- **OFFLINE-01**: User can mark folders for persistent offline availability.
|
||||
|
||||
### Sync Clients
|
||||
|
||||
- **CLIENT-01**: User can install a native desktop client for operating-system file integration.
|
||||
- **CLIENT-02**: Native clients can synchronize selected DocuVault and cloud folders.
|
||||
|
||||
## Out of Scope
|
||||
|
||||
| Feature | Reason |
|
||||
|---------|--------|
|
||||
| Cross-provider move/copy | Requires transfer orchestration and conflict semantics beyond the virtual-local single-provider milestone |
|
||||
| Native desktop sync client | v0.3 remains a responsive web application |
|
||||
| Whole-drive offline mirror | Conflicts with the milestone's local-storage minimization goal |
|
||||
| Real-time collaborative editing | Document management and discovery are the current focus |
|
||||
| Automatic whole-cloud analysis without consent | Could create unexpected AI cost, provider load, and privacy impact |
|
||||
| Permanent local pinning/import | Temporary bounded caching is sufficient for v0.3; explicit import remains future scope |
|
||||
| Public unauthenticated links | Existing v0.x privacy boundary remains unchanged |
|
||||
|
||||
## Traceability
|
||||
|
||||
Populated during roadmap creation. Every v0.3 requirement must map to exactly one phase.
|
||||
|
||||
| Requirement | Phase | Status |
|
||||
|-------------|-------|--------|
|
||||
|
||||
**Coverage:**
|
||||
- v0.3 requirements: 36 total
|
||||
- Mapped to phases: 0
|
||||
- Unmapped: 36
|
||||
|
||||
---
|
||||
*Requirements defined: 2026-06-17*
|
||||
*Last updated: 2026-06-17 after milestone requirements approval*
|
||||
Reference in New Issue
Block a user