docs(phase-14): plan selective analysis and byte cache

This commit is contained in:
curo1305
2026-06-23 14:24:43 +02:00
parent 3514fdcf3a
commit b528b51881
13 changed files with 1117 additions and 16 deletions
@@ -0,0 +1,87 @@
---
phase: "14"
plan: "08"
type: execute
wave: 7
depends_on:
- "14-03"
- "14-07"
files_modified:
- frontend/src/views/SettingsView.vue
- frontend/src/components/settings/SettingsCloudTab.vue
- frontend/src/components/settings/__tests__/SettingsCloudTab.test.js
- frontend/src/components/settings/__tests__/SettingsCloudTab.health.test.js
- frontend/src/stores/cloudConnections.js
- frontend/src/api/cloud.js
- backend/tests/test_cloud_cache.py
autonomous: true
requirements:
- ANALYZE-04
- ANALYZE-05
- CACHE-04
---
<objective>
Expose Phase 14 user settings for cache limit, progress detail, and default failure behavior in Settings, backed by the cache/settings API and tier-bound validation.
Scope fence: do not change backend cache internals except fixing issues found by Settings integration tests.
</objective>
<context>
@.planning/phases/14-selective-analysis-and-byte-cache/14-CONTEXT.md
@frontend/src/views/SettingsView.vue
@frontend/src/components/settings/SettingsCloudTab.vue
@frontend/src/stores/cloudConnections.js
@backend/api/cloud/cache.py
</context>
<tasks>
<task type="auto">
<name>Task 1: Add Settings API/store wiring</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
- backend/api/cloud/cache.py
</read_first>
<action>
Add client/store methods to load and update cache/settings state. Store tier cap, current usage, preferred limit, progress detail mode, and default failure behavior. Handle validation errors without clearing existing settings.
</action>
<acceptance_criteria>
- Store keeps settings in memory and never browser-stores credentials.
- Invalid cache limit responses surface controlled messages.
- Updated progress/failure settings affect analysis queue label/control behavior.
</acceptance_criteria>
<verify><automated>cd frontend && npm run test -- cloudConnections.analysis.test.js</automated></verify>
</task>
<task type="auto">
<name>Task 2: Add Settings Cloud tab controls</name>
<files>frontend/src/components/settings/SettingsCloudTab.vue, frontend/src/components/settings/__tests__/SettingsCloudTab.test.js, frontend/src/components/settings/__tests__/SettingsCloudTab.health.test.js</files>
<read_first>
- frontend/src/components/settings/SettingsCloudTab.vue
- frontend/src/components/settings/__tests__/SettingsCloudTab.test.js
</read_first>
<action>
Add compact controls for cache limit up to tier maximum, simplified vs detailed analysis progress, and pause-batch vs continue-item failure behavior. Keep the existing connection health/test/reconnect UX intact. Use form controls appropriate to settings: slider/number for bytes, segmented/select controls for modes, and clear validation text.
</action>
<acceptance_criteria>
- Settings fit existing Cloud tab layout without nested cards.
- Existing health/reconnect tests still pass.
- Accessibility labels identify each control.
- No visible explanatory tutorial copy is added beyond concise labels and validation messages.
</acceptance_criteria>
<verify><automated>cd frontend && npm run test -- SettingsCloudTab.test.js SettingsCloudTab.health.test.js</automated></verify>
</task>
</tasks>
<verification>
1. `cd frontend && npm run test -- SettingsCloudTab.test.js SettingsCloudTab.health.test.js cloudConnections.analysis.test.js`
2. `cd backend && pytest -q tests/test_cloud_cache.py -k "settings"`
3. Render Settings at mobile and desktop widths if a dev server is available.
</verification>
<output>Create `.planning/phases/14-selective-analysis-and-byte-cache/14-08-SUMMARY.md` when complete.</output>