syncro: record sandbox-cleanup findings (DELETE shapes, customer soft-delete, agent uninstall via msiexec)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-10 17:20:08 -07:00
parent 269449d27c
commit 8afd7ec9b7

View File

@@ -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":"<id>: We deleted # <num>. "}`;
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