sync: auto-sync from HOWARD-HOME at 2026-07-05 00:45:20

Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-07-05 00:45:20
This commit is contained in:
2026-07-05 00:45:47 -07:00
parent 346832b469
commit 67822d5ca8
3 changed files with 34 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
---
name: project_gururmm_software_removal_pr58
description: SPEC-030 software-removal hardening (driver exclusion, lingering-process sweep, job list/reaper) is on PR #58 awaiting merge; live testing planned 2026-07-06 on DESKTOP-MS42HNC.
metadata:
type: project
---
GuruRMM SPEC-030 software removal (Assets -> Inventory tab): the 2026-06-24 session's open
requests were implemented 2026-07-05 and sit on branch `feat/software-removal-hardening`,
**PR #58** (https://git.azcomputerguru.com/azcomputerguru/gururmm/pulls/58), NOT merged —
merge deploys to beta. Live testing planned 2026-07-06 on the test box DESKTOP-MS42HNC
(agent 0de89b88-b21d-4647-ab64-96157ba87cc5).
What PR #58 contains:
- Engine `-List` emits `is_driver` (heuristic: driver/chipset/firmware name words, or hw-vendor
publisher + device words; junkware like "Driver Booster" deliberately excluded). Dashboard
hides drivers by default, keeps them out of select-all, deselects on re-hide.
- End-of-run lingering-uninstaller sweep in uninstall-engine.ps1: 45s budget-aware grace, then
taskkill of started trees (StartTime PID-reuse guard, same-session only, null CreationDate
excluded) + late re-verify that flips async-finisher false-failures to success. This is the
chosen resolution of the Launchy/AIMP "failed / no usable result" open decision.
- `GET /agents/:id/software/uninstall/jobs` (list, results omitted), stale-running-job reaper
(900s no-progress -> failed), `finish_job` guarded WHERE status='running', UI 100-target cap.
Verified pre-merge: engine live tests on Howard-Home (driver flags, sweep kill/no-kill,
orphaned/refused paths), heuristic unit cases, `verify.sh server --check` + `dashboard` PASS,
high-effort workflow code review with all confirmed findings fixed.
Remaining after this: recipe catalog (P3, [[project_gururmm_av_removal_recipes]] if created),
dashboard UI for the new job-list endpoint (client binding `softwareApi.uninstallJobs` exists,
unused), and TeamViewer retry-verify still not re-validated live.