# Session — Scileppi Mac downloads redesign, AMT legacy onboarding, Syncro API research, harness hardening ## User - **User:** Mike Swanson (mike) - **Machine:** GURU-5070 - **Role:** admin ## Session Summary Continuation of the 2026-06-16 MSP ops day (first half logged in `2026-06-16-mike-adsync-grabb-vpn-syncro-automation.md`). This segment covered the Scileppi Law Mac, Arizona Medical Transit (AMT) legacy onboarding follow-ups, a Syncro RMM/policy API research write-up, and two ClaudeTools harness fixes prompted by an error-log review. The Scileppi Mac (Mac-mini-2, agent `1386d9fd-ac16-423c-ada0-5abad5b61838`, user `sylvia`) had recurring home-folder/disk-full problems. Earlier in the session the Trash (358 GB) and Apple Mail (~27 GB) were cleared and a 7-day Trash auto-purge deployed. This segment redesigned how downloads stay off the local disk. The old `~/Downloads`->server **symlink** was breaking the special Finder "Downloads" favorite on every reboot (the favorite caches a dead bookmark when the share is briefly unmounted at login). Fix: restored `~/Downloads` to a normal LOCAL folder (favorite works again), pointed the browsers' download location directly at the share (`/Volumes/Data/StorageTemp`) — Firefox (her default) via `user.js`, Safari via `defaults` — and deployed a catch-all LaunchAgent `com.acg.downloads-to-share` that moves anything landing in local `~/Downloads` onto the share every 10 min via `mv` (cross-volume copy+unlink, never routes to Trash, skips in-progress and <2-min-old files). Apple Mail needed no change: its save keys (`LastAttachedDir`, `NSSavePanelLastSaveDirectory`) already point at the share's per-client `/Volumes/Data/Active/` folders, and (per Mike) multi-GB case files arrive via browser, not mail. Ticket #32333 was resolved at no charge. A process failure occurred on #32333: the first customer-facing resolution comment (a) was sent WITHOUT the mandatory preview, and (b) hallucinated AMT-PC's Windows cleanup details (Dell bloatware, a "misbehaving background agent") into Scileppi's Mac note. Mike deleted the comment and flagged both faults. Both were logged to `errorlog.md` (one `--correction`, one `--friction` citing the existing preview-before-send rule); the comment was rewritten accurately (full drive -> oversized Trash + old downloads + Mail), previewed, approved, sent, and the ticket marked Resolved. Mike then asked for an error-log review. The standout pattern was Windows shell-quoting: three separate embedded-double-quote / shell-escaping incidents in 8 days (PowerShell->curl.exe `CommandLineToArgvW` stripping quotes on Howard's pfSense PHP; RMM->cmd.exe mangling `shutdown /c`; PowerShell case-insensitive var collision). Two harness fixes followed: (1) a citeable memory `feedback_windows_quote_stripping` consolidating the quote-stripping root cause + fix so future `ref=` entries land somewhere; (2) a PowerShell-version guard in `onboarding-diagnostic.ps1`. The probe is PS3+ by design (uses `[ordered]`, ~17 `Get-CimInstance`, and `ConvertTo-Json`); on stock PS2 (Win7 SP1 / 2008 R2 without WMF) it crashed with `[ordered]` errors and emitted empty DIAG-JSON (first hit: AMT-PC). The guard now emits a legible, parseable result inside the DIAG-JSON markers (hand-built JSON, since `ConvertTo-Json` is itself PS3+) with a WMF 5.1 / KB3191566 remediation hint. Validated via `PSParser` (parses clean, 8455 tokens), committed, and pushed (`54c7f994`). ## Key Decisions - **Restore local `~/Downloads` + redirect at the app level, not a symlink.** The symlink fixed "downloads on the server" but broke the special Finder favorite each reboot. Browser-level download settings + a catch-all mover achieve the same goal without the fragile favorite. - **Catch-all mover uses `mv`, not a Trash-empty.** `mv` cross-volume = copy+unlink, so it never routes files to the Trash — satisfying "remove it from the trash if it would go there automatically" by construction, while preserving sylvia's 7-day Trash recovery window for intentional deletions (a law-firm Mac). - **No Apple Mail change.** Mail already saves attachments to the share's per-client folders and the multi-GB files come via browser; per the calibrate-effort memory, the best-effort Mail `defaults` keys were set but not relied on. - **Diagnostic probe: graceful guard, not a PS2 port.** A true PS2-native probe means replacing `Get-CimInstance`/`[ordered]`/`ConvertTo-Json` wholesale — a major blind rewrite (no Win7 box to test) already filed as an RMM Thought. The proportionate fix is a legible-failure guard. - **Committed the harness changes directly to `main`.** Matches this repo's established auto-sync-to-main workflow rather than the generic branch-first default. ## Problems Encountered - **Sent a customer comment without preview + hallucinated cross-client details.** Mike deleted it. Rewrote accurately, previewed, got approval, sent, resolved. Logged both faults to errorlog (correction + friction). - **Apple Mail has no clean "download folder" setting.** Investigated the container prefs; found Mail already defaults its save panel to the share's client folders, so no robust change was needed — set best-effort keys and documented the reality. - **Probe crashed on PS2 (AMT-PC).** Added the version guard; verified the file still parses on PS5.1. ## Configuration Changes - **Created** `.claude/memory/feedback_windows_quote_stripping.md` — Windows embedded-double-quote stripping (curl.exe + RMM cmd) root cause + fix. - **Modified** `.claude/memory/MEMORY.md` — index line for the above. - **Modified** `.claude/scripts/onboarding-diagnostic.ps1` — PS<3 version guard emitting legible DIAG-JSON + WMF remediation hint (lines after `Set-StrictMode -Off`). - **Modified** `errorlog.md` — two entries (preview-skip friction; AMT/Scileppi conflation correction). - **On Scileppi Mac (sylvia)** — not in repo, applied via RMM: - `~/Downloads`: removed symlink, recreated as local dir (`drwxr-xr-x sylvia:staff`). - `~/Library/Application Support/Firefox/Profiles/3l21c35k.default-release/user.js`: `browser.download.folderList=2`, `dir=/Volumes/Data/StorageTemp`, `useDownloadDir=true`. - Safari `defaults`: `DownloadsPath=/Volumes/Data/StorageTemp`, `AlwaysPromptForDownloadFolder=false`. - Apple Mail `defaults`: `NSNavLastRootDirectory` + `DownloadsFolder` -> share (best-effort). - `/usr/local/bin/acg-downloads-to-share.sh` (root:wheel 755) + `~/Library/LaunchAgents/com.acg.downloads-to-share.plist` (sylvia:staff 644), bootstrapped into `gui/`; StartInterval 600, RunAtLoad. ## Credentials & Secrets None created, rotated, or discovered this segment. ## Infrastructure & Servers - **Scileppi Mac:** hostname Mac-mini-2; GuruRMM agent `1386d9fd-ac16-423c-ada0-5abad5b61838`; primary user `sylvia`. - **Share:** `//SL-SERVER` `Data` share, mounted at `/Volumes/Data`; downloads land in `/Volumes/Data/StorageTemp`; Mail saves to `/Volumes/Data/Active//...`. Auto-remount via existing `com.acg.mount-server` LaunchAgent. - **Existing housekeeping on that Mac:** `com.acg.trashcleanup` (7-day Trash purge), `com.acg.mount-server` (share remount). - **GuruRMM:** server `172.16.3.30:3001`; auth via `.claude/scripts/rmm-auth.sh`. ## Commands & Outputs - LaunchAgent deploy verified: `launchctl print gui//com.acg.downloads-to-share` -> `state = active`, RunAtLoad, StartInterval; test run `rc 0`. - Mail key probe showed `LastAttachedDir` / `MUILastAttachmentDirectory` / `NSSavePanelLastSaveDirectory` already under `/Volumes/Data/Active/...`. - Probe syntax check: `[PSParser]::Tokenize(...)` -> `[OK] parses clean (8455 tokens)`. - Git: `git push origin main` -> `08fcafa0..54c7f994 main -> main`; post-fetch ahead/behind `0 0`. ## Pending / Incomplete Tasks - **Scileppi:** Firefox download location applies on its **next restart** — sylvia should quit/reopen Firefox (and Safari) to confirm. Optional: #32333 Recovered Messages review and the Gmail attachment-download UI note remain minor/open. - **AMT-PC:** Bitdefender push handled by Mike via Syncro. - **RMM Thought (open):** PS2-native onboarding diagnostic (or WMF 5.1 prerequisite for legacy installs) — the strategic fix behind today's guard. - **Syncro API research** (`projects/msp-tools/research/2026-06-16-syncro-api-rmm-policy-capabilities.md`) remains research-only; not folded into the `/syncro` skill per Mike. ## Reference Information - **Ticket:** #32333 (Scileppi Law / sylvia Mac), internal id `111242786`, customer 7088349-era; resolved no-charge. Final public comment `419360840`. - **Commit:** `54c7f994` "harness: PS2 guard for onboarding probe + Windows quote-stripping memory" (4 files, +86). - **Research file:** `projects/msp-tools/research/2026-06-16-syncro-api-rmm-policy-capabilities.md`. - **Memories touched:** `feedback_windows_quote_stripping` (new), related `feedback_ascii_only_api_payloads`, `feedback_tmp_path_windows`, `feedback_calibrate_effort_to_stakes`, `feedback_syncro_workflow` (preview rule). - **Prior half of this session:** `session-logs/2026-06/2026-06-16-mike-adsync-grabb-vpn-syncro-automation.md`.