sync: auto-sync from HOWARD-HOME at 2026-05-22 09:03:36

Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-05-22 09:03:36
This commit is contained in:
2026-05-22 09:03:37 -07:00
parent d655ff1564
commit edf51627e1
4 changed files with 37 additions and 6 deletions

View File

@@ -706,11 +706,12 @@ echo "$ALERT_OUT"
- Do NOT redo any Syncro writes
- The Syncro work is complete; the missed alert is informational only
**Message format:** one line — `[SYNCRO] <Tech> <verb> #<number> (<customer>) <summary> <link>`
**Message format:** one line — `[SYNCRO] <Tech> <verb> #<number> (<customer>) - <summary> -> <link>`
- `<Tech>`: `mike` Mike, `howard` Howard (matches `identity.json` user)
- `<Tech>`: `mike` -> Mike, `howard` -> Howard (matches `identity.json` user)
- Use ticket **number** (`#32164`) in the text; build the link from the numeric **id**
- One alert per workflow — billing touches ticket + invoice, send one alert linked to the ticket
- **ASCII only** — use `-` not `` and `->` not ``. Unicode characters corrupt in Windows Git Bash and cause Discord to reject the JSON body (400 invalid JSON).
**Links:**
@@ -724,20 +725,20 @@ echo "$ALERT_OUT"
```bash
# Ticket created
bash "$CLAUDETOOLS_ROOT/.claude/scripts/post-bot-alert.sh" \
"[SYNCRO] Howard created #32301 (Desert Auto Tech) Server won't boot https://computerguru.syncromsp.com/tickets/110736645"
"[SYNCRO] Howard created #32301 (Desert Auto Tech) - Server won't boot -> https://computerguru.syncromsp.com/tickets/110736645"
# Success output: [OK] post-bot-alert: posted to #bot-alerts (message_id=1507055781780918404)
# Billed + invoiced
bash "$CLAUDETOOLS_ROOT/.claude/scripts/post-bot-alert.sh" \
"[SYNCRO] Mike billed #32164 (Jerry Burger) 1.0h remote, \$150.00 https://computerguru.syncromsp.com/tickets/110169036"
"[SYNCRO] Mike billed #32164 (Jerry Burger) - 1.0h remote, \$150.00 -> https://computerguru.syncromsp.com/tickets/110169036"
# Prepaid billing
bash "$CLAUDETOOLS_ROOT/.claude/scripts/post-bot-alert.sh" \
"[SYNCRO] Mike billed #32203 (Desert Auto Tech) 1.5h onsite, applied 1.5 prepay hrs, \$0.00 https://computerguru.syncromsp.com/tickets/109895882"
"[SYNCRO] Mike billed #32203 (Desert Auto Tech) - 1.5h onsite, applied 1.5 prepay hrs, \$0.00 -> https://computerguru.syncromsp.com/tickets/109895882"
# Ticket status updated
bash "$CLAUDETOOLS_ROOT/.claude/scripts/post-bot-alert.sh" \
"[SYNCRO] Mike resolved #32271 (Peaceful Spirit Massage) IKEv2 VPN setup complete https://computerguru.syncromsp.com/tickets/110169036"
"[SYNCRO] Mike resolved #32271 (Peaceful Spirit Massage) - IKEv2 VPN setup complete -> https://computerguru.syncromsp.com/tickets/110169036"
```
The script uses `jq` to build the JSON payload, so quotes and `$` in the message are safe. The script has a 15-second curl timeout and soft-fails on token missing, network error, or non-200 Discord response.

View File

@@ -27,6 +27,7 @@
- [GuruRMM agent parity rule](feedback_gururmm_agent_parity.md) — "Add feature X to the agent" = Windows + Linux + macOS in the same change, no exceptions. Stub + TODO if real impl not feasible.
- [D2TESTNAS SSH Access](feedback_d2testnas_ssh.md) - Use root@192.168.0.9 with Paper123!@#, not sysadmin
- [Bypass Permissions Setting](feedback_bypass_permissions_setting.md) - Set permissions.defaultMode to bypassPermissions in settings.json on all machines
- [No indented code blocks](feedback_no_indented_code_blocks.md) — Never indent code inside fences; Howard copy-pastes directly and leading spaces break PowerShell
- [365 Remediation Tool](feedback_365_remediation_tool.md) - Always means Graph API app fabb3421, not CIPP
- [Ollama Tier-0 Routing](feedback_ollama_tier0_routing.md) - Route drafts/summaries/classifications through Ollama (qwen3:14b). Mike designed ClaudeTools this way — not optional.
- [/save writes narrative directly](feedback_save_no_ollama.md) — No Ollama for /save; write all sections inline — too slow

View File

@@ -0,0 +1,12 @@
---
name: feedback_no_indented_code_blocks
description: Never indent code inside code blocks — Howard copy-pastes directly and leading spaces break PowerShell commands
metadata:
type: feedback
---
Never indent code inside markdown code blocks. Howard copy-pastes commands directly from the chat and leading spaces cause PowerShell parse errors. All code must start at column 0 inside the fences.
**Why:** Howard reported that indented code blocks consistently fail when pasted into PowerShell and he has to manually strip the indentation every time.
**How to apply:** Every PowerShell (and bash/other) code block — start all lines at column 0, no leading spaces or tabs inside the fences.

View File

@@ -0,0 +1,17 @@
function New-HomeFolder {
param([string]$Username)
$path = "D:\Homes\$Username"
if (Test-Path $path) { Write-Host "$path already exists - check ACL manually"; return }
New-Item -ItemType Directory -Path $path -Force | Out-Null
$acl = New-Object System.Security.AccessControl.DirectorySecurity
$acl.SetAccessRuleProtection($true, $false)
$acl.AddAccessRule((New-Object System.Security.AccessControl.FileSystemAccessRule("CASCADES\$Username","FullControl","ContainerInherit,ObjectInherit","None","Allow")))
$acl.AddAccessRule((New-Object System.Security.AccessControl.FileSystemAccessRule("SYSTEM","FullControl","ContainerInherit,ObjectInherit","None","Allow")))
$acl.AddAccessRule((New-Object System.Security.AccessControl.FileSystemAccessRule("BUILTIN\Administrators","FullControl","ContainerInherit,ObjectInherit","None","Allow")))
Set-Acl $path $acl
Write-Host "$path created with clean ACL"
}
# Usage: dot-source this file, then call:
# New-HomeFolder -Username "lauren.hasselman"
# Run on CS-SERVER before adding user to SG-FolderRedirect.