Files
kite/.planning/phases/13-virtual-local-cloud-operations/13-DISCUSSION-LOG.md
T

4.1 KiB

Phase 13: Virtual-Local Cloud Operations - Discussion Log

Audit trail only. Do not use as input to planning, research, or execution agents. Decisions are captured in CONTEXT.md — this log preserves the alternatives considered.

Date: 2026-06-22 Phase: 13-virtual-local-cloud-operations Areas discussed: Open/preview/upload flow, naming and conflicts, move/delete safeguards, connection recovery


Open, Preview, and Upload Flow

Question Options considered Selected
Cloud interaction model In-app preview, new tab, download, shared local experience Shared local experience
Same-name upload Conflict dialog, automatic keep-both, reject, provider-native Conflict dialog
Multi-file processing Parallel independent, sequential, all-or-nothing, current-local exact Sequential with queue pause
Unsupported preview Authorized download, provider website, unsupported dialog Authorized download

User's choice: Reuse the local storage experience and code wherever possible. Upload conflicts/errors pause the full sequential queue for explicit Keep both/Replace/Retry/Skip/Cancel-all decisions.

Notes: In-app preview must not download to the user's machine. Temporary cache lifecycle belongs to Phase 14.


Naming and Conflict Behavior

Question Options considered Selected
Create/rename collision Dialog, automatic rename, reject, provider-native Automatic rename
Suffix convention Counter, copy suffix, timestamp, provider-native Human-readable counter
Concurrent name race Next-suffix retry, stop, provider-native Bounded next-suffix retry
Stale mutation Stop/refresh, apply anyway, ask, provider-native Stop, refresh, explain

User's choice: Generate Name (1).ext automatically and retry boundedly on races; never mutate externally changed stale state.


Move and Delete Safeguards

Question Options considered Selected
Destination interaction Shared local drag/picker, picker only, drag only, clipboard Shared local drag and picker
Confirmation strength Context-sensitive, uniform, type name, folders only Context-sensitive
Delete semantics Prefer trash, permanent, ask each time, provider-native Prefer provider trash
Invalid folder moves Prevent early, error later, provider rejection, files only Prevent in UI and backend

User's choice: Match local move interactions, constrain moves to one connection, warn more strongly for folder deletion, and use recoverable provider deletion where possible.


Connection Recovery

Question Options considered Selected
Health UI Browser + Settings, Settings only, browser only, toasts Browser + Settings
Test timing Automatic + on demand, on demand, every operation, scheduled Automatic + on demand
Reconnect metadata Preserve/revalidate, clear, unchanged, full rebuild Preserve then revalidate
Explicit disconnect Remove DocuVault data, retain metadata, disable, delete provider files Remove credentials/metadata

User's choice: Temporary outages preserve everything and expose retry/reconnect. Explicit Settings disconnect removes DocuVault credentials/metadata after confirmation and never touches provider files.

Notes: The user requested future disconnect-time conversion of cached cloud files into hierarchy-preserving local documents. This is recorded under deferred IMPORT-01 because Phase 13 has no byte cache and permanent import is outside v0.3.


Codex's Discretion

  • Exact accessible wording, controlled provider-error mapping, progress labels, suffix retry bound, and endpoint/service decomposition within existing architectural rules.

Deferred Ideas

  • Phase 14 temporary preview-byte cache and eviction behavior.
  • IMPORT-01: preserve cached/downloaded files as quota-counted local documents on explicit disconnect, under a connection-named folder with the provider hierarchy retained.