docs(14.1): create phase plan — cloud/local file parity hardening

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
curo1305
2026-06-26 21:13:14 +02:00
co-authored by Claude Sonnet 4.6
parent 4873a22f9b
commit f50cce61cb
8 changed files with 1002 additions and 34 deletions
+47 -2
View File
@@ -1,7 +1,7 @@
# DocuVault Roadmap: v0.3 Reimagining Cloud Storage integration
**Status:** Proposed
**Phases:** 12-16
**Phases:** 12-16 plus inserted 12.1, 14.1, and 14.2
**Requirements:** 36
**Defined:** 2026-06-17
@@ -26,6 +26,8 @@ Before any phase is marked complete:
| 12 | 6/6 | Complete | 2026-06-21 |
| 13 | 11/11 | Complete | 2026-06-23 |
| 14 | 9/9 | Complete | 2026-06-23 |
| 14.1 | Cloud/Local File Parity Hardening | Make cloud open, view, download, analyze, and analyzed-file display match local-file behavior end to end | CLOUD-02, ANALYZE-01..07, CACHE-03..05 |
| 14.2 | Cross-Codebase Review and Cleanup | Cross-reference backend/frontend code, remove duplication and dead code, consolidate shared paths, and fix inefficiencies without behavior changes | Cross-cutting quality gates |
| 15 | Unified Smart Search | Search local and analyzed cloud documents by exact text or semantic ideas without downloading files during queries | SEARCH-01..07 |
| 16 | Change Tracking and Reliability | Detect external provider changes, mark stale indexes, remove deleted items, and harden refresh behavior | SYNC-02..04 |
@@ -134,11 +136,54 @@ Plans:
4. Cloud bytes are cached only for active opening, preview, or analysis work and are evicted by configurable limits without interrupting pinned active jobs.
5. Cache ownership, cache-key versioning, cancellation, duplicate-job, failure-retry, and eviction behavior have dedicated tests.
### Phase 14.1: Cloud/Local File Parity Hardening (INSERTED)
**Goal:** Cloud files opened, viewed, downloaded, analyzed, and displayed in results use the same user-facing behavior as local files, while preserving provider ownership, cache boundaries, authorization, and no-provider-mutation guarantees.
**Requirements:** CLOUD-02, ANALYZE-01, ANALYZE-02, ANALYZE-03, ANALYZE-04, ANALYZE-05, ANALYZE-06, ANALYZE-07, CACHE-03, CACHE-04, CACHE-05
**Depends on:** Phase 14
**Plans:** 5 plans
**Execution waves:** Wave 1: 14.1-01 (RED tests); Wave 2: 14.1-02 after 01 (backend detail/force/retry); Wave 3: 14.1-03 after 01-02 (shared detail surface + cloud route/view); Wave 4: 14.1-04 after 01-03 (browser row parity + cloud row navigation); Wave 5: 14.1-05 after 01-04 (gates, security, docs, version, commit).
Plans:
- [ ] 14.1-01-PLAN.md — RED backend + frontend parity tests (cloud detail endpoint, force re-analyze, single-item retry, route + row parity).
- [ ] 14.1-02-PLAN.md — Backend cloud detail endpoint (CloudItemDetailOut + resolve_owned_cloud_item_detail), force re-analyze flag, single-item retry-job creation.
- [ ] 14.1-03-PLAN.md — Shared DocumentDetailSurface extraction, DocumentView refactor (Re-analyze copy), CloudDetailView + cloud-file-detail route + getCloudItemDetail.
- [ ] 14.1-04-PLAN.md — Browse row topics/analysis_status/stale, StorageBrowser row parity via store translator, cloud row click → cloud detail route (no auto preview/download).
- [ ] 14.1-05-PLAN.md — Full test suites, security gate, dependency/secret audits, CLAUDE.md/README updates, version bump, atomic commit.
**Success Criteria:**
1. Cloud and local file rows/cards expose equivalent open, view, download, analyze, retry, and reanalyze states through `StorageBrowser.vue`.
2. Analyzed cloud files surface extracted text, topics, analysis status, stale/current state, and retry/reanalyze affordances wherever equivalent local file data appears.
3. Authorized cloud open, preview, and download never expose provider URLs or credentials and hydrate bytes only through the existing cache lifecycle.
4. Unsupported or provider-limited cloud actions use typed responses and shared UI states instead of creating local/cloud UX forks.
5. End-to-end parity tests cover local versus cloud workflows for open, preview/download fallback, analyze, status display, retry, and ownership negatives.
### Phase 14.2: Cross-Codebase Review and Cleanup (INSERTED)
**Goal:** Cross-reference the full codebase, remove duplicate logic, consolidate shared helpers/components/services, improve inefficient paths, delete dead code, and preserve behavior.
**Requirements:** Cross-cutting quality gates
**Depends on:** Phase 14.1
**Plans:** 0 plans
Plans:
- [ ] TBD (run /gsd-plan-phase 14.2 to break down)
**Success Criteria:**
1. Backend routers, services, providers, and tasks are audited for duplicated helper logic, raw inline orchestration, repeated parsing/formatting, and inefficient query/cache paths.
2. Frontend views, components, stores, and utilities are audited for duplicated browser logic, formatters, provider styling, tree behavior, and local/cloud branching.
3. Shared module maps and non-negotiable rules in `AGENTS.md` are updated for any newly centralized helpers or components.
4. Unused files, dead imports, stale tests, obsolete planning references, and unreachable code are removed in the same cleanup work.
5. Full backend, frontend, security, audit, dependency, secret-scan, and rendered UI gates pass after behavior-preserving cleanup.
### Phase 15: Unified Smart Search
**Goal:** One search experience finds local and analyzed cloud documents by keywords, sentences, or semantic ideas and opens cloud results through on-demand hydration.
**Depends on:** Phase 14
**Depends on:** Phase 14.2
**Requirements:** SEARCH-01, SEARCH-02, SEARCH-03, SEARCH-04, SEARCH-05, SEARCH-06, SEARCH-07
**Success Criteria:**