Files
kite/.planning/phases/13-virtual-local-cloud-operations/13-10-PLAN.md
T
curo1305andClaude Sonnet 4.6 b67e77dd69 docs(13): add phase 13 planning artifacts — virtual local cloud operations
Plans 01–11, CONTEXT, PATTERNS, RESEARCH, REVIEW-FIX, and updated
SUMMARY and CONTEXT for the virtual-local-cloud-operations phase.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 20:34:57 +02:00

9.3 KiB
Raw Blame History

phase, plan, type, wave, depends_on, files_modified, autonomous, requirements, must_haves
phase plan type wave depends_on files_modified autonomous requirements must_haves
13 10 execute 7
13-02
13-04
13-07
13-09
frontend/src/stores/cloudConnections.js
frontend/src/views/CloudFolderView.vue
frontend/src/components/storage/StorageBrowser.vue
frontend/src/components/settings/SettingsCloudTab.vue
frontend/src/components/cloud/CloudCredentialModal.vue
frontend/src/components/settings/__tests__/SettingsCloudTab.health.test.js
frontend/src/views/__tests__/CloudFolderRenderedFlow.test.js
frontend/src/stores/__tests__/cloudConnections.test.js
frontend/src/views/__tests__/CloudFolderView.test.js
true
CONN-01
CONN-02
CONN-03
CLOUD-04
CLOUD-05
CLOUD-06
CLOUD-07
CLOUD-09
truths artifacts key_links
Connection health is visible near the browser and in Settings from one shared store mapping.
Post-connect, post-reconnect, and credential-failure flows re-evaluate health automatically, while ordinary navigation never probes health.
The shared browser surfaces cloud create, rename, move, and delete results without introducing a second browser or folder picker.
path provides
frontend/src/stores/cloudConnections.js Server health mapping, reconnect refresh coordination, and no-probe-on-navigation behavior.
path provides
frontend/src/components/settings/SettingsCloudTab.vue Test/Reconnect/Disconnect controls and broader Google Drive consent copy.
from to via pattern
reconnect and credential-failure responses browser-adjacent and Settings health state cloudConnections store health
Finish the frontend side of Phase 13 by wiring shared-browser folder mutations, actionable health UX, broader Drive consent copy, automatic post-failure health rechecks, and the explicit no-probe-on-navigation rule.

Purpose: Close the loop between the completed backend contracts and the two frontend surfaces users rely on. Output: Passing health, rendered-flow, store, and mutation UX suites.

<execution_context> @$HOME/.codex/gsd-core/workflows/execute-plan.md @$HOME/.codex/gsd-core/templates/summary.md </execution_context>

@AGENTS.md @.planning/phases/13-virtual-local-cloud-operations/13-CONTEXT.md @.planning/phases/13-virtual-local-cloud-operations/13-PATTERNS.md @frontend/src/stores/cloudConnections.js @frontend/src/views/CloudFolderView.vue @frontend/src/components/storage/StorageBrowser.vue @frontend/src/components/settings/SettingsCloudTab.vue @frontend/src/components/cloud/CloudCredentialModal.vue

Artifacts this phase produces

  • Shared browser support for cloud create, rename, move, and delete UX.
  • Store-backed browser and Settings health presentation with auto-test and no-probe behavior.
  • Explicit broader Google Drive consent or reconnect copy in the cloud credential and settings surfaces.

Pattern analogs

  • frontend/src/stores/__tests__/cloudConnections.test.js — centralized state mapping pattern.
  • frontend/src/views/__tests__/CloudFolderRenderedFlow.test.js — rendered browser-health flow pattern.
  • frontend/src/components/settings/__tests__/SettingsCloudTab.health.test.js — Settings control and copy assertions.
Task 1: Implement store-backed health and reconnect UX with explicit no-probe-on-navigation behavior frontend/src/stores/cloudConnections.js, frontend/src/views/CloudFolderView.vue, frontend/src/components/settings/SettingsCloudTab.vue, frontend/src/components/cloud/CloudCredentialModal.vue, frontend/src/components/settings/__tests__/SettingsCloudTab.health.test.js, frontend/src/stores/__tests__/cloudConnections.test.js, frontend/src/views/__tests__/CloudFolderView.test.js - frontend/src/stores/cloudConnections.js - frontend/src/components/settings/SettingsCloudTab.vue - frontend/src/components/cloud/CloudCredentialModal.vue - frontend/src/stores/__tests__/cloudConnections.test.js - .planning/phases/13-virtual-local-cloud-operations/13-CONTEXT.md - Test 1: browser-adjacent and Settings health views derive from one store mapping - Test 2: connect, reconnect, and credential-failure flows auto-test health, but ordinary folder navigation never triggers a probe - Test 3: broader Google Drive access is explicit in consent or reconnect copy Extend the cloud connection store and thin view handlers so server health states are mapped once and rendered in both the cloud browser context and Settings. Trigger automatic health re-evaluation after connect, reconnect, and credential-related failures, keep cached metadata visible while warning or reauth states are shown, and explicitly prevent ordinary folder navigation from performing a provider health probe. Update the credential and Settings surfaces so Google Drives broader Phase 13 access request is visible in user-facing copy rather than hidden in backend-only behavior. - health and store suites pass with explicit no-probe-on-navigation coverage - browser and Settings show actionable, consistent health state from the same store mapping - broader Drive access copy is visible wherever users connect or reconnect that provider cd frontend && npm run test -- --run src/components/settings/__tests__/SettingsCloudTab.health.test.js src/stores/__tests__/cloudConnections.test.js src/views/__tests__/CloudFolderView.test.js Connection health, reconnect, and consent UX now follow one store-backed truth without background probe drift. Task 2: Surface folder mutation results through the shared browser without forking layout frontend/src/views/CloudFolderView.vue, frontend/src/components/storage/StorageBrowser.vue, frontend/src/views/__tests__/CloudFolderRenderedFlow.test.js - frontend/src/components/storage/StorageBrowser.vue - frontend/src/views/CloudFolderRenderedFlow.test.js - .planning/phases/13-virtual-local-cloud-operations/13-CONTEXT.md - Test 1: cloud create, rename, move, and delete reuse the shared browser surface and picker behavior - Test 2: invalid destinations are disabled before submission and backend rejections are rendered clearly - Test 3: trash-versus-permanent delete messaging and stale-refresh retry guidance are shown without duplicating layout Wire the shared browser to consume the folder-mutation contract from the backend. Reuse the existing create, rename, drag-move, picker-move, and delete surfaces, but feed them cloud-specific capability, invalid-destination, stale-refresh, and trash-versus-permanent delete messages through props and emitted events only. Keep `CloudFolderView.vue` thin and avoid introducing a second folder picker, second drag state, or parallel mutation layout. - rendered-flow suite passes with the real shared browser - invalid destinations are prevented in the UI before submission and still handled cleanly after backend rejection - cloud create/rename/move/delete behavior stays on the shared browser surface cd frontend && npm run test -- --run src/views/__tests__/CloudFolderRenderedFlow.test.js The frontend now presents full cloud mutation and health behavior through the shared browser and Settings surfaces only.

<threat_model>

Trust Boundaries

Boundary Description
server health/mutation results → store/UI The UI must present backend truth without inventing probe or mutation semantics.
shared browser interactions → destructive actions Delete and move UX must stay explicit and capability-aware.

STRIDE Threat Register

Threat ID Category Component Disposition Mitigation Plan
T-13-30 T health UX mitigate Store and Settings tests require auto-test on connect/reconnect/failure and forbid navigation-triggered probes.
T-13-31 R destructive cloud actions mitigate Rendered-flow tests require explicit delete disclosure, stale-retry messaging, and invalid-destination prevention.
T-13-32 I broader-scope consent mitigate Settings and credential-modal tests require explicit broader Google Drive access copy.
</threat_model>
- Pass the health, store, view, and rendered-flow frontend suites. - Confirm the shared browser remains the only browser surface. - Confirm no-probe-on-navigation is explicitly asserted and implemented.

<success_criteria>

  • Users can see, test, reconnect, and recover cloud connections through one consistent frontend state model.
  • Shared-browser folder mutations now satisfy the backend contracts for CLOUD-04 through CLOUD-07.
  • Phase 13 now concretely encodes broader Drive access and the D-13 health-testing invariant on the frontend. </success_criteria>
Create `.planning/phases/13-virtual-local-cloud-operations/13-10-SUMMARY.md` when done