Commit Graph

2289 Commits

Author SHA1 Message Date
017dcdf04c voip: VWP park extension 107 (Payroll) - shared mailbox
Extension 107 (Payroll) marked as PARKED pending decision on shared mailbox setup.
Removed from CSV bulk import (11 -> 10 users).
Updated all documentation to reflect new counts: 13 matched, 1 shared, 4 parked.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-07-10 07:59:00 -07:00
2f35163866 harness: read Syncro keys from vault, stop hardcoding the repo root
Two defects found while running /wiki-compile, both from tooling assuming
a path instead of resolving it.

1. Plaintext Syncro API keys. Mike's and Howard's live PSA keys were
   copy-pasted into three command files, a script, and two catalog docs --
   despite both already being vaulted at msp-tools/syncro and
   msp-tools/syncro-howard. Replaced with reads from the SOPS vault via a
   new sourced helper, .claude/scripts/syncro-env.sh. Write paths fail
   closed; read-only paths degrade to skipped enrichment rather than a
   wrong key. Per-user mapping is unchanged, so Syncro attribution is too.

2. Hardcoded repo root. wiki-compile/wiki-lint/inject-standards and
   gen_b64.py hardcoded D:/claudetools; this machine is C:/claudetools.
   syncro.md also read ~/.claude/identity.json before the repo copy -- the
   same bug that made remediation-tool's consent-audit report a fully
   consented tenant as RED. Root now resolves from the script's own
   location, with identity.json claudetools_root as the override.

get-identity.sh had a chicken-and-egg bug: it read ${CLAUDETOOLS_ROOT:-.}
but never set it, so every caller had to already know the root. It now
self-resolves and exports CLAUDETOOLS_ROOT + VAULT_ROOT.

Verified: all three command setup blocks authenticate against live Syncro;
get-identity.sh works from any cwd and honors a pre-set root; gps-rmm
autoenroll resolves its key from the vault. security-review: no findings.

NOTE: both keys remain valid in git history. Rotation in the Syncro portal
is the required follow-up -- this commit does not resolve that exposure.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 07:56:33 -07:00
c34cdb3a39 voip: VWP note phone MAC assignments for Kayla and Jesse III
Extension 109 (Kayla Guerrero) - Phone MAC last 4: 73b7
Extension 117 (Jesse III) - Phone MAC last 4: 6cf5

Documented for device assignment workflow.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-07-10 07:55:32 -07:00
ec1cb40b62 voip: VWP note phone MAC assignment for Chris
Extension 113 (Chris Guerrero) - Phone MAC last 4: 755b

Documented for device assignment workflow.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-07-10 07:49:42 -07:00
f9b44cfb68 voip: VWP note phone MAC assignment for Tammy
Extension 106 (Tammy) - Phone MAC last 4: 6a36

Documented for device assignment workflow after second CSV batch.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-07-10 07:49:14 -07:00
1ca456b03f voip: VWP note phone MAC assignment for Rose
Extension 103 (Rose Guerrero) - Phone MAC last 4: 5217

Documented for device assignment workflow.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-07-10 07:43:26 -07:00
250eb8ecfe voip: VWP note phone MAC assignment for Ron
Extension 110 (Ron Winger) - Phone MAC last 4: 6509

Documented for device assignment workflow.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-07-10 07:42:42 -07:00
5641532429 voip: VWP note phone MAC assignment for J.R.
Extension 105 (J.R. Guerrero) - Phone MAC last 4: 7441

Documented for device assignment workflow.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-07-10 07:41:52 -07:00
1b0eeb5595 voip: VWP note phone MAC assignment for Ty
Extension 114 (Ty Fetters) - Phone MAC last 4: 6d01

Documented for device assignment workflow.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-07-10 07:41:21 -07:00
b4972497a7 voip: VWP note phone MAC assignment for Kitchen shared phone
Extension 111 (Kitchen) - Phone MAC last 4: 958e
Shared phone extension (no M365 account required)
Updated counts: 3 extensions parked (down from 4)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-07-10 07:40:43 -07:00
a70ec28bdc voip: VWP note phone MAC assignment for Shelly
Extension 104 (Shelly) - Phone MAC last 4: 96b8

Documented for device assignment workflow.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-07-10 07:39:02 -07:00
7f8fb5d9c5 voip: VWP note phone MAC assignment for Toni
Extension 115 (Toni) - Phone MAC last 4: 6cf9

Documented for device assignment workflow.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-07-10 07:38:25 -07:00
d477970ab8 voip: VWP note phone MAC assignments for Jesse Sr and Bart
Extension 102 (Jesse Sr) - Phone MAC last 4: 7559
Extension 116 (Bart) - Phone MAC last 4: a890

Documented for device assignment workflow.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-07-10 07:37:01 -07:00
522594dedb wiki: compile cascades-tucson (update)
Fold 4 session logs since last_compiled=2026-07-01:
- 2026-07-02 caregiver phone login / PSO-Caregivers FGPP
- 2026-07-02 Shelby Trozzi Company Web Docs share + mapped drive
- 2026-07-09 Charity Menle caregiver rename
- 2026-07-09 Chris Knight accounting mailbox delegation

Surgical update mode (not --full): 735 of 739 lines left byte-for-byte
intact. Adds Company Web Docs share record, Shelby vault path (path only),
4 History rows; refreshes Syncro hours/tickets (37.5 hrs, 0 open).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 07:36:49 -07:00
06ed9ba562 voip: VWP clarify ext 106 (Tammy) and park ext 108 (Shannon)
Extension 106 (Tammy) matched to acctpay@valleywideplastering.com
Extension 108 (Shannon) parked pending clarification
Updated counts: 14 matched, 4 unmatched/parked

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-07-10 07:13:58 -07:00
25af453f61 feat(voip): Extension 117 clarification - Jesse III external email
CLARIFIED (2026-07-10):
- Extension 117: Jesse III
- Email: jesse@nescoap.com (external domain)
- Similar to ext 114 (Ty@CASARICA.NET - external domain)
- Status: Ready to add to second CSV batch

UPDATED:
- Matched users: 12 -> 13 (Jesse III now matched)
- Unmatched users: 6 -> 5 (removed Jesse III from unmatched list)
- Will be included in second CSV import with other clarified/shared extensions

FILES MODIFIED:
- extension-mapping.md: Updated ext 117 to show jesse@nescoap.com
- PROVISIONING-STATUS.md: Moved ext 117 to clarified section
- README.md: Updated user counts and user summary

CURRENT STATUS:
- 11 users in CSV ready for bulk import (102-116 minus gaps)
- 2 users for separate provisioning (101 Natalya, 117 Jesse III)
- 5 users still need clarification (106, 108, 111, 112, 118)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-07-10 07:09:35 -07:00
736d43f482 feat(voip): Extension 101 clarification - Natalya is receptionist
CLARIFIED (2026-07-10):
- Extension 101: Natalya (Receptionist)
- M365 Account: Customer Service (customerservice@valleywideplastering.com)
- Phone: Test phone from yesterday (MAC 805e0cdd71b1 / Last 4: 71b1)
- Status: Phone already registered, ready for user provisioning

UPDATED:
- Matched users: 11 -> 12 (Natalya now matched)
- Unmatched users: 7 -> 6 (removed Natalya from unmatched list)
- Created provision-natalya-101.md with step-by-step commands

FILES MODIFIED:
- extension-mapping.md: Updated ext 101 to show customerservice@ match
- PROVISIONING-STATUS.md: Added clarified section for ext 101
- README.md: Updated user counts and added provision-natalya-101.md link
- provision-natalya-101.md: NEW - Complete provisioning guide for receptionist

NEXT ACTIONS:
1. Upload 11-user CSV to PacketDial (unchanged)
2. Provision extension 101 separately (commands documented)
3. Remaining 6 unmatched extensions need clarification

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-07-10 07:09:35 -07:00
033019df18 sync: auto-sync from GURU-5070 at 2026-07-10 06:59:57
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-07-10 06:59:57
2026-07-10 07:00:29 -07:00
bf95a10685 sync: auto-sync from HOWARD-HOME at 2026-07-09 20:26:12
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-07-09 20:26:12
2026-07-09 20:26:40 -07:00
2fba62b7df sync: auto-sync from HOWARD-HOME at 2026-07-09 20:23:39
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-07-09 20:23:39
2026-07-09 20:24:08 -07:00
db10206aea feat(voip): VWP complete provisioning prep + setup documentation
Critical RPS provisioning URL fix + CSV bulk import ready + complete VoIP setup guide

CRITICAL FIX:
- RPS server URL corrected: http://ndp.ucaasnetwork.com/cfg (was ftp://p.packetdials.net)
- Discovered ACG has TWO whitelabel accounts (WLC vs OIT/PacketDial)
- Test phone (805e0cdd71b1) now registered immediately after fix (Status 1)

USER PROVISIONING:
- M365 account matching: 11 matched users, 7 unmatched (need clarification)
- CSV bulk import prepared (vwp-users-import.csv)
- Strategy: users WITHOUT devices initially (add phone extension: no)
- Device assignment workflow: incremental as phones distributed

COMPLETE VOIP SETUP DOCUMENTED:
- DID (phone number) management + routing options
- Call queues (ring groups) - recommended queues for VWP
- Auto-attendants (IVR menus) - main menu design
- Time frames (business hours routing)
- Additional features (hunt groups, voicemail-only, fax-to-email)
- All components with API commands + examples

FILES CREATED (7):
- README.md: Quick navigation hub + domain info
- PROVISIONING-STATUS.md: Current status + next steps
- SESSION-SUMMARY-2026-07-09.md: Complete session documentation (18 pages)
- COMPLETE-CLIENT-SETUP.md: Full VoIP setup guide (15 pages)
- DEVICE-ASSIGNMENT-COMMANDS.md: Copy-paste command reference
- extension-mapping.md: Extension to M365 account mapping
- vwp-users-import.csv: Bulk import file (READY for upload)

IMPLEMENTATION PHASES:
Phase 1 (In Progress): Basic connectivity - CSV ready for upload
Phase 2 (Planned): Main line setup - queue + auto-attendant + DID
Phase 3 (Planned): Business hours routing - time-based call handling
Phase 4 (Optional): Additional features per client needs

NEXT ACTIONS:
- Upload CSV to PacketDial web UI (manual step)
- Get client clarification on 7 unmatched users
- Assign devices as phones distributed (per-phone workflow documented)

Domain: vwp.91912.service
Main Number: 480-705-9500
E911: a-6a395c03d4cfe (301 N 56TH ST, CHANDLER AZ)
YMCS Site: 1e7578a6fe0e41cfb5a3e8b40933ffee

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-07-09 20:21:57 -07:00
eb04287396 sync: auto-sync from HOWARD-HOME at 2026-07-09 20:14:58
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-07-09 20:14:58
2026-07-09 20:16:45 -07:00
ab987bf9e1 wiki(sif-oidak): close the onmicrosoft.com UPN rename as not actionable
Removing onmicrosoft.com from M365 usernames needs sifoidak.com verified as a custom
Entra domain, which needs a DNS TXT record at GoDaddy. Mike confirmed ACG has no
registrar access to that account, so UPNs stay on sifoidak.onmicrosoft.com and new
users follow the same convention. Recorded as decided rather than blocked so it is
not re-proposed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 20:16:05 -07:00
d9f877661e wiki(sif-oidak): correct identity model, add printer + onboarding runbook
Sif-oidak was documented as a hybrid AD/M365 environment. It is not: there is no
Entra Connect on either DC, no AD object carries msDS-ConsistencyGuid, and every
M365 user has onPremisesSyncEnabled=null. AD and M365 are disjoint, and email is a
third system entirely (sifoidak.com at GoDaddy; the O365_BUSINESS SKU carries the
EXCHANGE_S_FOUNDATION no-mailbox stub).

That mismatch caused a real failure: Dwayne Ortega had a cloud account only, so he
could not log in to a domain-joined workstation. Created his AD account and recorded
the two-account onboarding rule.

Also documented: printer error 740 (Point-and-Print driver install needs admin,
UAC prompt never surfaces), a GPO pushing the MX-6240N queue from the wrong server,
SIF-SERVER2 confirmed as a backup DC, and refreshed stale laptop agent UUIDs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 20:16:04 -07:00
5a463ae133 sync: auto-sync from GURU-5070 at 2026-07-09 15:56:52
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-07-09 15:56:52
2026-07-09 15:57:31 -07:00
6942827391 sync: auto-sync from Mikes-MacBook-Air.local at 2026-07-09 14:52:07
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-07-09 14:52:07
2026-07-09 14:52:17 -07:00
Winter Williams
07268cd741 sync: auto-sync from GURU-BEAST-ROG at 2026-07-09 13:39:12
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-07-09 13:39:12
2026-07-09 13:40:02 -07:00
57c23fc8d7 sync: auto-sync from Mikes-MacBook-Air.local at 2026-07-09 12:31:21
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-07-09 12:31:21
2026-07-09 12:31:30 -07:00
2e92a2d38d sync: auto-sync from GURU-5070 at 2026-07-09 11:06:29
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-07-09 11:06:29
2026-07-09 11:12:33 -07:00
9926e5f2cc sync: auto-sync from HOWARD-HOME at 2026-07-09 11:00:18
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-07-09 11:00:18
2026-07-09 11:01:24 -07:00
Winter Williams
252d22048b sync: auto-sync from GURU-BEAST-ROG at 2026-07-09 10:09:06
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-07-09 10:09:06
2026-07-09 10:12:27 -07:00
b3ea44a8ff sync: auto-sync from HOWARD-HOME at 2026-07-08 18:20:05
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-07-08 18:20:05
2026-07-08 18:20:34 -07:00
e765c9115d sync: auto-sync from HOWARD-HOME at 2026-07-08 18:04:09
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-07-08 18:04:09
2026-07-08 18:04:40 -07:00
cac5eadaee sync: auto-sync from HOWARD-HOME at 2026-07-08 17:06:40
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-07-08 17:06:40
2026-07-08 17:07:11 -07:00
9c998a95d0 sync: auto-sync from HOWARD-HOME at 2026-07-08 17:03:04
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-07-08 17:03:04
2026-07-08 17:03:59 -07:00
447b18d62b sync: auto-sync from HOWARD-HOME at 2026-07-08 17:00:33
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-07-08 17:00:33
2026-07-08 17:01:23 -07:00
a7b2fae468 sync: auto-sync from HOWARD-HOME at 2026-07-08 17:00:10
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-07-08 17:00:10
2026-07-08 17:00:39 -07:00
cc336243e3 sync: auto-sync from HOWARD-HOME at 2026-07-08 13:09:22
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-07-08 13:09:22
2026-07-08 13:09:52 -07:00
fa97bcc49b sync: auto-sync from HOWARD-HOME at 2026-07-08 13:01:22
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-07-08 13:01:22
2026-07-08 13:01:51 -07:00
d037d82f5e sync: auto-sync from HOWARD-HOME at 2026-07-08 12:39:04
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-07-08 12:39:04
2026-07-08 12:39:32 -07:00
c0d304485a wiki: compile desert-rv-center (seed) 2026-07-08 12:38:25 -07:00
25ca9306e1 sync: auto-sync from HOWARD-HOME at 2026-07-08 12:15:56
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-07-08 12:15:56
2026-07-08 12:16:23 -07:00
fcf43044d4 sync: auto-sync from HOWARD-HOME at 2026-07-08 09:00:22
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-07-08 09:00:22
2026-07-08 09:00:51 -07:00
2a1ea6c9f7 sync: auto-sync from Mikes-MacBook-Air.local at 2026-07-08 06:49:28
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-07-08 06:49:28
2026-07-08 06:50:46 -07:00
fc12c596f1 sync: auto-sync from HOWARD-HOME at 2026-07-08 06:09:58
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-07-08 06:09:58
2026-07-08 06:10:25 -07:00
eee469ce86 sync: auto-sync from HOWARD-HOME at 2026-07-07 21:17:44
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-07-07 21:17:44
2026-07-07 21:18:15 -07:00
4e148b6dc5 sync: auto-sync from HOWARD-HOME at 2026-07-07 21:05:08
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-07-07 21:05:08
2026-07-07 21:05:37 -07:00
19edfc45c0 wiki(IMC): SQL max-memory caps APPLIED 2026-07-07 (12GB/256/512) + probable-cause watch flag
- Confirmed caps were never applied (all uncapped); applied + verified via GuruRMM
- SQLEXPRESS/AIMSQL required IMC\guru impersonation (SYSTEM not sysadmin there)
- WATCH flag through ~2026-07-11: if AIM/perf issues reported, suspect this first; rollback = uncap
- Active Work item marked done

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 21:03:49 -07:00
e548f63605 fix(ps-encoded.sh): Python fallback when iconv.exe absent (Git-for-Windows ships libiconv DLL only, no pacman)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 20:51:17 -07:00
840b0ce9d6 wiki(IMC): 2026-07-07 fleet reconciliation — Datto EDR rollout, AV vendor, backup/billing gap, retire list
- AV/EDR is Datto (not Bitdefender); REPAIRADMIN BD->EDR swap in progress
- EDR deployed to BigMom + DESKTOP-NFU17AJ; queued LUIS/EdServices1/REPAIRADMIN
- DESKTOP-NFU17AJ enrolled in RMM (17->18); 4 more queued via SC
- MSP360 backup live-but-unbilled on IMC1; AV billed 20 seats
- 12 Syncro assets to archive (>40d offline; archive=UI-only)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 20:45:53 -07:00