# GPS Audit — Master Status List, 20 Wiki Articles, 7 Onboardings, Onsite Installer Kit

## User
- **User:** Howard Enos (howard)
- **Machine:** Howard-Home
- **Role:** tech

## Session Summary

Continuation of the GPS -> GuruRMM audit (same session as the endpoint-verify log).
Consolidated the scattered tracking (targets.json / tracker.md / backup-map.md) into one
authoritative current list, filled the client-wiki gaps, added the no-footprint clients to
GuruRMM where reachable, and built a portable onsite installer kit.

Built `projects/gps-rmm-audit/gps-master-status.md` from live data (GuruRMM /api/agents +
Syncro backup seats + backup-map verdicts): all 40 GPS clients split into billed-backup (16)
vs not-billed (24), each with GPS device count, live RMM enrollment, backup seats+status, and
wiki presence. Surfaced drift: 7 clients with zero RMM footprint, 20 wiki gaps, and RMM/billed
count mismatches (Glaz-Tech 5/159 + Jimmy 1/12 = billing anomalies, not missing machines).
Linked it from the top of tracker.md as the at-a-glance entry point.

Created the 20 missing client wiki articles via two parallel sub-agents (10 each), pulling
live RMM machines + Syncro contacts with strict no-fabrication. Wiki count 56 -> 76.

Onboarded the no-RMM clients to GuruRMM. MVAN and The Marc Group already existed (bucket-C
2026-07-03, 0 agents) — "no footprint" meant 0-agents, not no-client. Created BST
(UPPER-LION-2986) and queued the Staging installer (via each client's own site installer)
to the machines that have ScreenConnect sessions (all offline -> install on reconnect):
KAT1, MITCH-LAPTOP, DESKTOP-6HT5SJ9, LAPTOP-JMUNGO. Four remained blocked: Heieck + Res&Reno
(Macs), Andy's (zero assets), Little Hearts (no SC session + possible NinjaRMM). Per Howard:
pursue a GuruRMM Mac agent, and he'll supply machine info for Andy's/Little Hearts.

Confirmed GuruRMM HAS a macOS agent (/install/<code>/macos) and a Linux agent. Sent Howard a
Discord punch-list of every client still needing RMM and/or backup verify, with machines
have/should + backup seats billed. Then, per Howard's request, built a flash-drive installer
kit at `C:\Users\Howard\Desktop\CLIENTS\`: one folder per site (20) with Windows/Linux/macOS
installer scripts + README, and per-location subfolders for the two multi-site clients (Grabb
= Main/Bob's/Jeff's; Glaz-Tech = Involta/SLC/Tucson). Onboarded 3 more clients (Andy's, Little
Hearts, Res&Reno) to generate their site codes for the kit (Heieck already had one).

## Key Decisions

- Made `gps-master-status.md` the single current list (regenerable from live data), with
  tracker.md as detailed history — rather than repeatedly reconciling 3 stale docs.
- Delegated the 20 wiki articles to 2 parallel sub-agents (high-volume, >3 files) with a strict
  "no invented data; unknowns = (not documented)" rule and the existing template.
- Only onboarded no-RMM clients that had a queueable machine (BST/MVAN/Marc Group); did NOT
  create dead empty shells for the blocked 4 at first — then onboarded them anyway (Andy's,
  Little Hearts, Res&Reno) once Howard wanted their installers in the onsite kit.
- Saved a feedback memory: only check backup status for clients that BILL a backup line
  (Marty Ryan has none -> stop checking). [[feedback_backup_check_only_billed]]
- Installer kit uses per-location subfolders for multi-site clients so the RIGHT site code goes
  onsite to the RIGHT location (Grabb Main Office is LIGHT-PEAK-6399, not Bob's House).
- Kept the GPS-RMM-AutoEnroll scheduled task DISABLED per Howard (manual sweeps only).

## Problems Encountered

- Onboard helper returned "EXISTS" for MVAN/Marc Group (already onboarded), so the first
  installer push used a bogus site code "EXISTS" — re-fetched the real codes (LOWER-FORGE-6736,
  SILVER-OCEAN-6422) and re-queued.
- Python-through-redirect on Windows mangled em-dashes/bullets (mojibake) in generated docs;
  fixed by writing ASCII-only + utf-8 encoding.
- Auto wiki-existence matcher gave false negatives on abbreviated slugs (cascades-tucson,
  klem-littlehearts, quantumwms); corrected with an explicit alias map.
- First installer-kit pass grabbed site [0] for multi-site clients (Grabb got Bob's House, not
  Main); rebuilt with per-location subfolders after Howard flagged it.
- Howard clarified installers-vs-scripts twice: the /install/<code>/<platform> endpoints return
  bootstrap SCRIPTS that download the arch-matched agent binary at run time (needs internet
  onsite). Left as scripts per Howard; noted raw binaries are at /install/<code>/download/<variant>
  if offline install is needed.

## Configuration Changes

Created:
- `projects/gps-rmm-audit/gps-master-status.md` (the master list) + pointer at top of `tracker.md`
- 20 `wiki/clients/*.md` (batch 1: brett-interiors, curtis-plumbing, gary-a-hartman, ridgetop-group,
  mineralogical-record, bill-tedards, design-and-brand-envoys, the-prairie-schooner, andys-mobile-fuel,
  business-services-tucson; batch 2: heieck-sheila, inside-track-productions, multicultural-counseling,
  mvan-enterprises, pro-tech-services, residential-renovation-engineering, robyn-pittman, tc-sorensen,
  marc-group, zeus-nestora)
- `projects/gps-rmm-audit/onsite-rmm-backup-punchlist.md`
- `.claude/memory/feedback_backup_check_only_billed.md` + MEMORY.md index line
- `C:\Users\Howard\Desktop\CLIENTS\` — 20 client installer folders + INDEX.txt (NOT in repo; local flash-drive kit)
Vault (committed):
- `clients/business-services-tucson`, `clients/andys-mobile-fuel`, `clients/little-hearts`,
  `clients/residential-renovation-engineering` — gururmm-site-main.sops.yaml (new site keys)

## Credentials & Secrets

New GuruRMM site enrollment keys (vaulted `clients/<slug>/gururmm-site-main.sops.yaml`):
- Business Services of Tucson — site **UPPER-LION-2986**
- Andy's Mobile Fuel — site **SOUTH-GATE-1261**
- Little Hearts Little Hands — site **IRON-RIVER-2297**
- Residential and Renovation Engineering — site **LIGHT-TIGER-4397**
Existing sites reused (already vaulted / bucket-C): Heieck WILD-MOON-9773, MVAN LOWER-FORGE-6736,
Marc Group SILVER-OCEAN-6422, Reliant CALM-HAWK-3954, PUTT EAST-CASTLE-3313, IMC INNER-BRIDGE-8354,
Stamback SOUTH-PHOENIX-4306, Horseshoe GOLD-OCEAN-4982, Grabb (Main LIGHT-PEAK-6399 / Bob's
LIGHT-GATE-7086 / Jeff's UPPER-FALCON-8240), Zeus GREEN-TIGER-6194, Prairie UPPER-HARBOR-4168,
T&C IRON-FORGE-1700, MCC EAST-OCEAN-2818, Valley Wide INNER-TIGER-8330, Glaz-Tech (Involta
SWIFT-HAWK-5568 + SLC + Tucson), Jimmy SILVER-LION-5647.

## Infrastructure & Servers

- **GuruRMM install endpoints**: `https://rmm.azcomputerguru.com/install/<site_code>/<platform>`
  where platform = windows | windows-x86 | windows-legacy | windows-legacy-x86 | linux | macos.
  The script auto-detects arch and pulls the binary from `/install/<code>/download/<variant>`.
  Agent WS: `wss://rmm-api.azcomputerguru.com/ws`. Binaries served from `/var/www/gururmm/downloads`.
- **GuruRMM has Windows + Linux + macOS agents** (confirmed 2026-07-07).
- ScreenConnect: only `GetSessionsByName` (no full-fleet listing) — need hostnames to target.

## Commands & Outputs

```bash
# regenerate master status (live RMM + backup-map map + gps-clients.json)
# see the generator in-session; writes projects/gps-rmm-audit/gps-master-status.md
# onboard a client+site: POST /api/clients {name}; POST /api/sites {client_id,name:Main}; vault key
# site code for a client: GET /api/clients/<id>/sites -> .[].site_code (multi-site clients have >1)
# onsite installer: curl -sL https://rmm.azcomputerguru.com/install/<code>/{windows,linux,macos}
```

## Pending / Incomplete Tasks

- **Howard going onsite** with the CLIENTS flash-drive kit to install RMM per site; will report
  machine details -> enter into each client wiki + reconcile master-status.
- Blocked onboarding info still needed from Howard: Andy's (no known machines), Little Hearts
  (SC session names / confirm NinjaRMM). Macs (Heieck, Res&Reno) enroll onsite via macOS installer.
- 3 queued installers (KAT1/MITCH-LAPTOP/DESKTOP-6HT5SJ9/LAPTOP-JMUNGO) install on reconnect.
- Backup: Mike/Winter still owe a reply on the 4 (now endpoint-verified NOT backing up) + the
  Datto Workplace super-admin API key (existing key = 0 projects).
- 7 billed-backup clients FAIL + 2 REVIEW (see backup-map.md) — billing/fix decisions for Mike/Winter.
- Offline-install option: raw agent binaries at `/install/<code>/download/<variant>` if a site has no internet.

## Reference Information

- Master list: `projects/gps-rmm-audit/gps-master-status.md`
- Onsite punch-list: `projects/gps-rmm-audit/onsite-rmm-backup-punchlist.md`
- Backup map: `projects/gps-rmm-audit/backup-map.md`; tracker: `projects/gps-rmm-audit/tracker.md`
- Installer kit (local): `C:\Users\Howard\Desktop\CLIENTS\` (INDEX.txt lists all sites+codes)
- Memory: `feedback_backup_check_only_billed`, `reference_msp360_backup_monitoring`,
  `feedback_backup_targets_never_guessed`
