sync: auto-sync from HOWARD-HOME at 2026-05-27 11:24:44
Author: Howard Enos Machine: HOWARD-HOME Timestamp: 2026-05-27 11:24:44
This commit is contained in:
@@ -55,6 +55,7 @@
|
||||
|
||||
- [GuruRMM dev is Mike's, not Howard's](feedback_rmm_dev_is_mike.md) — Never route RMM dev/bug coord notes to Howard (0 RMM commits by him). Howard only submits RMM feature requests; GuruScan is his project, RMM is not.
|
||||
- [Syncro is the default PSA; Autotask is opt-in](feedback_psa_default_syncro.md) — Ticketing/billing/customers default to Syncro (/syncro). Only use /autotask on an explicit "in Autotask" request. /autotask kept local/undistributed.
|
||||
- [Command Formatting](feedback_command_formatting.md) — Always multi-line scripts, never one-liners; one-liners wrap in chat and break on copy-paste
|
||||
|
||||
## Machine
|
||||
- [GURU-5070 Workstation Setup](reference_workstation_setup.md) - Mike's primary (owner confirmed 2026-05-26). Windows 11 Pro. Renamed from OC-5070 → ACG-5070/acg-guru-5070 → GURU-5070; all the same box, all Mike's.
|
||||
|
||||
12
.claude/memory/feedback_command_formatting.md
Normal file
12
.claude/memory/feedback_command_formatting.md
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
name: feedback-command-formatting
|
||||
description: Howard needs commands formatted as multi-line scripts, not one-liners — one-liners wrap in the chat window and break when copy-pasted
|
||||
metadata:
|
||||
type: feedback
|
||||
---
|
||||
|
||||
Always write shell/PowerShell commands as multi-line scripts, never as semicolon-separated one-liners.
|
||||
|
||||
**Why:** When long one-liners are displayed in the Claude chat window, they wrap visually. When Howard copy-pastes them (e.g. into ScreenConnect), the line breaks become real newlines, breaking operators like `&` onto their own lines and causing parse errors (e.g. "AmpersandNotAllowed").
|
||||
|
||||
**How to apply:** Any time you're giving Howard a PowerShell or shell command longer than ~60 characters, write it as a multi-line script in a code block. Each statement on its own line. No semicolons to chain statements — use newlines instead.
|
||||
Submodule projects/msp-tools/guru-rmm updated: b346b7ba05...51a7e6c6bc
@@ -103,3 +103,89 @@ Standout UX idea (Q16): log deduplication — repeated identical errors on the s
|
||||
- Coord message to Mike: ID `fd6da8b3-b87e-4936-a341-c67a0d50fcb9`, priority high
|
||||
- GuruRMM API base: `http://172.16.3.30:3001/api`
|
||||
- Gitea webhooks: `GET https://git.azcomputerguru.com/api/v1/repos/azcomputerguru/gururmm/hooks`
|
||||
|
||||
---
|
||||
|
||||
## Update: 10:25 PT — Sif-oidak Setup + Factory-Clone Device ID Bug
|
||||
|
||||
### Summary
|
||||
|
||||
Resumed after context compaction. Howard had run a fresh-install script on SIF-Laptop554 to try to separate it from SIF-Laptop555, which were colliding on the same agent record due to identical factory MachineGuids. The script deleted `.device-id`, `agent.toml`, and the binary before reinstalling, but the workaround failed silently: the installer served the old v0.6.43 binary which still reads MachineGuid first and ignores `.device-id` on first install. Both machines still had `device_id: win-83e84dca`.
|
||||
|
||||
Identified the residual root cause: the c347c6b fix (persisted file wins over hardware ID) only prevents reinstall collisions — it does not prevent FIRST-INSTALL collisions when two machines share the same factory MachineGuid and neither has a `.device-id` yet. The correct fix is to drop hardware ID seeding entirely and always generate a random UUID v4 on first install.
|
||||
|
||||
Committed `51a7e6c` to GuruRMM — removed all `get_hardware_device_id()` implementations (Windows/Linux/macOS/fallback) from `agent/src/device_id.rs`. `get_device_id()` now: reads persisted file (returns immediately if found), otherwise generates UUID v4, persists it, returns. Hardware identifiers are no longer consulted at any point.
|
||||
|
||||
For the immediate workaround (current v0.6.43 binary still reads MachineGuid), changed the MachineGuid registry value on SIF-Laptop554 to a newly generated GUID `f0fae6b3-3dc8-4905-81f2-e63ead4741e3`, deleted `.device-id`, and restarted the agent service. This forced 554 to register as a new agent record (`ce868d0f`) with `device_id: win-f0fae6b3`. The old record (`acb14901`, `win-83e84dca`) now belongs to SIF-Laptop555 exclusively and will update its hostname to "Sif-Laptop555" on next 555 heartbeat. Verified both records online under the Sif-oidak site.
|
||||
|
||||
Sent Mike a coord message (346ede45) explaining the residual issue, the code fix, and the registry workaround used.
|
||||
|
||||
### Key Decisions
|
||||
|
||||
- **Dropped hardware ID seeding entirely rather than patching priority again** — the persisted file already provides reinstall stability. Hardware IDs provide zero additional value and are the source of factory-clone collisions. Removing them is cleaner than adding special-case logic to detect cloned IDs.
|
||||
- **Registry MachineGuid change as workaround** — only viable option with the current deployed binary (which ignores `.device-id` on first install). Pre-seeding `.device-id` would have required the new binary. Changing MachineGuid is a one-time setup step on 554 and has no downstream impact since GuruRMM no longer reads it.
|
||||
- **Appended to existing 2026-05-27-howard-session.md** — same-day continuation, not a new file.
|
||||
|
||||
### Problems Encountered
|
||||
|
||||
- **Fresh-install script on 554 did not separate the agents** — because the downloaded binary was still old v0.6.43. Deleting `.device-id` only helps if the binary prioritizes the persisted file; old code reads MachineGuid first regardless. Resolution: identified root cause, committed proper fix (51a7e6c), used registry MachineGuid change as immediate workaround.
|
||||
- **c347c6b (persisted wins over hardware) did not fully solve factory clone** — priority swap prevents reinstall collisions but not first-install collisions when `.device-id` is absent on both machines. Resolution: 51a7e6c removes hardware seeding entirely.
|
||||
|
||||
### Configuration Changes
|
||||
|
||||
- `agent/src/device_id.rs` — MODIFIED: removed all `get_hardware_device_id()` functions and hardware seeding path. `get_device_id()` now generates random UUID v4 on first install unconditionally. Committed `51a7e6c`.
|
||||
- `HKLM\SOFTWARE\Microsoft\Cryptography\MachineGuid` on **SIF-Laptop554** — changed from factory value to `f0fae6b3-3dc8-4905-81f2-e63ead4741e3` (workaround for current binary).
|
||||
|
||||
### Infrastructure & Servers
|
||||
|
||||
- **Sif-oidak District — GuruRMM client:** `91dbd56d-ce59-4b98-8b09-22c6267f864c`
|
||||
- **Sif-oidak Main Office — GuruRMM site:** `dfb6cf3e-8e12-4010-8330-9addf2b63ac2` | enrollment key: `CALM-STORM-1968`
|
||||
- **SIF-Laptop554** — agent `ce868d0f`, device_id `win-f0fae6b3-3dc8-4905-81f2-e63ead4741e3`, online, v0.6.43
|
||||
- **SIF-Laptop555** — agent `acb14901`, device_id `win-83e84dca-0cac-4a02-83c7-5b13c2a85aea`, hostname will update to "Sif-Laptop555" on next heartbeat
|
||||
- **GuruRMM server:** `http://172.16.3.30:3001` — running v0.3.31
|
||||
|
||||
### Commands & Outputs
|
||||
|
||||
```powershell
|
||||
# Workaround run on SIF-Laptop554 to force unique device ID
|
||||
Stop-Service GuruRMMAgent -Force -ErrorAction SilentlyContinue
|
||||
Stop-Service GuruRMMWatchdog -Force -ErrorAction SilentlyContinue
|
||||
Get-Process gururmm-agent -ErrorAction SilentlyContinue | Stop-Process -Force
|
||||
Start-Sleep -Seconds 2
|
||||
$g = [System.Guid]::NewGuid().ToString()
|
||||
reg add "HKLM\SOFTWARE\Microsoft\Cryptography" /v MachineGuid /t REG_SZ /d $g /f
|
||||
Remove-Item "C:\ProgramData\GuruRMM\.device-id" -Force -ErrorAction SilentlyContinue
|
||||
Start-Service GuruRMMAgent
|
||||
# Output: The operation completed successfully.
|
||||
# New MachineGuid: f0fae6b3-3dc8-4905-81f2-e63ead4741e3
|
||||
|
||||
# Verified two separate agents under dfb6cf3e after workaround:
|
||||
# ce868d0f Sif-Laptop554 win-f0fae6b3 created 18:21:47 online
|
||||
# acb14901 (Sif-Laptop555) win-83e84dca created 17:26:59 online
|
||||
```
|
||||
|
||||
```
|
||||
# GuruRMM commits (device_id fixes):
|
||||
c347c6b fix(agent): persisted device ID wins over hardware ID to prevent factory-clone collisions
|
||||
51a7e6c fix: drop hardware ID seeding — always generate random UUID on first install
|
||||
```
|
||||
|
||||
### Pending / Incomplete Tasks
|
||||
|
||||
- **SIF-Laptop555 hostname:** Record `acb14901` still shows "Sif-Laptop554" — will auto-correct to "Sif-Laptop555" on next 555 heartbeat. No action needed.
|
||||
- **New agent binary deploy:** `51a7e6c` needs to build and deploy before fresh installs on new machines get the fully clean fix. Mike is handling CI/build pipeline.
|
||||
- **localadmin password on both SIF laptops:** Still unknown. Need Howard to set it so UAC prompts work for "Sif" standard user and credentials can be vaulted.
|
||||
- **UAC fix on both SIF laptops:** Standard user "Sif" gets a Close button instead of a credential prompt for admin actions. Root cause: blank localadmin password. Fix: set localadmin password → test UAC prompt works → vault credentials.
|
||||
- **Make localadmin selectable at Windows login screen** on both laptops.
|
||||
- **Vault SIF laptop credentials:** Sif / SifSif (user); localadmin / TBD (admin). Path TBD under `clients/sif-oidak/`.
|
||||
- **Syncro assets:** Created for both laptops (from session-start context). Verify they are linked correctly.
|
||||
- **MAINTENANCE-PC agent:** Still on v0.6.27; LHM fix pending agent binary update.
|
||||
|
||||
### Reference Information
|
||||
|
||||
- GuruRMM device_id fix commits: `c347c6b`, `51a7e6c`
|
||||
- Coord message to Mike (device_id follow-up): `346ede45-b005-41b2-b066-bd7042a221c1`
|
||||
- Sif-oidak GuruRMM client: `91dbd56d` | site: `dfb6cf3e` | enrollment key: `CALM-STORM-1968`
|
||||
- Sif-Laptop554 new agent ID: `ce868d0f` | new device_id: `win-f0fae6b3-3dc8-4905-81f2-e63ead4741e3`
|
||||
- Sif-Laptop555 agent ID: `acb14901` | device_id: `win-83e84dca-0cac-4a02-83c7-5b13c2a85aea`
|
||||
- Syncro customer: `https://computerguru.syncromsp.com/customers/7694718`
|
||||
|
||||
Reference in New Issue
Block a user