Commit Graph

340 Commits

Author SHA1 Message Date
a72e2e12d5 Session log: BG Builders billing fix + OITVOIP API research
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 15:42:08 -07:00
0a70aad0d2 sync: auto-sync from ACG-TECH03L at 2026-04-20 14:15:01
Author: Howard Enos
Machine: ACG-TECH03L
Timestamp: 2026-04-20 14:15:01
2026-04-20 14:15:07 -07:00
9924e0cfed Session log: glaztech DMARC override + syncro skill billing fix
- clients/glaztech/session-logs/2026-04-20-session.md: Exchange Online
  transport rule created to bypass DMARC for clearcutglass.com
- session-logs/2026-04-20-session.md: update with 12:55 work
- .claude/commands/syncro.md: fix billing workflow — comment endpoint
  silently drops time fields; use timer_entry endpoint instead

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 12:56:31 -07:00
41e1f1f22f Session log: CLAUDE.md optimization + python3/py fix
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 12:48:42 -07:00
391178ef02 fix: replace python3 with py/jq throughout scripts and docs
Windows Store python3 stub returns exit 49 instead of running Python.
Replace with: py (Windows launcher) for actual Python code, jq for
simple JSON extraction. Reorder fallback loops to try py first.
Add Bash(py:*) to settings.local.json allowlist.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 12:14:43 -07:00
a50af7faf1 refactor: optimize CLAUDE.md context footprint (-49%)
Extract Ollama docs and PROJECT_STATE locking protocol to on-demand
reference files. Trim Work Mode to detection table only. Remove verbose
anti-pattern examples and credential encryption details.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 12:09:17 -07:00
30af2d31c7 fix: update submodules to latest remote before staging in sync.sh
git add -A captured the stale submodule pointer on Howard's machine
(April 18 init, not updated) and committed it, causing a conflict.
Now sync always runs git submodule update --remote first so the pointer
is current before staging.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 11:49:52 -07:00
b3d15cb199 sync: auto-sync from DESKTOP-0O8A1RL at 2026-04-20 11:47:09
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-04-20 11:47:09
2026-04-20 11:47:32 -07:00
3d03de7b47 sync: auto-sync from ACG-TECH03L at 2026-04-20 11:42:02
Author: Howard Enos
Machine: ACG-TECH03L
Timestamp: 2026-04-20 11:42:02
2026-04-20 11:42:05 -07:00
2eb2d2f9dc Session log: remediation skill rewrite (5-app tiered arch) + Cascades breach check John Trozzi
- Rewrote get-token.sh: tiered app system (investigator/exchange-op/user-manager/tenant-admin/defender)
- Updated SKILL.md, command, gotchas, checklist, graph-endpoints for new app suite
- Cascades breach check: mailbox clean, inbound phishing received by John, DMARC gap noted

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 11:35:18 -07:00
a7afd52c76 Remediation report: breach check john.trozzi@cascadestucson.com — mailbox clean, phishing received
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 11:35:18 -07:00
52e625f102 report: Cascades Tucson phishing sweep - deleted 14 phish across 7 users
Triggered by John Trozzi reporting a spoof email. Single-user check
confirmed him clean (reported, not compromised). Tenant-wide sweep
found a sustained ~1 month campaign from 4 external IPs (UA/US/DE/AT
- deltahost + ColoCrossing) plus a compromised-M365-tenant relay
vector. Deleted 14 messages (Groups A+B) per Mike's explicit
authorization. Preserved legitimate HR thread (HRPYDBRUN xlsx) and
user outbound forwards as evidence.

Recommendations in report: DMARC p=quarantine/reject for
cascadestucson.com (biggest leverage), TABL IP blocks, zoom.nl
URL block, Defender impersonation protection.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 09:39:22 -07:00
545496c22a sync: auto-sync from DESKTOP-0O8A1RL at 2026-04-20 08:05:31
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-04-20 08:05:31
2026-04-20 08:05:34 -07:00
b2d58bbbf0 session: Mac GuruRMM agent deployment + Grabb & Durando user provisioning started
Work completed on Mac:
- GuruRMM agent v0.6.1 deployed successfully
- Agent ID: 001d5198-7807-4d63-b46d-069c9c10ed75
- Root command execution verified (61ms)
- PROJECT_STATE.md updated with deployment details
- Passwordless sudo configured for GuruRMM operations

Work in progress (continue on Windows):
- Grabb & Durando user provisioning for Svetlana Larionova
- Email: slarionova@grabblaw.com
- Start date: Tuesday, April 22, 2026 (tomorrow)
- Admin credentials: sysadmin@grabblaw.com / r3tr0gradE99!
- Tenant: 032b383e-96e4-491b-880d-3fd3295672c3
- Consent link issues - will create manually in Admin Center

Session log: 331 lines, comprehensive documentation for context recovery

Machine: Mikes-MacBook-Air.local
Timestamp: 2026-04-20 07:59:00

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-20 08:04:27 -07:00
687f33146e merge: sync from Howard's laptop - Cascades Intune MDM work + submodule update
Merged Howard's work from ACG-TECH03L:
- Cascades Tucson PROJECT_STATE updated with Intune MDM enrollment
- New session log: Howard's Intune prerequisites and enrollment profile setup
- GuruRMM submodule updated to b91ac5e (parallel build improvements)

Resolved submodule conflict by taking latest origin/main (b91ac5e).

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-20 05:44:29 -07:00
596b4e65ae sync: auto-sync from Mikes-MacBook-Air.local at 2026-04-20 05:43:53
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-04-20 05:43:53
2026-04-20 05:43:54 -07:00
41f5b6a21c sync: auto-sync from ACG-TECH03L at 2026-04-20 00:02:36
Author: Howard Enos
Machine: ACG-TECH03L
Timestamp: 2026-04-20 00:02:36
2026-04-20 00:02:38 -07:00
27c2df201e sync: auto-sync from DESKTOP-0O8A1RL at 2026-04-19 20:31:28
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-04-19 20:31:28
2026-04-19 20:31:28 -07:00
eb27a5e8e4 session: log PROJECT_STATE rollout + GuruRMM overnight work summary
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 19:42:57 -07:00
e5f4bbc105 docs: update GuruRMM agent PROJECT_STATE with Mac deployment (v0.6.1)
- macOS ARM64 agent deployed to Mikes-MacBook-Air.local
- Agent ID: 001d5198-7807-4d63-b46d-069c9c10ed75
- Authenticated successfully with site code SWIFT-CLOUD-6910
- Remote command execution verified (root privileges)
- LaunchDaemon service configured
- Passwordless sudo rules created for manual operations
- Fixed authentication issue (api_key vs site_code)
- Deleted stale agent entry from April 3 crash

Machine: Mikes-MacBook-Air.local
Timestamp: 2026-04-20 19:45:00

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-19 19:39:43 -07:00
9af84b2f47 sync: auto-sync from Mikes-MacBook-Air.local at 2026-04-19 19:34:27
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-04-19 19:34:27
2026-04-19 19:34:27 -07:00
80a3e3cca4 sync: update gururmm submodule pointer 2026-04-19 18:57:36 -07:00
a6354e306f sync: auto-sync from DESKTOP-0O8A1RL at 2026-04-19 18:56:33
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-04-19 18:56:33
2026-04-19 18:56:34 -07:00
d4157cd883 chore: add Ollama Tier 0 routing — delegate low-stakes work to local models
- Tier 0 (Ollama): summarize, classify, extract, draft, format — free/fast/private
- qwen3:14b for general tasks; codestral:22b for code suggestions
- Falls back to Haiku if Ollama unreachable or task needs agent tool use
- Bump rule extended: Ollama → Haiku on security/auth/migration/production
- Delegation pattern: direct Bash curl, not an agent spawn
- Per-task model guidance and review policy documented

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 18:55:50 -07:00
0726de4c9a chore: add PROJECT_STATE.md to all active projects and clients
Establishes inter-session coordination for 29 projects/clients:
- Full lock/component format for active projects (dataforth-dos,
  radio-show, cascades-tucson, valleywide, instrumental-music-center,
  lens-auto-brokerage, msp-audit-scripts)
- Light format for complete/stalled/planning (msp-pricing, pavon,
  wrightstown-*, gururmm-agent, community-forum, glaztech, etc.)
- Onboarding stubs for recently added clients

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 18:53:34 -07:00
d1059d92f4 chore: add PROJECT_STATE.md action protocol to CLAUDE.md
Formalizes the read → lock → act → release cycle for any project
that has a PROJECT_STATE.md. Every Claude instance must:
- Re-read state before any action (not just at session start)
- Claim a lock row before touching any component
- Release lock + log result on completion or failure
- Clear stale locks (>2h) before proceeding
Applies to code edits, git ops, SSH/deploy, DB migrations, builds.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 18:52:15 -07:00
dac7043bdf chore: add GuruRMM inter-session coordination system + PROJECT_STATE hook
- CONTEXT.md: static reference (infra, build pipeline, arch decisions, anti-patterns)
- PROJECT_STATE.md: live inter-session state tracker (locks, changelog, pending)
- CLAUDE.md: auto-read PROJECT_STATE.md alongside CONTEXT.md on GuruRMM context load
- Session log 2026-04-20: enrollment Option 3, installer Option B, no-TOML prohibition
- installer/gururmm-agent.wxs + README.txt committed in submodule

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 18:37:22 -07:00
99c28d2d66 chore: update gururmm submodule to f827ab4 (v0.6.2 bump) 2026-04-19 17:29:37 -07:00
b93a9b1bf1 chore: update gururmm submodule to e93b56f (fix #7 Windows .old cleanup)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 17:19:08 -07:00
70bc3ad8c5 chore: update gururmm submodule to 5872a72 (BUG-001 temperature doc) 2026-04-19 16:25:17 -07:00
10677ae919 chore: update gururmm submodule to c80e1f1 (shadcn/ui migration + fixes)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 16:16:34 -07:00
ea3c03f340 docs: restore full /sync command documentation to repo
Restored the complete 504-line sync.md documentation from global
commands directory to the repo version. This ensures:
- Single source of truth for /sync documentation
- Documentation syncs across all machines
- PC and Mac have identical command reference

Previous simplified 39-line stub has been replaced with full
documentation including phases, examples, conflict resolution,
and troubleshooting.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-19 16:02:47 -07:00
61e940ad63 chore: update gururmm submodule to 69ed647 (server-triggered log upload) 2026-04-19 15:55:53 -07:00
46bdd90f10 chore: update gururmm submodule to fd30588 (fix update loop, Windows service name, scanner validation) 2026-04-19 15:36:18 -07:00
3eb0073348 sync: auto-sync from DESKTOP-0O8A1RL at 2026-04-19 15:16:23
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-04-19 15:16:23
2026-04-19 15:16:24 -07:00
3b2bcd49fe msg: manifest updated + Cascades consent re-run for IdentityRiskyUser APIs 2026-04-19 14:41:44 -07:00
59ee48f22b sync: auto-sync from DESKTOP-0O8A1RL at 2026-04-19 14:24:15
Author: unknown
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-04-19 14:24:15
2026-04-19 14:25:08 -07:00
cd38c72fc1 sync: auto-sync from ACG-TECH03L at 2026-04-19 13:16:07
Author: Howard Enos
Machine: ACG-TECH03L
Timestamp: 2026-04-19 13:16:07
2026-04-19 13:16:10 -07:00
8c907aabdf sync: auto-sync from ACG-TECH03L at 2026-04-19 12:57:32
Author: Howard Enos
Machine: ACG-TECH03L
Timestamp: 2026-04-19 12:57:32
2026-04-19 12:58:28 -07:00
94145715eb msg: approve IdentityRiskyUser.Read.All consent for Cascades tenant 2026-04-19 12:57:13 -07:00
9a8c04ddc2 sync: auto-sync from DESKTOP-0O8A1RL at 2026-04-19 12:55:40
Author: unknown
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-04-19 12:55:40
2026-04-19 12:55:42 -07:00
9644851810 sync: auto-sync from ACG-TECH03L at 2026-04-19 12:50:13
Author: Howard Enos
Machine: ACG-TECH03L
Timestamp: 2026-04-19 12:50:13
2026-04-19 12:50:24 -07:00
f435e47a67 chore: update gururmm submodule to 000802f (client detail page)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 09:27:04 -07:00
38adbed98b chore: update gururmm submodule to 0013da5 (site detail page)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 08:53:57 -07:00
73d10a2807 sync: auto-sync from Mikes-MacBook-Air.local at 2026-04-19 08:38:50
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-04-19 08:38:50
2026-04-19 08:38:50 -07:00
efa68512db scc: Session save and push from Mikes-MacBook-Air.local at 2026-04-19 08:34:23
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-19 08:34:23 -07:00
b053dba7e2 chore: Initialize gururmm submodule on Mac
Cloned gururmm repo as submodule at projects/msp-tools/guru-rmm
Now tracking commit f804983 (hooks + migration verification)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-19 08:31:55 -07:00
be5ca2d4c2 fix: Restore .gitmodules for gururmm submodule
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-19 08:30:51 -07:00
b0343c538e sync: Mac session - radio show prep + vanilla cake recipe
- Added fresh radio show prep HTML (April 18, 2026 broadcast)
- Created vanilla cake recipe HTML for web publishing
- Removed guru-rmm submodule (migration incomplete, needs gururmm repo)

Machine: Mikes-MacBook-Air.local
Timestamp: 2026-04-19 08:09:00

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-19 08:28:31 -07:00
e6a76215a4 chore: leave setup note for Mac Claude session (gururmm hooks)
Memory entry prompts Mac session to run scripts/install-hooks.sh
before any GuruRMM work. Syncs via Gitea on next pull.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 08:27:00 -07:00