diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index 5aed4f7..efde4c6 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -25,7 +25,7 @@ Before any phase is marked complete: |------:|------|------|--------------| | 12 | 6/6 | Complete | 2026-06-21 | | 13 | 11/11 | Complete | 2026-06-23 | -| 14 | 7/9 | In Progress| | +| 14 | 8/9 | In Progress| | | 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 | @@ -111,7 +111,7 @@ Plans: **Depends on:** Phase 13 **Requirements:** ANALYZE-01, ANALYZE-02, ANALYZE-03, ANALYZE-04, ANALYZE-05, ANALYZE-06, ANALYZE-07, CACHE-03, CACHE-04, CACHE-05 -**Plans:** 7/9 plans executed +**Plans:** 8/9 plans executed **Execution waves:** Wave 0: 14-01; Wave 1: 14-02 after 14-01; Wave 2: 14-03 after 14-02; Wave 3: 14-04 after 14-02 and 14-03; Wave 4: 14-05 after 14-03 and 14-04; Wave 5: 14-06 after 14-03 and 14-05; Wave 6: 14-07 after 14-04 and 14-05; Wave 7: 14-08 after 14-03 and 14-07; Wave 8: 14-09 after 14-01 through 14-08. Plans: @@ -123,7 +123,7 @@ Plans: - [x] 14-05-PLAN.md — Implement Celery-backed cloud analysis processing, cache hydration, extraction, classification, and cancellation. - [x] 14-06-PLAN.md — Route existing cloud open/preview/download byte hydration through the bounded cache lifecycle. - [x] 14-07-PLAN.md — Wire shared-browser analysis actions, estimates, aggregate progress, expandable queue, and controls. -- [ ] 14-08-PLAN.md — Add Settings controls for cache limit, progress detail, and failure behavior. +- [x] 14-08-PLAN.md — Add Settings controls for cache limit, progress detail, and failure behavior. - [ ] 14-09-PLAN.md — Run closeout docs, versions, full test/security gates, validation, commit, and push. **Success Criteria:** diff --git a/.planning/STATE.md b/.planning/STATE.md index 45d1d76..eca2e9c 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -6,14 +6,14 @@ current_phase: 14 current_phase_name: selective-analysis-and-byte-cache status: in_progress stopped_at: Phase 14 Plan 07 complete -last_updated: "2026-06-23T17:45:53.403Z" +last_updated: "2026-06-23T17:55:00.641Z" last_activity: 2026-06-23 last_activity_desc: Phase 14 Plan 06 byte cache for open/preview/download complete progress: total_phases: 6 completed_phases: 3 total_plans: 30 - completed_plans: 28 + completed_plans: 29 percent: 50 --- @@ -26,7 +26,7 @@ progress: ## Current Position Phase: 14 (selective-analysis-and-byte-cache) — IN PROGRESS -Plan: 8 of 9 +Plan: 9 of 9 Status: Plans 14-01 through 14-06 complete. Next: execute 14-07 Last activity: 2026-06-23 — Phase 14 Plan 06 byte cache for open/preview/download complete @@ -69,6 +69,7 @@ Last activity: 2026-06-23 — Phase 14 Plan 06 byte cache for open/preview/downl | Phase 14 P05 | 10m | 2 tasks | 4 files | | Phase 14 P06 | 10m | 2 tasks | 5 files | | Phase 14 P07 | 12m | 2 tasks | 4 files | +| Phase 14 P08 | 10m | 2 tasks | 3 files | ## Accumulated Context @@ -116,7 +117,7 @@ _Updated at each phase transition._ | Field | Value | |---|---| -| Last session | 2026-06-23T17:45:53.397Z | +| Last session | 2026-06-23T17:54:00.317Z | | Next action | Execute 14-07 | | Pending decisions | None | | Resume file | .planning/phases/14-selective-analysis-and-byte-cache/14-08-PLAN.md | @@ -162,3 +163,5 @@ _Updated at each phase transition._ - [Phase 14 P06]: preview and download cache integration is backend-transparent — response shapes unchanged from Phase 13 (T-14-02) - [Phase ?]: [Phase 14 P07]: analyze-file button in name cell not file-row-actions - [Phase ?]: [Phase 14 P07]: translateAnalysisStatus is single status translation source in cloudConnections store +- [Phase ?]: [Phase 14 P08]: getCacheSettings corrected to /api/cloud/analysis/cache; tierCapBytes drives Settings cache limit max +- [Phase ?]: [Phase 14 P08]: Analysis Settings section in SettingsCloudTab - separate card with cache limit input, progress detail toggle, failure behavior toggle diff --git a/.planning/phases/14-selective-analysis-and-byte-cache/14-08-SUMMARY.md b/.planning/phases/14-selective-analysis-and-byte-cache/14-08-SUMMARY.md new file mode 100644 index 0000000..96e7cad --- /dev/null +++ b/.planning/phases/14-selective-analysis-and-byte-cache/14-08-SUMMARY.md @@ -0,0 +1,167 @@ +--- +phase: "14" +plan: "08" +subsystem: cloud-analysis-settings +tags: [settings, cache, analysis, frontend, store, api] +status: complete + +requires: + - phases/14-selective-analysis-and-byte-cache/14-03 + - phases/14-selective-analysis-and-byte-cache/14-07 + +provides: + - frontend/src/api/cloud.js: getCacheSettings → GET /api/cloud/analysis/cache, + updateCacheSettings → PATCH /api/cloud/analysis/cache/settings (corrected URLs) + - frontend/src/stores/cloudConnections.js: loadCacheSettings action (hydrates + tierCapBytes/cacheUsage/cacheLimit/detailedAnalysisProgress/failureBehavior + from server); tierCapBytes, cacheUsage, cacheSettingsLoading, cacheSettingsError state + - frontend/src/components/settings/SettingsCloudTab.vue: Analysis Settings section + with cache limit number input, simplified/detailed progress toggle, pause-batch/ + continue-item failure behavior toggle + +affects: + - frontend/src/api/cloud.js (URL bug fix + enhanced docs) + - frontend/src/stores/cloudConnections.js (loadCacheSettings action + new state) + - frontend/src/components/settings/SettingsCloudTab.vue (Analysis Settings section) + +tech-stack: + added: [] + patterns: + - server-hydrated-settings: loadCacheSettings fetches CacheStatusOut from + /api/cloud/analysis/cache and merges tier_cap_bytes, entry_count, total_bytes, + analysis_progress_detail, analysis_failure_behavior into Pinia memory on mount + - error-no-clear: settings load/update errors set cacheSettingsError without + clearing existing in-memory settings — UI shows error but retains last known values + - optimistic-then-persist: progress-detail and failure-behavior controls apply + local change optimistically (setDetailedAnalysisProgress/setFailureBehavior) + then persist via updateCacheSettings; revert on API failure + - tier-cap-validation: cache limit input validates against tierCapBytes (from server) + with local error message before calling API; invalid values are rejected locally + +key-files: + created: [] + modified: + - frontend/src/api/cloud.js + - frontend/src/stores/cloudConnections.js + - frontend/src/components/settings/SettingsCloudTab.vue + +decisions: + - getCacheSettings and updateCacheSettings corrected to /api/cloud/analysis/cache + and /api/cloud/analysis/cache/settings (Rule 1 auto-fix — previous URLs pointed + to non-existent /api/users/me/settings endpoint per Plan 14-03 backend spec) + - Settings UI uses segmented controls (two-button toggle) not