8.1 KiB
User
- User: Howard Enos (howard)
- Machine: Howard-Home
- Role: tech
Session Summary
Built and delivered the GPS -> GuruRMM paying-vs-enrolled reconciliation to Winter, then
ran a live billing reconciliation with Winter and Mike in #ct-forum and turned the answers
into an actionable deploy split. Started from gps-master-status.md (2026-07-07), pulled a
live GuruRMM /api/agents count (2026-07-08) for all 40 active GPS clients, and produced a
per-client table of GPS devices billed (Syncro) vs unique machines enrolled (RMM), grouped
into under-enrolled / matched / over-enrolled. Sent the full list to Winter via Discord DM
(and to Howard), then posted the billing questions to the private #ct-forum forum thread and
blocked on human replies via the ask-forum background-wait pattern.
Winter and Mike answered over several rounds. Over-enrolled clients turned out to be stale billing on our side: live Syncro confirmed Safesite (47), Dataforth (52), Design & Brand Envoys (3), Quantum Wealth (4), and Arizona Medical Transit (2) all now match RMM. Cascades bills off a Syncro-asset counter (not a fixed qty). Jimmy Company is billed annually (qty 12 = 1 machine x 12 months minus a prepay discount) — 1 machine, correct. Mike ruled MVAN stays on GPS, PUTT keeps GPS only for the owner's personal account, and Stamback's count was wrong; Winter then adjusted PUTT 7->2 and Stamback 8->3 in Syncro (both now match RMM). For the remaining under-enrolled clients (Horseshoe, Reliant, Grabb, RARE, etc.) Winter said the bills are correct — auto-install agents where possible.
Howard corrected a skill-first violation mid-session (I had hand-rolled raw curl against
ScreenConnect and Syncro instead of using the /screenconnect sc.py wrapper and
/rmm-search). Switched to the skills: pulled the full ScreenConnect Access fleet (959
sessions) via sc.py, listed each target client's enrolled hostnames via rmm-search, and
cross-referenced to compute the true deployable gap (SC-online + Windows + not in RMM). Result:
4 machines are auto-installable right now — Horseshoe DESKTOP-5DD8C43, T&C Sorensen SERVER,
Residential & Renovation DESKTOP-83II6D8, MVAN JUNE — everything else in the gap is genuinely
onsite (no SC session, long-offline, or Mac). No agents were pushed (end of day).
Closed by documenting everything: rewrote gps-master-status.md with live counts + a
reconciliation section, added a dated section + next-session plan to tracker.md, marked the
onsite sites in onsite-check-list.md, fixed targets.json (PUTT/Stamback), and updated 15
customer wiki articles (via a background documentation agent) with each client's account change.
Key Decisions
- Used the authoritative
gps-master-status.mdlist but live-refreshed RMM counts (2026-07-08) before sending to Winter — over/under gaps are billing decisions, so current data mattered. - Routed the billing questions through
/ask-forum(human-in-the-loop) rather than guessing; Winter is billing authority, Mike is owner. Multi-round background waits, zero tokens idle. - Grouped the list under/matched/over so the billing signal (possible under-billing vs deploy gap) is explicit for Winter.
- Deploy split computed as SC-online AND Windows AND not-already-in-RMM — many online SC sessions (GND-SERVER, HSM-NEWSERVER, T&C already-enrolled boxes) are already managed, so raw SC reachability would overstate the gap.
- Did NOT push any agents — Howard was wrapping for the day; recorded the 4 reachable targets + method for tomorrow.
- Held Glaz-Tech (159 monthly / 88) and Brett (4 RMM / 3 billed) as open — Mike/Winter ruling pending; not chased.
Problems Encountered
- Skill-first violation: hand-rolled curl against ScreenConnect + Syncro instead of using
/screenconnect(sc.py) and/rmm-search. Howard corrected it; logged to errorlog.md (--correction). Switched to skills for the reachability + enrollment lookups. - SC company tags are inconsistent (typos/splits): "MVAN Enterprised", "BST - Business Services of Tucon", "Reliant / Farwest" (mixes Farwest/Wilcox, separate clients). Cross-referenced by hostname against RMM per client instead of trusting CP1 tags alone.
- rmm-search -c "Residential" matched Sombra Residential LLC, not RARE — RARE has 0 in RMM; its SC machines (DESKTOP-83II6D8 online, DESKTOP-K8UVNL5 offline) are under the "Residential and Renovation" SC company.
- SC session OS lives at .GuestInfo.OperatingSystemName (top-level GuestOperatingSystemName is absent) — confirmed all 4 deploy candidates are Windows (MVAN JUNE is a Win11 box, not the Mac).
Configuration Changes
- Modified
projects/gps-rmm-audit/gps-master-status.md— full rewrite: live 2026-07-08 counts, 2026-07-08 reconciliation section, corrected billing, deploy split, open items. - Modified
projects/gps-rmm-audit/tracker.md— added "2026-07-08 Winter/Mike billing reconciliation + deploy split" section with next-session plan. - Modified
projects/gps-rmm-audit/onsite-check-list.md— 2026-07-08 update: 4 reachable push-pending machines called out; removed PUTT/Stamback (resolved by billing); updated MVAN, RARE, Marc, QWM entries; Jimmy resolved, Glaz-Tech/Brett held. - Modified
projects/gps-rmm-audit/targets.json— PUTT target 7->2, Stamback 8->3 (bucket B). - Modified 15 wiki articles under
wiki/clients/(putt-land-surveying, stamback-septic, jimmy, cascades-tucson, safesite, dataforth, design-and-brand-envoys, quantumwms, arizona-medical-transit, mvan-enterprises, horseshoe-management, reliant-well-drilling, grabb-durando, residential-renovation-engineering, tc-sorensen) — each with its 2026-07-08 account change. - Appended one correction entry to
errorlog.md.
Credentials & Secrets
None created or newly discovered. Used existing vaulted credentials via skills: Syncro per-user
API key (howard), ScreenConnect api_secret (msp-tools/screenconnect.sops.yaml), Discord bot
token (projects/discord-bot/bot-token.sops.yaml), GuruRMM auth (rmm-auth.sh).
Infrastructure & Servers
- GuruRMM API: live
/api/agents(via rmm-auth.sh); 475 agent rows, 2026-07-08. - ScreenConnect: https://computerguru.screenconnect.com — 959 Access + 26 Support sessions.
- Syncro: https://computerguru.syncromsp.com/api/v1 — recurring schedules per customer.
- #ct-forum thread 1524553413629837444 (Discord) — the reconciliation Q&A.
- Deploy sites: Horseshoe GOLD-OCEAN-4982, T&C Sorensen IRON-FORGE-1700, RARE LIGHT-TIGER-4397, MVAN LOWER-FORGE-6736.
Commands & Outputs
- Live RMM per-client counts:
curl /api/agents | jq group_by(client_name) unique hostnames. - SC fleet:
sc.py sessions --json(959) ; online = ActiveConnections[].ProcessType==2 ; OS = .GuestInfo.OperatingSystemName. - Enrolled per client:
rmm-search.sh -c "<client>" --json | jq .[].hostname. - Syncro billed GPS qty:
GET /schedules?customer_id=<cid>->GET /schedules/<id>-> sum GPS device SKUs (exclude AntiVirus/addon/discount/setup/trial). - ask-forum background wait:
ask-forum.sh --wait <thread> --after <msg_id> --timeout 3600.
Pending / Incomplete Tasks
- NEXT SESSION (2026-07-09): push GuruRMM one-liner to the 4 reachable machines via
/screenconnect send-command --confirm(site one-lineriex (irm 'https://rmm.azcomputerguru.com/install/<SITE_CODE>/windows')), verify each via rmm-search. - Get Mike/Winter ruling on Glaz-Tech (159 billed monthly / 88 RMM) and Brett Interiors (4 RMM / 3 billed, +1).
- Onsite queue: MVAN x3 (CPC-chris-UZR6E, DESKTOP-I7504C5, June's MacBook, MITCH-LAPTOP), Grabb x3 (GND-ASUSWS, GND-JEANNETTE, HOMEPC), Horseshoe x2 (HSM-RANDI, HSM-SURFACE), Reliant reconcile (~13 assets vs 9 billed), Multicultural x1, BSoT x1, Marc x1 (Mac), Heieck/Little Hearts/Andy's (no footprint).
- Optional: run
/wiki-compileto refresh affected client articles from these logs.
Reference Information
- Plan docs:
projects/gps-rmm-audit/{gps-master-status.md,tracker.md,onsite-check-list.md,targets.json}. - SC deploy method verified 2026-07-08 (memory
reference_rmm_deploy_via_screenconnect,/screenconnectSKILL.md). - Forum thread: 1524553413629837444. Winter Discord id 624666486362996755; Mike 264814939619721216.