Commit Graph

888 Commits

Author SHA1 Message Date
81d52cf0de sync: auto-sync from GURU-5070 at 2026-05-26 17:15:21
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-26 17:15:21
2026-05-26 17:15:27 -07:00
b9527cc025 docs(lonestar): Apple MDM setup reference from Syncro data
Reference doc for enrolling Lone Star's iPhone (#32251) + iPads into the
existing ManageEngine (Zoho) MDM. Pulled Syncro customer/ticket data,
flagged APNs cert prerequisite and the 2026-03-24 self-enrollment caveat.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 17:15:27 -07:00
b6335e35b8 sync: discord bot session — Syncro #32324 billing verification (Winter, 2026-05-26) 2026-05-26 16:52:17 -07:00
5da335e0df wiki: seed Lone Star Electrical Systems (client:lonestar-electrical)
Seeded from March MDM session logs + Syncro (customer 33809612) + vault.
Google Workspace shop with ManageEngine MDM (Zoho); documents the
dual-EMM self-enrollment trap resolved 2026-03-24.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 16:30:51 -07:00
08ce1739e0 sync: auto-sync from GURU-5070 at 2026-05-26 16:02:01
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-26 16:02:01
2026-05-26 16:02:05 -07:00
794c54f08f sync: auto-sync from GURU-5070 at 2026-05-26 15:58:46
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-26 15:58:46
2026-05-26 15:58:50 -07:00
746588a1da sync: auto-sync from GURU-5070 at 2026-05-26 14:02:23
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-26 14:02:23
2026-05-26 14:02:27 -07:00
ca29de533f sync: auto-sync from HOWARD-HOME at 2026-05-26 12:40:52
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-05-26 12:40:52
2026-05-26 12:40:56 -07:00
38a9b5523a feat: add GuruScan standalone multi-scanner security suite
Adds a complete PowerShell-based malware scanning toolkit:

- Invoke-GuruScan.ps1: main orchestrator running RKill, AdwCleaner,
  Emsisoft, HitmanPro, and ESET in sequence with pre/post cleanup,
  whitelist support, ForceRemove blacklist, and -Headless switch
- Invoke-PostRebootCleanup.ps1: post-reboot temp-user session that
  shows a fullscreen splash, verifies boot-time cleanup completed,
  removes scanner files, and restores the original user login name
- Download-Scanners.ps1: downloads/refreshes scanner EXEs
- Get-ScanSummary.ps1: parses results.json with optional Ollama AI analysis
- Invoke-Remediation.ps1: re-runs scanners in clean mode

Key features: exit-code-based reboot detection, whoami-based user
capture (SYSTEM-safe via quser fallback), domain\user and local
MACHINE\user restore on login screen after cleanup reboot.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 12:40:56 -07:00
a44d3579ba feat: add /wiki-compile skill + Syncro live-check in /wiki-lint
/wiki-compile: new skill that seeds or refreshes wiki client articles
from session logs and live Syncro PSA data.

- Three modes: seed (new article), refresh (surgical update), full (--full flag)
- Syncro enrichment for client targets: customer profile, contacts,
  open tickets, recent invoices, asset count
- Ambiguous customer search: pause and ask user to pick
- Customer not found: graceful warn + continue with session logs only
- Syncro is authoritative for all billing fields (hours, rate, contract type)
- Refresh mode: surgical edits only (hours, active tickets, frontmatter)
- Seed/full: Ollama qwen3:14b synthesis; Claude-direct fallback
- Asset count in Profile only — no asset detail tables in wiki
- Commits and pushes after write

/wiki-lint: add Step 6 — Syncro Live-Check
- Pulls live prepay_hours for every client article with a Syncro customer ID
- Auto-fixes stale hours in place; commits fixes in one batch
- Flags articles with open tickets and stale compiled date for review
- Adds Syncro section to lint report output

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 11:45:44 -07:00
b32af42c82 sync: auto-sync from GURU-5070 at 2026-05-26 11:30:54
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-26 11:30:54
2026-05-26 11:30:58 -07:00
da279707e7 chore(submodule): advance guru-rmm — PRODUCT.md + .gitignore .claude/
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 09:43:23 -07:00
2204596fde chore(submodule): advance guru-rmm — SPEC-008 expanded to multi-provider SSO
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 08:27:54 -07:00
c5224ec10f chore(submodule): advance guru-rmm — InventoryTab ReactNode fix
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 08:21:55 -07:00
60fcfd11fc chore(submodule): advance guru-rmm — SPEC-008 SSO / Entra ID
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 08:17:35 -07:00
19476fc7e3 chore(submodule): advance guru-rmm — SSO removed, deferred to feature request
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 08:15:00 -07:00
f70103b06b sync: auto-sync from GURU-5070 at 2026-05-26 08:07:31
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-26 08:07:31
2026-05-26 08:07:34 -07:00
a41a6539ab feat(coord): add due_at field to coord_todos
Migration 20260526_150000 adds nullable due_at datetime column. Model, schemas
(create/update/response), and sync.sh display updated. Sync output now shows
due:YYYY-MM-DDTHH:MM alongside any todo with a due date.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 08:05:00 -07:00
4fb2aa52d2 feat(coord): add todos system with per-user/machine/project scoping
New coord_todos table and API endpoints (GET/POST/PUT/DELETE /api/coord/todos)
supporting manual and auto-created items, sub-tasks via parent_id, and inclusive
for_user/for_machine filters (OR-null) for sync/save display. sync.sh Phase 7
now shows pending todos grouped by project after every sync. CLAUDE.md documents
auto-creation behavior for unresolved follow-up. Web/email pricing doc updated:
block time rate clarified, INKY reference removed, dates updated.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 07:53:22 -07:00
30fdf3986c sync: auto-sync from GURU-5070 at 2026-05-26 07:25:37
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-26 07:25:37
2026-05-26 07:25:41 -07:00
67faf92f43 sync: auto-sync from GURU-5070 at 2026-05-26 07:05:06
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-26 07:05:06
2026-05-26 07:05:10 -07:00
61aafcca00 sync: auto-sync from Mikes-MacBook-Air.local at 2026-05-26 06:19:08
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-05-26 06:19:08
2026-05-26 06:19:09 -07:00
2a79e5405d sync: auto-sync from Mikes-MacBook-Air.local at 2026-05-25 21:48:23
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-05-25 21:48:23
2026-05-25 21:48:24 -07:00
30f56e9e62 sync: auto-sync from GURU-5070 at 2026-05-25 20:25:37
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-25 20:25:37
2026-05-25 20:25:41 -07:00
328db6d5d2 sync: auto-sync from GURU-KALI at 2026-05-25 20:24:03
Author: Mike Swanson
Machine: GURU-KALI
Timestamp: 2026-05-25 20:24:03
2026-05-25 20:24:06 -07:00
462717b3fe chore(submodule): advance guru-rmm — BUG-011 :any elimination merged
PR #27 merged (fix/bug-011-no-any -> main).
Merge SHA: 3aa9ea4fb08593f41bd6ed6f8d45c2fb20df85b7
Submodule HEAD: 1c09162e29ad3b031e8c0f9f0fb9873ad170ca1b

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 18:45:42 -07:00
c484824398 chore(submodule): advance guru-rmm — BUG-009/010 isError handling merged
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 18:32:18 -07:00
5fdabb38ac chore(submodule): advance guru-rmm — BUG-008 metrics error leak fixed 2026-05-25 18:24:11 -07:00
ebf8e96ca1 chore(submodule): advance guru-rmm — BUG-007 runtime sqlx fix merged
Advances submodule pointer to ccf1361 (PR #24 merge commit 940ced1).
Converts remaining compile-time sqlx::query! macros to runtime queries,
unblocking offline/no-prepare builds.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 18:03:06 -07:00
bca3025468 chore(submodule): advance guru-rmm — feature/log-finding-dispatch merged
Adds collapsible FindingCards with agent command dispatch to log analysis.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 17:49:50 -07:00
5bb674710f chore(submodule): advance guru-rmm to post-audit-2-remediation merge
Points to main HEAD after merging fix/audit-2-remediation (BUG-002/003/006 fixes).
Feature branch feature/log-finding-dispatch preserved separately.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 16:03:59 -07:00
f63bf3fbd6 sync: auto-sync from GURU-BEAST-ROG at 2026-05-25 15:52:25
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-05-25 15:52:25
2026-05-25 15:52:29 -07:00
8101aeb601 sync: auto-sync from Mikes-MacBook-Air.local at 2026-05-25 15:51:15
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-05-25 15:51:15
2026-05-25 15:51:17 -07:00
2f48751a72 sync: auto-sync from GURU-BEAST-ROG at 2026-05-25 15:03:03
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-05-25 15:03:03
2026-05-25 15:06:20 -07:00
24442ef7f1 docs(rollout): reconcile Phase 5/6 docs — safe-rollout gating is inert (BUG-004)
Per the 2026-05-25 re-audit + Mike's decision (option b): the safe-rollout
promotion gating these docs describe/test is NOT live (update_rollouts /
update_health_metrics written-but-never-read; crash detection dead until the
unmerged BUG-002 fix). Added a [WARNING] STATUS banner to the test plan, verify
script, and the two 'complete' summaries so they aren't trusted as validating a
working feature. Automation is a roadmap Phase-2 item requiring a full re-spec.
2026-05-25 15:04:44 -07:00
4673db0754 fix: Correct server name from Saturn to gururmm-build
Saturn is decommissioned. The GuruRMM build server at 172.16.3.30
is correctly named 'gururmm-build'.

Also fixed wiki standards template that incorrectly listed Neptune
as 172.16.3.30. Neptune is actually the Exchange server at Dataforth
(172.16.3.11), not the GuruRMM build server.

Updated files:
- PHASE_6_TEST_PLAN.md (all Saturn references)
- verify-rollout-system.sh (comments)
- session-logs/2026-05-25-session.md (all Saturn references)
- .claude/specs/wiki-layer/standards.md (Neptune example)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-25 14:24:02 -07:00
916a9dd735 sync: auto-sync from GURU-5070 at 2026-05-25 14:23:41
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-25 14:23:41
2026-05-25 14:23:44 -07:00
5aa3e3cd59 save: GURU-5070 session update — identity audit, build unblock, v0.3.22 2026-05-25 14:21:47 -07:00
9e171fe2fe sync: auto-sync from Mikes-MacBook-Air.local at 2026-05-25 14:19:29
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-05-25 14:19:29
2026-05-25 14:19:46 -07:00
e930fee803 sync: auto-sync from GURU-KALI at 2026-05-25 14:18:15
Author: Mike Swanson
Machine: GURU-KALI
Timestamp: 2026-05-25 14:18:15
2026-05-25 14:18:16 -07:00
dee6888a7e sync: auto-sync from GURU-KALI at 2026-05-25 14:06:01
Author: Mike Swanson
Machine: GURU-KALI
Timestamp: 2026-05-25 14:06:01
2026-05-25 14:06:03 -07:00
887b9900a6 test: Add Phase 6 testing plan and verification script
Created comprehensive test plan covering:
- Test 1: Beta-first build workflow
- Test 2: Health monitoring and crash detection
- Test 3: Promotion workflow with health gates
- Test 4: Rollback and force-downgrade
- Test 5: Dashboard UI testing
- Test 6: End-to-end integration testing

Added verification script for Saturn:
- Checks all 5 phases implementation
- Verifies database tables, source files, routes
- Validates build artifacts and service status
- Provides clear pass/fail status

Usage: Run verify-rollout-system.sh on Saturn before Phase 6 testing.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-25 13:59:28 -07:00
3fce283b66 sync: auto-sync from Mikes-MacBook-Air.local at 2026-05-25 13:53:11
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-05-25 13:53:11
2026-05-25 13:53:13 -07:00
37705ff928 sync: auto-sync from GURU-KALI at 2026-05-25 13:52:42
Author: Mike Swanson
Machine: GURU-KALI
Timestamp: 2026-05-25 13:52:42
2026-05-25 13:52:43 -07:00
4424d34578 sync: auto-sync from GURU-KALI at 2026-05-25 13:49:31
Author: Mike Swanson
Machine: GURU-KALI
Timestamp: 2026-05-25 13:49:31
2026-05-25 13:49:32 -07:00
f8bf4e6725 fix: Strip .local suffix from hostname in coord message hook
Problem: macOS hostname command returns 'Mikes-MacBook-Air.local' but
coord messages are addressed to 'Mikes-MacBook-Air/claude-main'. Hook
script was querying for wrong session ID, so messages never displayed.

Fix: Strip .local suffix using bash parameter expansion before building
session ID.

Result: Coord messages now display correctly on macOS machines.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-25 13:18:33 -07:00
a1089dfb1c sync: auto-sync from GURU-BEAST-ROG at 2026-05-25 13:17:49
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-05-25 13:17:49
2026-05-25 13:17:52 -07:00
53025d2338 sync: auto-sync from GURU-BEAST-ROG at 2026-05-25 13:13:02
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-05-25 13:13:02
2026-05-25 13:13:08 -07:00
edd74f70b4 sync: auto-sync from GURU-5070 at 2026-05-25 13:03:19
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-25 13:03:19
2026-05-25 13:03:22 -07:00
d38d588e6a sync: auto-sync from GURU-5070 at 2026-05-25 13:01:54
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-25 13:01:54
2026-05-25 13:01:57 -07:00