diff --git a/.planning/phases/06.2-close-v1-sharing-cloud-delete-csv-export-gaps/06.2-UAT.md b/.planning/phases/06.2-close-v1-sharing-cloud-delete-csv-export-gaps/06.2-UAT.md
index ffc7cd5..1c64918 100644
--- a/.planning/phases/06.2-close-v1-sharing-cloud-delete-csv-export-gaps/06.2-UAT.md
+++ b/.planning/phases/06.2-close-v1-sharing-cloud-delete-csv-export-gaps/06.2-UAT.md
@@ -1,5 +1,5 @@
---
-status: complete
+status: diagnosed
phase: 06.2-close-v1-sharing-cloud-delete-csv-export-gaps
source: [06.2-01-SUMMARY.md, 06.2-02-SUMMARY.md, 06.2-03-SUMMARY.md, 06.2-04-SUMMARY.md]
started: 2026-05-31T12:00:00Z
@@ -87,9 +87,13 @@ blocked: 2
reason: "User reported: I cannot share the document as I don't see the username in the admin user tab or even in the user settings nowhere. There is no profile or anything to change or update the information as the user."
severity: major
test: 1
- root_cause: ""
- artifacts: []
- missing: []
+ root_cause: "AccountView.vue 'Account information' section renders only email and role — the handle field from authStore.user is never displayed, even though GET /api/auth/me returns it. Users cannot discover their own handle or other users' handles, making the share dialog (which requires a recipient handle) unusable in practice."
+ artifacts:
+ - path: "frontend/src/views/AccountView.vue:10-23"
+ issue: "Account information section shows email and role only — handle field missing"
+ missing:
+ - "Add handle display to AccountView.vue account information section: `
Username: {{ authStore.user?.handle }}
`"
+ - "Consider also showing handles in AdminUsersTab so admins can look up other users' handles"
debug_session: ""
- truth: "CSV export downloads a file containing audit log data rows (not just a header line)"
@@ -97,9 +101,13 @@ blocked: 2
reason: "User reported: Yes I downloaded a csv file but except an header (title of rows) the csv is empty."
severity: major
test: 9
- root_cause: ""
- artifacts: []
- missing: []
+ root_cause: "Export silently respects the active user_handle filter; after testing the 'unknown handle → empty list' case in test 8, the stale unknown handle filter was still active when Export was clicked — producing an empty CSV. No backend bug: code is correct, but there is no UI feedback showing which filters the export will apply, and no easy way to clear filters before exporting."
+ artifacts:
+ - path: "frontend/src/components/admin/AuditLogTab.vue"
+ issue: "exportCsv() passes current filters.user_handle to the export with no indication to user; no 'Clear filters' action available"
+ missing:
+ - "Add a visible 'Active filters' indicator near the Export button"
+ - "Add a 'Clear filters' button that resets all filter fields and re-fetches"
debug_session: ""
- truth: "Audit log entries show user handles prefixed with @ (e.g. @alice) instead of plain usernames or raw UUIDs"
@@ -107,9 +115,14 @@ blocked: 2
reason: "User reported: I see the usernames yes but without a @ symbol."
severity: minor
test: 7
- root_cause: ""
- artifacts: []
- missing: []
+ root_cause: "The handle column in the User model stores the bare username without a leading @. The backend returns it as-is and the frontend renders it directly — the @ prefix is never applied anywhere in the pipeline."
+ artifacts:
+ - path: "frontend/src/components/admin/AuditLogTab.vue:95"
+ issue: "Renders entry.user_handle directly with no @ prefix"
+ - path: "backend/api/audit.py:86-87"
+ issue: "_audit_to_dict_with_handles() returns handle verbatim from User.handle column"
+ missing:
+ - "Frontend fix only: change line 95 from `entry.user_handle || entry.user_id || '—'` to `entry.user_handle ? '@' + entry.user_handle : (entry.user_id || '—')`"
debug_session: ""
- truth: "Cloud-stored documents can be opened, viewed, and deleted through the UI"
@@ -117,7 +130,13 @@ blocked: 2
reason: "User reported: I neither can open, view or delete any files or folders inside the cloud storage"
severity: major
test: 4
- root_cause: ""
- artifacts: []
- missing: []
+ root_cause: "The cloud folder browser (/cloud/:provider/:folderId) calls GET /api/cloud/folders/{provider}/{folderId} which returns 404 if no ACTIVE CloudConnection exists for the user. If no cloud provider has been connected (or the OAuth token has expired), the browser shows 'Failed to load folder contents' with no guidance. Cloud-delete propagation built in Phase 6.2 cannot be tested without a working cloud connection."
+ artifacts:
+ - path: "frontend/src/views/CloudFolderView.vue:133"
+ issue: "Error message 'Failed to load folder contents' is shown with no indication of whether the cause is missing connection or expired token"
+ - path: "backend/api/cloud.py:802-806"
+ issue: "Returns 404 when no ACTIVE connection found — no distinction between 'never connected' and 'token expired'"
+ missing:
+ - "CloudFolderView should check connection status before attempting folder load and show actionable error (e.g. 'Connect a cloud provider in Settings')"
+ - "Or: prerequisite — user must connect a cloud provider in Settings before this feature can be tested"
debug_session: ""