sync: auto-sync from GURU-5070 at 2026-06-13 12:10:56

Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-13 12:10:56
This commit is contained in:
2026-06-13 12:11:14 -07:00
parent db3edfdb82
commit 6e5a389539
3 changed files with 119 additions and 0 deletions

View File

@@ -139,3 +139,4 @@
- [IX WHM API access = 'ClaudeTools' token, not password](ix-whm-dns-api-access.md) — IX cPanel/WHM (ix.azcomputerguru.com:2087) DNS + all API work uses the FULL-ACCESS-root WHM API token at vault `infrastructure/ix-server` `credentials.whm-api-token` via header `Authorization: whm root:<token>` (force curl -4). Password basic-auth on legacy json-api now 403s. Public NS ns1/ns2.acghosting.com = 52.52.94.202.
- [Vault EVERY credential surfaced in-session](feedback-vault-every-credential.md) — any cred (pasted/created/discovered) -> store via the vault skill + document purpose & exact usage immediately; it's a standing job rule (reinforced in CORE CLAUDE.md). Lost IX creds wasted ~1h on 2026-06-12.
- [GuruRMM install-report v1: reuse endpoint + failed-install agent](gururmm-install-report-failed-agent-v1.md) — legacy NSIS installer reuses /api/install-report (machine info + logs, success+fail); server upserts a visible "failed-install" device on failure reports (Mike: in v1); verify-connect-before-success; trend/near-fail analytics. Server side is a separate sequential SPEC after the legacy-agent branch lands.
- [DM wrapping commands to Mike in Discord](feedback_dm_wrapping_commands_to_mike.md) — long/wrapping one-liners go via Discord DM (code block copies clean), not just chat; bot token vault projects/discord-bot/bot-token, Mike uid 264814939619721216, MUST set User-Agent header or Cloudflare 403 errcode 1010; helper .claude/tmp/discord-dm.py

View File

@@ -0,0 +1,29 @@
---
name: feedback_dm_wrapping_commands_to_mike
description: When a command/snippet you want Mike to run is long enough to wrap in the terminal, DM it to him in Discord (code block copies cleanly) instead of only putting it in chat.
metadata:
type: feedback
---
Mike (2026-06-13): "For any command that wraps (like this one) DM me in discord, the
line breaks suck." Terminal line-wrapping mangles long one-liners when he copies them.
**How to apply:** When you produce a command/code block for Mike to run that would wrap
in the terminal (long one-liners, multi-flag commands), send it to him via Discord DM as a
```fenced code block``` (Discord copies the whole line cleanly regardless of visual wrap),
and just reference it in chat ("DM'd you the command"). Short, non-wrapping commands can
stay inline.
**Mechanics (verified working 2026-06-13):**
- Bot token: vault `projects/discord-bot/bot-token.sops.yaml` field `credentials.bot_token`.
- Mike's Discord user id: `264814939619721216` (Howard: `624667664501178379`).
- **MUST set a `User-Agent` header** like `DiscordBot (https://azcomputerguru.com, 1.0)` --
Discord's API is behind Cloudflare, which returns **403 error 1010** for the default
urllib/curl UA. This is the #1 gotcha; both DM-open and message-send fail without it.
- Open a DM channel: `POST https://discord.com/api/v10/users/@me/channels {"recipient_id":<uid>}`
-> returns channel id; then `POST /channels/<id>/messages {"content": "..."}`.
- Reusable helper written this session: `.claude/tmp/discord-dm.py` (reads body from a file
or stdin; `BOT_TOKEN` from env). The bot CAN initiate DMs to Mike (mutual guild
624663750603046913); the earlier 403 was the missing UA, not a privacy block.
Related: [[reference_resource_map]] (Discord bot), the `discord-bot` project.