Commit Graph

1891 Commits

Author SHA1 Message Date
5f30e1154a sync: auto-sync from GURU-5070 at 2026-06-23 07:57:32
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-23 07:57:32
2026-06-23 07:59:40 -07:00
3e414c1572 wiki: compile cascades-tucson (full) — 2026-06-23 planned power outage
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 05:45:34 -07:00
beb8a36ff2 wiki: compile dataforth (full) — fold in Phase 2 shares target-state strawman
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 05:42:40 -07:00
da411b0f48 sync: auto-sync from HOWARD-HOME at 2026-06-23 05:36:49
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-23 05:36:49
2026-06-23 05:37:43 -07:00
7fb32ba349 sync: auto-sync from HOWARD-HOME at 2026-06-23 05:36:06
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-23 05:36:06
2026-06-23 05:36:43 -07:00
56bf6f44ff sync: auto-sync from GURU-5070 at 2026-06-22 20:00:56
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-22 20:00:56
2026-06-22 20:01:48 -07:00
48b6c94b4a sync: auto-sync from HOWARD-HOME at 2026-06-22 19:15:51
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-22 19:15:51
2026-06-22 19:16:22 -07:00
86c789a7f9 sync: auto-sync from HOWARD-HOME at 2026-06-22 18:54:25
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-22 18:54:25
2026-06-22 18:55:00 -07:00
bec21647d4 sync: auto-sync from Mikes-MacBook-Air.local at 2026-06-22 16:51:30
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-06-22 16:51:30
2026-06-22 16:51:55 -07:00
7ad4353fd4 docs(memory): sync.sh Phase-3 submodule-clobber fixed; branch work now survives
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 14:31:32 -07:00
9108f9419c fix(sync): never reset a submodule with local work (branch/dirty)
Phase-3 post-rebase reconcile ran 'git submodule update --init --recursive'
unconditionally, force-detaching every submodule to the parent's pinned gitlink
and discarding any feature branch, commits, or uncommitted edits inside it. The
Phase-1a init guard did not cover this path. New submodule_update_safe() advances
ONLY submodules in the pristine pinned state (clean, detached HEAD) and skips any
on a branch or with uncommitted changes, so in-progress submodule work survives a
parent sync.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 14:30:38 -07:00
26aa5034f1 sync: auto-sync from HOWARD-HOME at 2026-06-22 14:04:53
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-22 14:04:53
2026-06-22 14:05:26 -07:00
48286e80e0 sync: auto-sync from GURU-5070 at 2026-06-22 13:18:48
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-22 13:18:48
2026-06-22 13:19:47 -07:00
8225ec7a9b sync: auto-sync from HOWARD-HOME at 2026-06-22 10:36:17
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-22 10:36:17
2026-06-22 10:36:51 -07:00
82aabacaca sync: auto-sync from Mikes-MacBook-Air.local at 2026-06-22 10:20:27
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-06-22 10:20:27
2026-06-22 10:20:32 -07:00
a21d24f09f wiki: compile packetdial (seed) — ACG VoIP system (PacketDial/NetSapiens/OIT + Yealink YMCS)
New systems article covering the full VoIP stack: vendor model (PacketDial brand / NetSapiens
platform / OIT wholesaler / YMCS phones), the PBX API + packetdial skill (reads + gated writes +
onboard-domain), the Yealink/YMCS side + yealink-ymcs skill (one ACG key -> all client sites, RPS),
the onboarding pipeline, vault paths, and known gotchas. Sources: the 3 06-22 session logs + both
skill docs + the vendor-stack memory. Indexed under Systems.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 10:13:00 -07:00
7f64f169ca sync: auto-sync from GURU-5070 at 2026-06-22 10:03:54
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-22 10:03:54
2026-06-22 10:04:41 -07:00
850e685d8d feat: yealink-ymcs skill — YMCS v2 device-management API, pairs with packetdial
New skill to manage ACG's Yealink phone fleets via Yealink Management Cloud Service v2
(us-api.ymcs.yealink.com). RTFM'd the API (token auth via POST /v2/token Basic+bearer, NOT the
legacy RPS HMAC; legacy-TLS renegotiation required) + endpoint map from the dszp/n8n-nodes-
yealinkymcs community node. Live-verified: token auth, sites (one ACG AccessKey sees ALL client
sites — VWP/GuruHQ/Ace Pick Up Parks as children of the ACG parent), devices, accounts,
rps-servers (RPS = "WL - ACG" ftp://p.packetdials.net). Gated writes (--confirm): add-devices-by-mac,
add-sipaccount (push a NetSapiens SIP cred onto a phone = the PBX glue), reboot, reset, rps add/del;
+ raw passthrough (auto-recovers the MSYS /v2 path-mangling). Creds vaulted at
services/yealink-ymcs.sops.yaml. Pairs with packetdial onboard-domain for new-client phone
provisioning; VWP is the live pilot. Honest [V]/[P] verification status in SKILL.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 09:59:52 -07:00
1dbefd5457 sync: auto-sync from GURU-5070 at 2026-06-22 09:44:14
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-22 09:44:14
2026-06-22 09:45:01 -07:00
d1d1302d55 packetdial: add onboard-domain wrapper (GUI Add-a-Domain -> 3-call API flow)
onboard-domain runs POST /domains -> addresses/validate (gen E911 pidflo) -> addresses/create
from one JSON body (domain fields + optional `emergency` block), gated --confirm. Reverse-
engineered from the OITVOIP wizard screenshots; live-created the real client domain
vwp.91912.service (Valley Wide Plastering) + E911 address, and proved the wrapper with a
throwaway create->delete (no leftovers, vwp intact). Documented GUI->API mapping + the two
manual gaps (voicemail user-defaults, email-send-from-address pending the packetdial.com mailbox)
+ the domain-type "no"-on-create quirk.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 09:34:48 -07:00
4157fc6f1d sync: auto-sync from GURU-5070 at 2026-06-22 09:03:37
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-22 09:03:37
2026-06-22 09:04:24 -07:00
f16a1a7084 sync: auto-sync from GURU-5070 at 2026-06-22 08:23:12
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-22 08:23:12
2026-06-22 08:24:06 -07:00
4a8559fa73 sync: auto-sync from HOWARD-HOME at 2026-06-22 08:20:28
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-22 08:20:28
2026-06-22 08:23:10 -07:00
27cafabb22 sync: auto-sync from GURU-5070 at 2026-06-22 08:05:07
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-22 08:05:07
2026-06-22 08:05:52 -07:00
1062a5ed44 packetdial: finish resource wrapping (reads + gated writes across the platform)
Added read wrappers: addresses (E911), smsnumbers, blocked-numbers, moh, dialrules,
recording, transcriptions. Added gated write wrappers: DID update/delete, per-user device
CRUD, E911 address CRUD, contact CRUD, site create/update, auto-attendant create, SMS
number CRUD, block/unblock numbers, MoH TTS create/delete.

Verification: contact create→delete lifecycle verified on arizonacomputerguru (id field is
`unique-id`); reads for addresses/blocked-numbers/moh verified. Remaining writes are plumbed
per the OpenAPI spec [P] but not lifecycle-verified (test domain lacks the feature or needs a
special body) — SKILL.md marks each [V]/[P] and documents the gotchas (E911 pidflo via
addresses/validate; SMS not provisioned on test domain; number-filters add 202'd but didn't
persist; MoH file upload is multipart -> raw). Capability map + api.md history updated.
All writes --confirm-gated; anything unwrapped still reachable via `raw`.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 08:05:06 -07:00
fec8b364d6 sync: auto-sync from GURU-5070 at 2026-06-22 07:44:31
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-22 07:44:31
2026-06-22 07:45:19 -07:00
f42f9c2419 packetdial: add gated call-queue + time-frame edit wrappers (live-verified)
Added write wrappers, each tested create→update→delete on the arizonacomputerguru test
domain (sanctioned, non-production):
- call queues: create-callqueue, update-callqueue, delete-callqueue + add-agent /
  update-agent / remove-agent
- time frames: create-timeframe, update-timeframe, delete-timeframe (body-discriminated —
  same path, server selects the op from the body; wrappers pass --body verbatim)

All behind --confirm (gate verified: DRY RUN refuses without it). SKILL.md documents the
bodies + the days-of-week-needs-array gotcha + names ACG as the test bed; capability map
+ api.md history updated. No production objects touched; no test leftovers.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 07:44:30 -07:00
25b2ff45bf sync: auto-sync from GURU-5070 at 2026-06-22 07:36:13
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-22 07:36:13
2026-06-22 07:37:01 -07:00
d75c367bf7 packetdial: build out + document the skill against the live NetSapiens v2 API
Key is now provisioned + live-verified, so grounded the skill in the real spec (RTFM):
- Mapped the OpenAPI surface (v44.4.10, 239 paths / 354 ops) — capability map added to
  SKILL.md (what the platform exposes vs what's wrapped vs raw-only).
- Added 6 live-verified read wrappers (ns.py + ns_client.py): callqueues, timeframes,
  sites, contacts, autoattendants, billing (domain limits/usage).
- Replaced the stale "not yet provisioned" credentials section with the live status
  (vaulted nsr_ reseller key, key-id nsr_hSGUB5Wo, scope Reseller 91912.service, RW) +
  the pbx.packetdial.com vs api.ucaasnetwork.com hostname note + override.
- api.md history updated. Writes remain gated behind --confirm; everything unwrapped
  reachable via `raw`.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 07:36:12 -07:00
567986fa49 sync: auto-sync from HOWARD-HOME at 2026-06-21 21:42:44
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-21 21:42:44
2026-06-21 21:43:11 -07:00
28af952343 sync: auto-sync from HOWARD-HOME at 2026-06-21 21:26:00
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-21 21:26:00
2026-06-21 21:26:26 -07:00
b977f5e182 wiki: compile gururmm (full) — fold in 06-12..06-22 work (BUG-018/021/022, Event Log Watch UI, two-wave build, watchdog REST-only)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 21:15:24 -07:00
f6f0421ff3 sync: auto-sync from HOWARD-HOME at 2026-06-21 21:01:39
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-21 21:01:39
2026-06-21 21:02:05 -07:00
8713b46d3f chore: advance security-assessment pin (0f6927b) — onboarding/upsell questions + opportunity engine + quote delete 2026-06-21 21:00:26 -07:00
8fde10c743 sync: auto-sync from HOWARD-HOME at 2026-06-21 20:56:44
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-21 20:56:44
2026-06-21 20:57:10 -07:00
924fa39b34 sync: auto-sync from HOWARD-HOME at 2026-06-21 20:44:08
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-21 20:44:08
2026-06-21 20:44:34 -07:00
3a1edb721b screenconnect: finalize skill — clean stale 'pending unlock' help text
The control methods (send-command/send-message/set-properties) and session
detail are verified live on the ACG instance; the "pending unlock" help text
was left over from before probing confirmed them. Skill validated against
skill-creator rules (frontmatter, vault creds, gated writes, errorlog
compliance, ASCII, selftest 12/12).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 20:42:22 -07:00
87688b65da sync: auto-sync from HOWARD-HOME at 2026-06-21 20:36:14
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-21 20:36:14
2026-06-21 20:36:41 -07:00
231fcb6d6f chore: advance security-assessment pin (7a3dfb8) — Save/quote button + status column 2026-06-21 19:51:34 -07:00
44cddc5020 sync: auto-sync from GURU-5070 at 2026-06-21 19:31:11
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-21 19:31:11
2026-06-21 19:33:39 -07:00
f4296f2d9e sync: auto-sync from HOWARD-HOME at 2026-06-21 19:32:30
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-21 19:32:30
2026-06-21 19:32:57 -07:00
5b44a3e619 chore: advance security-assessment pin (a9c85a7) — + New/clear button 2026-06-21 19:17:08 -07:00
c462f50152 chore: advance security-assessment pin (ef03b4e) — lookup phone-match fix (deployed) 2026-06-21 19:08:10 -07:00
f90d753d13 sync: auto-sync from HOWARD-HOME at 2026-06-21 18:54:05
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-21 18:54:05
2026-06-21 18:54:31 -07:00
5299f3d32e chore: advance security-assessment pin (31bc786) — deploy/opcache notes 2026-06-21 18:44:34 -07:00
5a0aaa2ff2 sync: auto-sync from HOWARD-HOME at 2026-06-21 18:27:49
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-21 18:27:49
2026-06-21 18:28:14 -07:00
27c1d972b3 chore: advance security-assessment pin (f246091) — api.php allow-list fix (deployed live) 2026-06-21 18:24:55 -07:00
28f95f0d72 sync: auto-sync from HOWARD-HOME at 2026-06-21 18:18:26
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-21 18:18:26
2026-06-21 18:18:56 -07:00
0c3ae5d33d sync: auto-sync from GURU-5070 at 2026-06-21 18:11:16
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-21 18:11:16
2026-06-21 18:12:10 -07:00
2a7dd2d4a0 chore: advance security-assessment pin (3e3a9ab) — export exec summary 2026-06-21 18:11:42 -07:00