diff --git a/.claude/memory/feedback_identity_precedence.md b/.claude/memory/feedback_identity_precedence.md index 45a833d4..eb952856 100644 --- a/.claude/memory/feedback_identity_precedence.md +++ b/.claude/memory/feedback_identity_precedence.md @@ -9,3 +9,5 @@ When the system-reminder context claims `userEmail = mike@azcomputerguru.com` bu **Why:** On 2026-04-23 I addressed Howard as "Mike" because the claudeMd/userEmail context said so. Howard corrected me. The CLAUDE.md onboarding flow explicitly defines identity.json as the authoritative local identity. **How to apply:** At every session start, read `.claude/identity.json` FIRST (as CLAUDE.md step 1 requires) and greet from that file's `full_name`. Ignore the `# userEmail` context block for greeting purposes. If identity.json is missing, follow the first-machine bootstrap flow in CLAUDE.md — don't fall back to userEmail. + +This also covers **pronoun resolution**: "me"/"I"/"my" in any request (e.g. "send the list to me and Winter", "DM me the link") resolves to the identity.json user, NOT the userEmail account. On 2026-07-14 Howard asked to send a backup report "to me and Winter" and I DM'd Mike instead — Howard never got it. Any send/notify/assign target of "me" = the person in identity.json. diff --git a/.sc-tps.json b/.sc-tps.json new file mode 100644 index 00000000..e69de29b diff --git a/clients/bardach/session-logs/2026-07/2026-07-14-howard-icloud-photos-sidebar-removal.md b/clients/bardach/session-logs/2026-07/2026-07-14-howard-icloud-photos-sidebar-removal.md new file mode 100644 index 00000000..c0dc8499 --- /dev/null +++ b/clients/bardach/session-logs/2026-07/2026-07-14-howard-icloud-photos-sidebar-removal.md @@ -0,0 +1,73 @@ +# 2026-07-14 — BCB-OFFICE26: duplicate Dropbox/iCloud Explorer sidebar entry removal + +## User +- **User:** Howard Enos (howard) +- **Machine:** Howard-Home +- **Role:** tech + +## Session Summary + +Howard reported two "Dropbox" icons on BCB-OFFICE26 (Bardach, Barbara — Main site), one correct and one pointing at an iCloud file that is double-backed-up in both Dropbox and iCloud. Initial request was to rename the wrong icon Dropbox → iCloud, then → "Photos" (since an iCloud Drive entry already exists), and finally the user settled on: just remove it. + +Investigation ran entirely through GuruRMM (agent e0ad1c3f-2b19-491f-bbf1-4657b4eee058, online, user barbarabardach logged on at console). Enumerated desktop .lnk files across all user profiles + Public Desktop, resolved shortcut targets via WScript.Shell and Shell.Application (including CLSID/IDList folder shortcuts), checked Desktop known-folder redirection in the user's registry hive, and inspected Dropbox PC-backup folders and iCloudDrive. Her real Desktop folder (`C:\Users\BarbaraBardach\Desktop`, not redirected) contains exactly one shortcut — `Dropbox.lnk` → her real Dropbox folder — so no desktop file explained the duplicate. + +Asked Howard where the icons appear: **File Explorer sidebar** (navigation pane). Enumerated pinned shell namespace CLSIDs in her hive + HKLM. Found the offender: a per-user pinned entry named **"iCloud Photos"** (CLSID `{98B050B1-6360-483D-AEF0-C78C96A3F5D2}`) whose target is `C:\Users\BarbaraBardach\Dropbox\PC (4)\Pictures\iCloud Photos\Photos` — iCloud Photos content nested inside a Dropbox PC-backup folder, hence double-synced to both clouds. Howard confirmed that was the entry to remove. + +Removal (registry-only, no files touched): set `System.IsPinnedToNameSpaceTree = 0` on the CLSID in her hive and deleted the matching `Desktop\NameSpace\{98B050B1-...}` key. Verified pin=0 and key gone. Posted [RMM] alert to #dev-alerts. + +## Key Decisions + +- Used `ps-encoded.sh` (Write tool script file + `-EncodedCommand` dispatch) after the first inline heredoc JSON dispatch failed — Git Bash collapses `\\` in heredocs, producing invalid JSON escapes (known fleet-wide gotcha). +- Chose to unpin via registry flags rather than delete the CLSID key wholesale — reversible, and iCloud may recreate/manage the key. +- Left the second genuine duplicate alone: sidebar still has TWO literal "Dropbox" entries (per-user `{E0B6F00F-6493-42EC-B060-9DCFCFD070AC}` → real Dropbox folder, plus machine-wide HKLM `{E31EA727-12ED-4702-820C-4B6445F28E1A}`/`{...1B}`). User only asked for the iCloud Photos one. +- Did not touch the underlying double-backup problem (files still sync to both clouds) — flagged to Howard as follow-up. +- Asked via AskUserQuestion before deleting anything — the only Dropbox .lnk on her visible desktop was the CORRECT one; deleting on assumption would have removed the wrong icon. + +## Problems Encountered + +- Inline JSON heredoc dispatch to RMM failed with "invalid escape" — Git Bash heredoc collapsed `\\` in Windows paths. Fixed by switching to `ps-encoded.sh`. +- WScript.Shell returned empty TargetPath for folder/CLSID shortcuts — resolved with Shell.Application `GetLink.Target.Path` (returned `::{E0B6F00F-...}` for the desktop Dropbox.lnk). +- Running as SYSTEM, `%USERPROFILE%`-based .lnk targets resolved to `C:\windows\system32\config\systemprofile\...` — misleading; actual targets are under her profile. +- `Get-ChildItem Registry::HKEY_USERS` enumeration silently returned nothing for her hive in one script; direct `reg.exe query HKU\` worked. + +## Configuration Changes + +On BCB-OFFICE26 (registry, hive `HKU\S-1-12-1-1104233520-1256390324-3559642798-2806790374`): +- `...\Software\Classes\CLSID\{98B050B1-6360-483D-AEF0-C78C96A3F5D2}\System.IsPinnedToNameSpaceTree` = 0 (was 1) +- Deleted `...\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{98B050B1-6360-483D-AEF0-C78C96A3F5D2}` + +No files in repo changed (temp .ps1 helpers created and deleted). + +## Credentials & Secrets + +None new. RMM auth via vault `infrastructure/gururmm-server.sops.yaml` as usual. + +## Infrastructure & Servers + +- BCB-OFFICE26 — Bardach, Barbara / Main, Windows, GuruRMM agent id `e0ad1c3f-2b19-491f-bbf1-4657b4eee058` +- Logged-on user: `barbarabardach` (console), profile `C:\Users\BarbaraBardach`, SID `S-1-12-1-1104233520-1256390324-3559642798-2806790374` +- Cloud sync stack on the box: Dropbox (with PC backup: `My PC (BCB)`, `PC`, `PC (2)`, `PC (4)` folders), iCloud Drive (`C:\Users\BarbaraBardach\iCloudDrive`), OneDrive personal + "OneDrive - Long Realty Company" +- Syncro installer present on old desktop backup: `SyncroSetup-bardach_barbara-v1-641151.exe` + +## Commands & Outputs + +- `bash .claude/scripts/rmm-search.sh BCB-OFFICE26` → 1 match +- `bash .claude/scripts/ps-encoded.sh rmm