Commit Graph

705 Commits

Author SHA1 Message Date
35d3a39242 client/cascades: britney.thompson M365 offboarding complete — sign-in blocked, license removed, litigation hold
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 14:42:05 -07:00
517278f66f sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-20 14:38:07
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-05-20 14:38:07
2026-05-20 14:38:15 -07:00
ae791e321d client/cascades: Phase 2.6 COMPLETE — 13 printers, 4 GPOs, 5 accounts disabled
Detailed context:
- Task: Cascades of Tucson Phase 2.6 — printer migration, GPO deployment, account cleanup
- Changes:
  - phase2-print-server.ps1: all 13 printers complete, Epson driver/share notes added
  - active-directory.md: 5 stale accounts disabled, 4 GPOs created, pending issues cleared, printer share table updated
  - Session log: 2026-05-20 Howard session covering all Phase 2.6 work
- Status: Phase 2.6 complete

Files modified:
- clients/cascades-tucson/docs/migration/scripts/phase2-print-server.ps1
- clients/cascades-tucson/docs/servers/active-directory.md
- clients/cascades-tucson/session-logs/2026-05-20-howard-phase2.6-printers-gpos-account-cleanup.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 14:04:08 -07:00
dc29e2ff24 client/cascades: phase2-print-server.ps1 — 8 printers installed on CS-SERVER
Rewrote with verified IPs and confirmed drivers. All 8 printers created and
shared via GuruRMM 2026-05-20. Deferred: FrontDesk Epson (needs Epson
Universal driver), Health-206 Konica Minolta (needs KM PCL6 Universal driver).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 14:04:08 -07:00
ba8526eae7 fix: make check-messages.sh hook path-agnostic for D: and C: roots
Hook now tries D:/claudetools then C:/claudetools so it works on both
Mike's machine and Howard's without either needing machine-local config.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 14:04:08 -07:00
75e3d38de8 client/cascades: n.castro cleanup, share docs, hook path fix
- active-directory.md: disable n.castro (AD + M365), fix stale Alma.Montt
  pending entry (she is intentionally cloud-only), restructure SMB shares
  section into new Phase 2.5 / legacy / system buckets (verified live via
  GuruRMM Get-SmbShare 2026-05-20)
- settings.json: remove hardcoded D:/claudetools UserPromptSubmit hook
  (machine-specific path belongs in settings.local.json only; Howard's
  machine is C:/claudetools)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 14:04:08 -07:00
098e1d4156 sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-20 10:58:31
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-05-20 10:58:31
2026-05-20 10:58:35 -07:00
1f8a9dbc8d Session log: EOP access fix + Alma Montt mailbox investigation (Cascades Tucson)
- Fixed Exchange.ManageAsApp missing from Security Investigator app registration
- Granted role directly in Cascades tenant via Graph API
- Investigated Alma Montt mailbox: no delivery blocks found, specific sender TBD

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 10:39:15 -07:00
020ae0cc1c feat: Discord bot — per-session rules, user identity, and DISCORD_CLAUDE.md
- Add DISCORD_CLAUDE.md as the Discord bot's dedicated system prompt,
  replacing the main CLAUDE.md for bot sessions. Covers: no-interactive
  rules, Discord user authorization, vault/remediation guidance, /save
  after every task, and formatting rules for Discord.

- config.py: add discord_system_prompt field (default: projects/discord-bot/
  DISCORD_CLAUDE.md, overridable via env var).

- client.py: _load_system_prompt() now loads discord_system_prompt path
  with fallback to CLAUDE.md if file is missing.

- message_handler.py: inject [DISCORD_CONTEXT] header into every agent
  message containing Discord username, display name, user ID, channel,
  and guild so the agent always knows who is asking.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 10:11:36 -07:00
377ab3a63f sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-20 09:02:03
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-05-20 09:02:03
2026-05-20 09:02:06 -07:00
f4b935b394 sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-20 08:25:48
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-05-20 08:25:48
2026-05-20 08:25:53 -07:00
35ee135b0f sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-20 07:37:32
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-05-20 07:37:32
2026-05-20 07:37:43 -07:00
35c1270941 sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-20 06:52:41
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-05-20 06:52:41
2026-05-20 06:52:58 -07:00
5b99e4b80b sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-20 05:51:25
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-05-20 05:51:25
2026-05-20 05:51:29 -07:00
7bca175176 sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-20 05:10:44
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-05-20 05:10:44
2026-05-20 05:13:16 -07:00
d246992d09 Session log: Coordination hook auto-initialization fix
Comprehensive session log documenting the fix for broken coordination hooks
across all machines. The UserPromptSubmit hook now auto-creates the required
.claude/current-mode file with "general" as default if missing.

Session highlights:
- Root cause analysis of missing machine-local mode file
- Implementation of auto-creation logic in check-messages.sh
- Documentation updates in CLAUDE.md and ONBOARDING.md
- Successful deployment and sync with 15 remote commits
- Zero manual setup required for future machines

Impact: Fixes coordination hooks permanently, prevents fresh-clone failures

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-20 05:10:24 -07:00
b62ea2d4e7 sync: auto-sync from HOWARD-HOME at 2026-05-19 22:36:25
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-05-19 22:36:25
2026-05-19 22:36:27 -07:00
7da6a81aa4 fix: add C:/claudetools to sync.sh candidate path list
HOWARD-HOME installs to C: not D:, causing sync.sh to fail with
"Not in a git working tree" on that machine.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 22:33:04 -07:00
468f4287bf client/cascades: session log + AD doc update 2026-05-20
Phase 2.5 complete. Folder redirection GPO decision documented — deferred
to Phase 3 (blocked on domain joins). Pending items carried forward.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 22:32:20 -07:00
3328a24742 client/cascades: Phase 2.5 AD groups and shares — COMPLETE
Created SG-Mgmt-RW, SG-Sales-RO, SG-Activities-RW in OU=Groups.
Created SMB shares Management, Sales, Activities, Server on D:\Shares
with ABE enabled and correct NTFS ACLs per group.
Scripts run on CS-SERVER via GuruRMM 2026-05-20. AD doc updated to live state.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 22:32:20 -07:00
d5d2580dd5 chore: update gururmm submodule — PS format specifier fix
Points to 8404a3c: fix AddToGroup/RemoveFromGroup Windows build error.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 19:09:21 -07:00
4b5bf0e7a9 chore: update gururmm submodule — agent compile fix
Points to e1ea40a: fix agent compile errors from audit remediation.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 19:02:28 -07:00
9ac26b0963 chore: update gururmm submodule — audit remediation
Points submodule to 9d917c3: security, quality, and three new UI pages
from the 2026-05-19 audit pass.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 18:55:27 -07:00
7a23101a59 audit: GuruRMM end-to-end audit 2026-05-19 — 1 CRITICAL, 11 HIGH, 18 MEDIUM, 8 LOW
Updates guru-rmm submodule pointer to include the audit report
(reports/2026-05-19-rmm-audit.md) and updated UI_GAPS.md living doc
from the /rmm-audit skill run.

Note: .claude/CLAUDE.md (/rmm-audit command row) and
.claude/skills/rmm-audit/SKILL.md were committed in the prior
sync at 5ead5d4.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 18:20:29 -07:00
814310c9e1 sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-19 18:02:34
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-05-19 18:02:34
2026-05-19 18:02:38 -07:00
3c4ae42fee feat: add /rmm-audit skill for periodic GuruRMM end-to-end verification
5-pass audit: API/route inventory, UI gap detection, Rust quality, TypeScript
quality, and data integrity/security. Produces timestamped reports in
projects/msp-tools/guru-rmm/reports/ and keeps UI_GAPS.md current.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 17:58:31 -07:00
5ead5d4dee sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-19 17:56:56
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-05-19 17:56:56
2026-05-19 17:57:02 -07:00
b918776eee chore: update guru-rmm submodule to e5ac537
Records new HEAD after user_inventory policy wiring (feat commit e5ac537).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 17:48:26 -07:00
b804a92a05 Session log: GuruRMM 4-bug fix + MSP360 backup integration 2026-05-19
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 16:54:06 -07:00
6608c05674 Session log: Howard Cascades Alma Montt account completion 2026-05-19
Cloud-only M365 user created, SPB license assigned, SSPR group added,
CA/MFA audit, Syncro billing for tickets #109316879 and #110120097.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 13:22:52 -07:00
d7dde25d92 sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-19 09:48:16
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-05-19 09:48:16
2026-05-19 09:48:20 -07:00
ebd1d174fb fix: auto-create .claude/current-mode if missing for coordination hooks
The UserPromptSubmit hook requires .claude/current-mode to determine work mode
and gate coordination lock checks. This file is machine-local (gitignored) but
had no initialization logic for fresh clones, causing hooks to fail.

Changes:
- check-messages.sh: Added auto-creation logic with "general" as default
- CLAUDE.md: Documented auto-initialization behavior
- ONBOARDING.md: Added machine-local configuration section
- session-logs/2026-05-19-session.md: Documented investigation and fix

Impact:
- Fixes coordination hooks on all machines
- Prevents first-clone hook failures
- No manual setup required
- Backwards compatible

Resolves: "cood hook seems to be broken on all my machines"

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-19 09:47:28 -07:00
7f2a99a4e5 Session log: GuruRMM agent deployment - clickable metrics feature now live
- Investigated auto-update system and agent deployment status
- Verified 35 agents (70%) already on v0.6.22 with process collection
- Confirmed process data collection and API functionality working
- Feature is fully operational in production for all v0.6.22 agents
- 15 offline agents will auto-update when they reconnect
- Updated guru-rmm submodule reference to commit 55e8a86

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-19 09:33:45 -07:00
1864dcad4c Session log: Howard caregiver reconciliation and new account provisioning 2026-05-18
Cascades of Tucson — created 4 new caregiver accounts, Alma Montt admin account,
terminated Niel Castro, reclassified Celia Lassey and Patricia Sandoval-Beck from
SG-Caregivers. Entra sync run; Alma Montt M365 license pending background task.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 21:25:15 -07:00
d744f9b656 Session log: MSP360 API credentials vaulted
Added MSP360 Managed Backup Service API credentials to SOPS vault.

Session work:
- Created temporary file for user to input API credentials
- Generated SOPS-encrypted vault entry at msp-tools/msp360-api.sops.yaml
- Verified decryption with vault wrapper script
- Committed and pushed to vault repository (5e8cb0b)
- Deleted temporary unencrypted file

Credentials stored for GuruRMM MSPBackups integration (P2 priority):
- API Login and Password for MSP360 authentication
- Bearer token flow documented
- Monitoring endpoint available for backup status polling

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-18 20:17:18 -07:00
ed409b7f1d Session log: GuruRMM Client Portal and three-level identity hierarchy
Documented completion of Client Portal feature work for GuruRMM. Extended
multi-tenancy architecture from two levels (Dev → Partner) to three levels
(Dev → Partner → Client).

Session work included:
- Added comprehensive Client Portal section to GuruRMM roadmap (~200 lines)
- Updated Multi-Tenancy section for three-level hierarchy
- Integrated Client Portal with PSA/CRM module
- Removed "customer portal" from PSA out-of-scope list
- Documented database schema (clients table, client_users table, client_id columns)
- Defined authentication/authorization for client users
- Specified UI/dashboard requirements for client portal
- Documented impersonation chain: Dev → Partner → Client

Commits referenced:
- guru-rmm be7b2ce: Client Portal feature
- ClaudeTools 201dfb1: Submodule update

This session was a continuation of earlier roadmap work that included PSA/CRM
module, standalone PSA capability, multi-tenancy identity model (ADR-001),
MSPBackups integration, and Integration Catalog.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-18 20:01:40 -07:00
201dfb1ed1 chore: update guru-rmm submodule for Client Portal feature
Updated guru-rmm submodule reference to include Client Portal feature and
three-level identity hierarchy (Dev → Partner → Client).

Submodule changes (be7b2ce):
- Added comprehensive Client Portal section to roadmap
- Updated Multi-Tenancy architecture for three-level hierarchy
- Integrated Client Portal with PSA module
- Removed customer portal from PSA out-of-scope list
- Documented impersonation chain and data isolation for clients

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-18 19:59:29 -07:00
095ee95ff5 chore: Update guru-rmm submodule reference
Added MSPBackups integration and Integration Catalog to roadmap (cc7dce0)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-18 19:47:39 -07:00
241258d9eb chore: Update guru-rmm submodule reference
Added multi-tenancy architecture decision and roadmap section (423e0af)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-18 19:33:20 -07:00
9b731a76b6 chore: Update guru-rmm submodule reference
Added standalone deployment capability to PSA/CRM roadmap (49260e6)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-18 19:19:45 -07:00
6bf66fa99e chore: Update guru-rmm submodule reference
Added PSA/CRM Module & Plugin Architecture to roadmap (687753d)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-18 19:10:53 -07:00
02d700e23c sync: auto-sync from Mikes-MacBook-Air.local at 2026-05-18 17:25:32
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-05-18 17:25:32
2026-05-18 17:25:33 -07:00
1970919abd sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-18 15:57:51
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-05-18 15:57:51
2026-05-18 15:57:56 -07:00
f769a16846 sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-18 11:28:04
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-05-18 11:28:04
2026-05-18 11:28:07 -07:00
a6a34ee478 sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-18 11:00:37
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-05-18 11:00:37
2026-05-18 11:02:00 -07:00
3069b0ae51 Session log: Howard billing review and Syncro ticket updates 2026-05-18
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 08:50:26 -07:00
e3f703178a Session log: Mac Gitea connectivity diagnosis and sync resolution
Diagnosed and resolved ClaudeTools sync issues on Mac. Network connectivity
to internal Gitea server (172.16.3.20:3000) was working but slow through
Tailscale relay after office power failure recovery. Resolved submodule
conflict during rebase and successfully synced repository.

- Comprehensive network diagnostics (Tailscale, routing, connectivity)
- Manual submodule conflict resolution (guru-rmm reference)
- Context recovery from recent PC sessions (power failure recovery, GuruRMM dev)
- Directives refresh confirmed

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-18 08:28:29 -07:00
9403dccffe sync: auto-sync from Mikes-MacBook-Air.local at 2026-05-17 22:18:07
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-05-17 22:18:07
2026-05-17 22:23:02 -07:00
3baaf91183 sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-17 22:07:52
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-05-17 22:07:52
2026-05-17 22:07:59 -07:00
acb0af9d3a sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-16 18:09:05
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-05-16 18:09:05
2026-05-16 18:09:33 -07:00