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:
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
12
.claude/memory/feedback_no_indented_code_blocks.md
Normal file
12
.claude/memory/feedback_no_indented_code_blocks.md
Normal 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.
|
||||
17
clients/cascades-tucson/scripts/new-home-folder.ps1
Normal file
17
clients/cascades-tucson/scripts/new-home-folder.ps1
Normal 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.
|
||||
Reference in New Issue
Block a user