From 7055ce6acdd9e4947810402deb94f146b0097a9a Mon Sep 17 00:00:00 2001 From: Howard Enos Date: Wed, 24 Jun 2026 14:49:26 -0700 Subject: [PATCH] sync: auto-sync from HOWARD-HOME at 2026-06-24 14:48:56 Author: Howard Enos Machine: HOWARD-HOME Timestamp: 2026-06-24 14:48:56 --- .claude/memory/MEMORY.md | 1 + .../feedback_windows_pro_upgrade_billing.md | 25 +++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 .claude/memory/feedback_windows_pro_upgrade_billing.md diff --git a/.claude/memory/MEMORY.md b/.claude/memory/MEMORY.md index 478f1aad..915be916 100644 --- a/.claude/memory/MEMORY.md +++ b/.claude/memory/MEMORY.md @@ -35,6 +35,7 @@ - [Syncro priority/type format](feedback_syncro_priority_type_format.md) — every ticket create needs a number-prefixed priority ("2 Normal", not bare "Normal" which renders blank) AND a valid problem_type. Winter flagged #32193/#32194. Use the syncro skill's create flow. - [RMM drive-map Explorer refresh](reference_rmm_drive_map_explorer_refresh.md) — drive mapped via RMM user_session works but the user's running Explorer won't show it until SHChangeNotify(DRIVEADD); also UNC \\ gets eaten in heredoc+jq, build it from [char]92. - [Verify live before acting](feedback_verify_live_before_acting.md) — pull LIVE data (OMSA/iDRAC/live API) before acting on a hardware/infra flag; wiki/logs go stale. Cascades CS-SERVER "degraded RAID" was 9-day-stale (mirror self-recovered, SSDs bought needlessly). Windows can't see RAID member health. +- [Windows Pro upgrade billing](feedback_windows_pro_upgrade_billing.md) — ACG MAK key (vault infrastructure/windows-pro-mak, Mike's ACG key) for Home->Pro upgrades; RULE: invoice $99 PER machine activated, name the machine on the line item, bill after success. Each use consumes a MAK count. - [AAD Connect msDS-KeyCredentialLink writeback](reference_aadconnect_keycredlink_writeback.md) — "completed-export-errors" + 8344 INSUFF_ACCESS_RIGHTS on a protected admin account = WHfB key writeback blocked by AdminSDHolder. Diagnose with csexport /f:x; fix with dsacls WP;msDS-KeyCredentialLink on AdminSDHolder + SDProp. - [UniFi Site Manager cloud API](reference_unifi_site_manager_api.md) — `api.ui.com` + `X-API-KEY` (vault `services/unifi-site-manager`) = remote access to the WHOLE ACG UniFi fleet (~36 consoles) outside UOS. Tier1 `/v1/hosts|sites|devices|isp-metrics` = inventory+health+WAN. Tier2 CONNECTOR `/v1/connector/consoles/{id}/proxy/network/api/s/default/stat/{device,sta}` = **full UOS parity** (per-radio cu_total airtime + per-client RSSI) for ANY console, remote. Backend `unifi-wifi/scripts/gw-sitemanager.sh` (`fleet|devices|sites|isp|net`). Standalone UDM WAN SSH usually firewalled; per-console SSH pw at `clients//udm-ssh`. - [reference_sqlx_migrations_immutable](reference_sqlx_migrations_immutable.md) -- NEVER edit an already-applied sqlx migration file — even a comment. sqlx::migrate! checksums each file at compile time and validates against _sqlx_migrations at startup; a changed checksum crash-loops the server with "migration N was previously applied but has been modified". Code review MUST flag any edit to an applied migration. diff --git a/.claude/memory/feedback_windows_pro_upgrade_billing.md b/.claude/memory/feedback_windows_pro_upgrade_billing.md new file mode 100644 index 00000000..dbcd51df --- /dev/null +++ b/.claude/memory/feedback_windows_pro_upgrade_billing.md @@ -0,0 +1,25 @@ +--- +name: feedback_windows_pro_upgrade_billing +description: Every machine upgraded Home->Pro with the ACG Windows Pro MAK key must be invoiced $99 to that customer, with the machine name on the line item +metadata: + type: feedback +--- + +**RULE (Howard, 2026-06-24): when the ACG Windows Pro MAK key is used to upgrade a machine from +Windows Home to Pro, invoice that customer $99 per machine — and name the machine on the line item.** + +- The key is Mike Swanson's **Arizona Computer Guru MAK** (NOT a client key): vault + `infrastructure/windows-pro-mak` (field `credentials.product_key`). Used fleet-wide for Home->Pro + edition upgrades (changepk.exe flips the edition with the generic Pro key, then `slmgr /ipk ` + + `/ato` activates with this MAK). +- **Billing:** one **$99** charge **per machine** activated, invoiced to the customer that owns the + machine. The line-item description MUST name the machine (e.g. "Windows Pro upgrade - MDIRECTOR-PC"). + Bill AFTER the upgrade + activation succeed, not before. Use a flat $99 fee/product line (find or + create a "Windows Pro Upgrade" product in Syncro; set price_retail=99 explicitly; taxable per the + product). This is a license/upgrade fee, NOT prepaid-block labor — do not draw it from a labor block. +- **Track activations** — each consumes one MAK count; watch the remaining allocation (exceeding it + means contacting Microsoft to raise the count). + +**Pending application:** the 5 Cascades machines upgraded 2026-06-24 ~6PM (SALES4-PC, NURSEASSIST, +MDIRECTOR-PC, LAPTOP-8P7HDSEI, MEMRECEPT-PC) = **5 x $99 = $495 to invoice Cascades** once activated. +See [[feedback_verify_live_before_acting]] for the verify-before-billing discipline.