diff --git a/.claude/standards/syncro/test-findings.md b/.claude/standards/syncro/test-findings.md index a37bc9ff..0753f3d5 100644 --- a/.claude/standards/syncro/test-findings.md +++ b/.claude/standards/syncro/test-findings.md @@ -5,6 +5,26 @@ Verified behaviors/gotchas discovered while testing `/syncro` against the live t Each entry is a rule the skill must not re-learn. Critical ones are also folded into `syncro.md` (operating manual) and `api-reference.md` (breadth reference). +## 2026-07-10 — Sandbox cleanup (DELETE shapes + agent uninstall) + +**`DELETE /customers/{id}` DISABLES instead of deleting when the customer has associated data** +→ `{"message":"Customer was disabled instead of deleted because they have associated data."}` +and a subsequent GET still returns 200 (disabled, not 404). Associated data that blocks a hard +delete includes assets + leads (both GUI-only to remove). To truly delete a customer: clear its +asset (GUI archive) + lead first, then DELETE. + +**DELETE response shapes (verified):** invoice → `{"message":": We deleted # . "}`; +estimate → same form; appointment → `{"message":"deleted"}`; schedule → `{"success":"deleted"}`; +contract → `{"success":true}`; ticket → `{"message":"Ticket was successfully deleted. "}`; +contact → `{"success":true}`. + +**Uninstalling the Syncro agent from an endpoint (via GuruRMM):** find the Uninstall reg entry +whose `DisplayName -match 'Syncro'`, then `msiexec /x {ProductCode} /qn /norestart` (Syncro +registers a clean MSI product code). Verified on RMM-TEST-MACHINE: service gone, process gone, +0 reg entries, `C:\Program Files\RepairTech\Syncro` removed. Candidate future `deploy-agent +--uninstall` action. The Syncro-side asset then goes stale and must be archived in the GUI +(no asset DELETE endpoint). + ## 2026-07-10 — Syncro API has NO remote device-control endpoint **You cannot run commands / control an endpoint through the Syncro public API.** Searched all