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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user