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
|
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).
|
`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
|
## 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
|
**You cannot run commands / control an endpoint through the Syncro public API.** Searched all
|
||||||
|
|||||||
Reference in New Issue
Block a user