docs(phase-14): plan selective analysis and byte cache
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
---
|
||||
phase: "14"
|
||||
plan: "07"
|
||||
type: execute
|
||||
wave: 6
|
||||
depends_on:
|
||||
- "14-04"
|
||||
- "14-05"
|
||||
files_modified:
|
||||
- frontend/src/api/cloud.js
|
||||
- frontend/src/stores/cloudConnections.js
|
||||
- frontend/src/views/CloudFolderView.vue
|
||||
- frontend/src/components/storage/StorageBrowser.vue
|
||||
- frontend/src/components/storage/__tests__/StorageBrowser.analysis-queue.test.js
|
||||
- frontend/src/stores/__tests__/cloudConnections.analysis.test.js
|
||||
- frontend/src/views/__tests__/CloudFolderRenderedFlow.test.js
|
||||
autonomous: true
|
||||
requirements:
|
||||
- ANALYZE-01
|
||||
- ANALYZE-02
|
||||
- ANALYZE-03
|
||||
- ANALYZE-04
|
||||
- ANALYZE-05
|
||||
- ANALYZE-06
|
||||
---
|
||||
|
||||
<objective>
|
||||
Implement the shared-browser Phase 14 analysis experience: row action, toolbar actions, estimate dialog, aggregate progress, expandable queue, and per-item/batch controls using the backend analysis API.
|
||||
|
||||
Scope fence: do not build Settings controls in this plan beyond consuming already-returned settings values.
|
||||
</objective>
|
||||
|
||||
<context>
|
||||
@.planning/phases/14-selective-analysis-and-byte-cache/14-CONTEXT.md
|
||||
@.planning/phases/14-selective-analysis-and-byte-cache/14-PATTERNS.md
|
||||
@frontend/src/components/storage/StorageBrowser.vue
|
||||
@frontend/src/views/CloudFolderView.vue
|
||||
@frontend/src/stores/cloudConnections.js
|
||||
@frontend/src/api/cloud.js
|
||||
</context>
|
||||
|
||||
<tasks>
|
||||
|
||||
<task type="auto">
|
||||
<name>Task 1: Add API/store analysis queue surface</name>
|
||||
<files>frontend/src/api/cloud.js, frontend/src/stores/cloudConnections.js, frontend/src/stores/__tests__/cloudConnections.analysis.test.js</files>
|
||||
<read_first>
|
||||
- frontend/src/api/cloud.js
|
||||
- frontend/src/stores/cloudConnections.js
|
||||
- frontend/src/stores/__tests__/cloudConnections.test.js
|
||||
</read_first>
|
||||
<action>
|
||||
Add API helpers for estimate, start, list/status, cancel batch, cancel item, skip item, and retry item. Extend the store with analysis jobs, aggregate queue state, status label mapping, simplified/detailed progress mode, and failure behavior. Keep tokens in Pinia memory only and never persist queue credentials or provider refs outside route/session semantics already allowed.
|
||||
</action>
|
||||
<acceptance_criteria>
|
||||
- Store translates backend statuses in one place.
|
||||
- API helpers use connection UUID and opaque provider item ids.
|
||||
- Tests cover current/already-indexed, failed, cancelled, retry, and aggregate states.
|
||||
</acceptance_criteria>
|
||||
<verify><automated>cd frontend && npm run test -- cloudConnections.analysis.test.js</automated></verify>
|
||||
</task>
|
||||
|
||||
<task type="auto">
|
||||
<name>Task 2: Extend StorageBrowser and CloudFolderView</name>
|
||||
<files>frontend/src/components/storage/StorageBrowser.vue, frontend/src/views/CloudFolderView.vue, frontend/src/components/storage/__tests__/StorageBrowser.analysis-queue.test.js, frontend/src/views/__tests__/CloudFolderRenderedFlow.test.js</files>
|
||||
<read_first>
|
||||
- frontend/src/components/storage/StorageBrowser.vue
|
||||
- frontend/src/views/CloudFolderView.vue
|
||||
- frontend/src/components/storage/__tests__/StorageBrowser.cloud-queue.test.js
|
||||
- frontend/src/views/__tests__/CloudFolderRenderedFlow.test.js
|
||||
</read_first>
|
||||
<action>
|
||||
Add file-row analyze action, toolbar actions for selected items/current folder/current connection, folder current-only vs recursive prompt, estimate review dialog, aggregate analysis progress, expandable item queue, retry/skip/cancel controls, and cancel-all. `StorageBrowser` emits actions; `CloudFolderView` handles API/store calls and refresh behavior. Use icons/tooltips consistent with existing AppIcon patterns and keep text compact enough for mobile.
|
||||
</action>
|
||||
<acceptance_criteria>
|
||||
- No parallel file grid or cloud-only browser component is introduced.
|
||||
- Individual file, multi-select, folder, and connection analysis can be initiated.
|
||||
- Whole connection and thresholded large scopes show estimate before start.
|
||||
- Aggregate and per-item statuses render with accessible controls.
|
||||
</acceptance_criteria>
|
||||
<verify><automated>cd frontend && npm run test -- StorageBrowser.analysis-queue.test.js CloudFolderRenderedFlow.test.js</automated></verify>
|
||||
</task>
|
||||
|
||||
</tasks>
|
||||
|
||||
<verification>
|
||||
1. `cd frontend && npm run test -- StorageBrowser.analysis-queue.test.js cloudConnections.analysis.test.js CloudFolderRenderedFlow.test.js`
|
||||
2. `rg "analysis" frontend/src/components/storage frontend/src/views/CloudFolderView.vue frontend/src/stores/cloudConnections.js`
|
||||
3. Rendered smoke check in browser if the dev server is available.
|
||||
</verification>
|
||||
|
||||
<output>Create `.planning/phases/14-selective-analysis-and-byte-cache/14-07-SUMMARY.md` when complete.</output>
|
||||
|
||||
Reference in New Issue
Block a user