Commit Graph

1560 Commits

Author SHA1 Message Date
9581d87589 harness: scratch graduation pipeline (push side + spec) + flarum first test case
- graduation-push.sh: tar+scp scratch -> BEAST graduation-inbox over Tailscale (decoupled
  from /save, soft-fail if BEAST off). Tested: 241 files -> BEAST.
- docs/graduation-pipeline.md: full spec (push -> Ollama triage on BEAST GPU via API ->
  reviewed sanitize+git-mv). Secrets never enter git; ride the encrypted link to BEAST only.
- tmp-promotion-check.sh: rewritten pure-builtin (0.4s) after the per-file grep/fork loop
  hung /save for 4 min on Windows at ~240 scratch files. Deep triage moves to the pipeline.
- forum-post: GRADUATED the canonical flarum poster from scratch ->
  skills/forum-post/scripts/flarum-post.py (s9e markdown->XML + DB insert machinery), with
  the hardcoded IX SSH + Flarum DB passwords swapped to vault lookups. First pipeline test case.
- Vaulted the Flarum DB cred (services/flarum-community.sops.yaml) + sanitized the two
  plaintext copies in forum-post.md.
- errorlog: logged the WSL-stub correction + BEAST-Ollama-CPU(vram=0) finding + the
  promotion-check hang, all via the new log helper.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 12:55:48 -07:00
d9c710be31 sync: auto-sync from GURU-5070 at 2026-06-15 12:15:54
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-15 12:15:54
2026-06-15 12:16:10 -07:00
813d4cfa35 sync: auto-sync from GURU-5070 at 2026-06-15 11:55:44
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-15 11:55:44
2026-06-15 11:55:59 -07:00
55acc7f98a sync: auto-sync from GURU-5070 at 2026-06-15 11:54:35
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-15 11:54:35
2026-06-15 11:54:50 -07:00
9b9513f69e memory: dream cleanup — dedup DM memory, correct Mail.Send fact, fix index dup
- Merge duplicate DM memories into canonical feedback_dm_wrapping_commands_to_mike
  (points at the productized discord-dm skill; keeps UA/Cloudflare-1010 + 50109
  gotchas); git rm the session-created feedback_dm_wrapped_command_lines duplicate.
- feedback_365_remediation_tool: record that Exchange Operator HAS Graph Mail.Send/
  Mail.ReadWrite (corrects an earlier "suite has no Mail.Send") + the EXO-vs-Graph
  token-audience gotcha + Get-MessageTraceV2 + fresh-onboard EXO 401 propagation.
- Remove a duplicate MEMORY.md index line --apply-safe added from a false-orphan.
- Log the memory-dream false-orphan/dup-index defect to errorlog for skill linting.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 11:54:00 -07:00
9960da5f9a harness: fleet-wide functional-error + correction + friction logging
Add .claude/scripts/log-skill-error.sh — the canonical agent error log helper
(writes errorlog.md in DATE | MACHINE | skill | [type] error format, soft-fails).
Three categories: execution failures (default), user corrections (--correction),
and preventable self-inflicted friction (--friction; cite ref= when it repeats a
documented gotcha). Goal: stop paying tokens twice for the same avoidable mistake.

- CLAUDE.md: make logging mandatory for all skills + corrections + friction.
- skill-creator: new skills must wire in the helper (guidance + checklist).
- Retrofit every skill script's genuine failure branches to call the helper
  (b2/bitdefender/mailprotector/packetdial/coord python CLIs; remediation-tool
  + onboard365 bash; vault, rmm-auth, post-bot-alert, agy, grok, 1password,
  run-onboarding-diagnostic). Handled conditions + self-tests left alone.
- errorlog.md: broaden header to cover skills + harness + corrections; seed this
  session's corrections (INKY, Mail.Send token-audience, omnibox-strictness) and
  friction (git-bash /tmp, env-persistence, argv-limit, PowerShell var-case).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 11:40:25 -07:00
927a06a0cf sync: auto-sync from HOWARD-HOME at 2026-06-15 11:38:16
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-15 11:38:16
2026-06-15 11:38:24 -07:00
6e1c65877f sync: auto-sync from GURU-5070 at 2026-06-15 11:20:33
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-15 11:20:33
2026-06-15 11:20:56 -07:00
Winter Williams
5f4a2b1eca sync: auto-sync from GURU-BEAST-ROG at 2026-06-15 10:23:51
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-06-15 10:23:51
2026-06-15 10:23:56 -07:00
Winter Williams
2d1d85f58b sync: auto-sync from GURU-BEAST-ROG at 2026-06-15 10:11:17
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-06-15 10:11:17
2026-06-15 10:11:24 -07:00
dc5c09b40b sync: auto-sync from GURU-5070 at 2026-06-15 09:41:53
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-15 09:41:53
2026-06-15 09:42:17 -07:00
153be4abec sync: auto-sync from GURU-BEAST-ROG at 2026-06-15 06:28:46
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-06-15 06:28:46
2026-06-15 06:28:51 -07:00
b186856d6f sync: auto-sync from GURU-BEAST-ROG at 2026-06-15 06:25:30
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-06-15 06:25:30
2026-06-15 06:25:39 -07:00
57322c66f5 sync: auto-sync from GURU-5070 at 2026-06-15 06:07:00
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-15 06:07:00
2026-06-15 06:07:20 -07:00
c5d4d3527c sync: auto-sync from GURU-5070 at 2026-06-14 20:04:14
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-14 20:04:14
2026-06-14 20:05:02 -07:00
30933bd35d sync: auto-sync from GURU-5070 at 2026-06-14 10:33:33
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-14 10:33:33
2026-06-14 10:33:49 -07:00
9b1c5c391d harness: fix py-vs-python3 doc gap — add py.sh resolver, repoint skill/command docs
The skill/command DOCS instructed Claude to run a bare `py ...`, which is the
Windows py-launcher — absent on Linux/macOS (exit 127, hit on GURU-KALI). A blind
py->python3 swap is wrong too: python3 is a broken MS Store shim on some Windows
boxes where `py` is the correct launcher.

Fix mirrors the resolution the .sh skill scripts already do:
- New .claude/scripts/py.sh: picks the interpreter that actually RUNS —
  identity.json python.command first, then py -> python3 -> python, each
  validated with `-c 'import sys'` so the MS Store stub is skipped. exec's it.
- Repointed all DOC invocations (10 files, ~70 sites) from `py ...` to
  `bash "$CLAUDETOOLS_ROOT/.claude/scripts/py.sh" ...` (incl. the `py -c` and
  `py -` heredoc forms in checkpoint.md / mailbox.md).
- Left the .sh skill scripts untouched — they already resolve py/python/python3.
- errorlog.md: marked the GURU-KALI entry RESOLVED.

Depends on CLAUDETOOLS_ROOT (seeded by ensure-settings-env.py); py.sh also
self-resolves the repo root via git/cwd as a fallback.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 09:48:54 -07:00
189de7a030 errorlog: GURU-KALI — coord skill 'py' invocation fails on Linux (use python3)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 09:30:54 -07:00
a6b6b4e80a sync: auto-sync from GURU-BEAST-ROG at 2026-06-14 09:07:13
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-06-14 09:07:13
2026-06-14 09:07:21 -07:00
4fd5688026 sync: auto-sync from Mikes-MacBook-Air.local at 2026-06-14 08:36:19
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-06-14 08:36:19
2026-06-14 08:36:21 -07:00
2539ca75ca wiki(valleywide): VWP ESXi cleanup — destroyed 3 decommissioned VMs (~3 TB, 87%->65%), consolidating WINFileSvr snapshots 2026-06-14 08:24:53 -07:00
46b5edfba1 wiki(valleywide): document VWP ESXi host (HP DL360, 192.168.3.24) + 12-VM inventory + storage findings 2026-06-14 07:56:39 -07:00
a34668fc5b valleywide: preserve Darv app-knowledge docs (ORDERS fixes/how-to/calc-logic/certified-payroll) from Darv.rar extract 2026-06-14 07:15:48 -07:00
f67db6f1f2 sync: auto-sync from GURU-BEAST-ROG at 2026-06-14 07:08:13
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-06-14 07:08:13
2026-06-14 07:08:23 -07:00
3b36ac7192 wiki: compile valleywide (full) — SERVER3 retirement + G: migration to VWP-FILES + Orders source recovered 2026-06-14 06:44:14 -07:00
65f2045385 sync: auto-sync from GURU-5070 at 2026-06-14 06:29:50
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-14 06:29:50
2026-06-14 06:30:07 -07:00
956a39b631 sync: auto-sync from GURU-5070 at 2026-06-14 05:40:26
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-14 05:40:26
2026-06-14 05:40:44 -07:00
fccf9f9468 sync: auto-sync from GURU-5070 at 2026-06-14 05:33:01
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-14 05:33:01
2026-06-14 05:34:46 -07:00
93eb2fb9bb sync: auto-sync from GURU-5070 at 2026-06-13 20:21:10
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-13 20:21:10
2026-06-13 20:21:37 -07:00
b7bc3f4d25 sync: auto-sync from GURU-5070 at 2026-06-13 15:49:09
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-13 15:49:09
2026-06-13 15:49:30 -07:00
6e5a389539 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
2026-06-13 15:49:30 -07:00
db3edfdb82 wiki: compile cascades-tucson (full) — shared mailboxes, Edge UNC bug, cascadesDS lock pattern; live billing 55.75h
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 10:03:16 -07:00
f76be2e6e3 submodule: advance guru-rmm -> f38da05 (RMM_THOUGHTS Feature 5: server-side public-IP capture)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 06:23:28 -07:00
be8604b4fb sync: auto-sync from GURU-5070 at 2026-06-13 06:16:25
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-13 06:16:25
2026-06-13 06:16:44 -07:00
53e43deea7 sync: auto-sync from HOWARD-HOME at 2026-06-12 22:34:17
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-12 22:34:17
2026-06-12 22:34:27 -07:00
ac3dbbbec9 sync: auto-sync from GURU-5070 at 2026-06-12 17:44:04
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-12 17:44:04
2026-06-12 17:44:21 -07:00
aebf307a81 submodule: advance guru-rmm -> SPEC-029 legacy fleet RMM (multi-AI validated)
Win7 32-bit agent already ships (Rust 1.77 legacy); proxy redundant w/ userspace TLS;
2003 -> relay/jump-host; NSIS not MSI. Gemini + Grok converged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 17:44:21 -07:00
4648acbc4c sync: auto-sync from HOWARD-HOME at 2026-06-12 17:02:02
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-12 17:02:02
2026-06-12 17:02:16 -07:00
e34d4268bc sync: auto-sync from GURU-5070 at 2026-06-12 15:53:59
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-12 15:53:59
2026-06-12 15:54:17 -07:00
af529f953d sync: auto-sync from Mikes-MacBook-Air.local at 2026-06-12 13:52:32
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-06-12 13:52:32
2026-06-12 13:52:33 -07:00
401ecca9a2 sync: auto-sync from GURU-5070 at 2026-06-12 13:21:22
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-12 13:21:22
2026-06-12 13:21:39 -07:00
9b02a508d6 core: restore 'vault + document EVERY in-session credential' rule; memory: IX WHM API token method + feedback
Triggered by ~1h lost on 2026-06-12 when the IX WHM access method was forgotten and
password auth no longer worked. CLAUDE.md Key rules now mandates vaulting via the vault
skill + thorough documentation for any credential surfaced in a session.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 10:52:30 -07:00
adb8c492b8 submodule: advance guru-rmm -> 8d5bb9d (Feature 4a connectivity-signal refinement)
Alert-on-state design note from the 2026-06-12 log-analysis reconciliation:
severity reclassify for benign WS resets + device-class/business-hours offline
budgets + flapping/mass-drop trends. Folds into Feature 1 + Feature 4.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 09:17:04 -07:00
32ea783c31 sync: auto-sync from GURU-5070 at 2026-06-12 08:27:16
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-12 08:27:16
2026-06-12 08:27:31 -07:00
401ed7d4e0 wiki-compile: use fuzzy Syncro query= + fallback ladder (not exact name=)
Phase 2a used `customers?name=` which is near-exact and missed slug/name spelling
mismatches — e.g. slug gonzvar-tax-services vs Syncro "Gonzvar Tax Service"
(singular), causing a false "not in Syncro". Switch to `query=` (fuzzy) with a
fallback ladder (first word, then de-pluralized token) before concluding not-found.
2026-06-12 08:22:48 -07:00
ae0efb87ca wiki: seed guruconnect + fix Gonzvar Syncro, Golden Corral mail/colocation
- guruconnect: seeded wiki/projects/guruconnect.md (v0.3.0 production; artifact-based
  from guru-connect repo @ origin/main ded99c5 + session logs + project_guruconnect
  memory). [[guruconnect]] backlinks now resolve. Indexed.
- gonzvar-tax-services: found in Syncro via fuzzy `query=` — customer is "Gonzvar Tax
  Service" (singular), id 1830740, break-fix/~$175hr, 6 assets. Billing fields corrected.
- tucson-golden-corral: email platform set to Neptune Exchange (per owner/Mike); IX
  cPanel kept as a caveat to reconcile. TGC-SERVER documented as colocated at ACG main
  office (behind ACG office network, not a naked public box at the restaurant).
2026-06-12 08:21:58 -07:00
22a55d96d0 submodule: advance guru-rmm -> 2fc6ab4 (file 2 log-analysis bugs in RMM_THOUGHTS)
Inventory NUL/jsonb reject (7 Windows agents) + update scanner dropping
non-Windows binaries (macOS/Linux agents never offered updates). Both
ROOT-CAUSED from the 2026-06-12 fleet log-analysis reconciliation.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 08:18:55 -07:00
70c496bb30 wiki: compile 5 missing articles + dedupe neptune queue entry
Seeded via /wiki-compile (parallel sub-agents):
- clients: gonzvar-tax-services, tohono-oodham-doit (Syncro 33069069),
  tucson-golden-corral (Syncro 3859123)
- projects: gururmm-agent (artifact-based, agent/ @ origin/main), msp-tools (umbrella)
Index rows added for all five. Deduped the duplicate system:neptune compile-queue
entry (merged the cert/DkimSigner note into one).

Left as-is (intentional, not duplicates/dead): wiki/projects/guru-rmm.md is a
redirect tombstone; the patterns/tailscale-client-enroll.ps1 index link is valid
(the .ps1 script exists).
2026-06-12 08:06:07 -07:00
33ba780ba6 wiki-lint: fix 2 consistency gaps missed in the VM/build-chain sweep
internal-infrastructure.md inventory + backlink still called .30 a "GuruRMM VM /
Linux VM on Jupiter" and Pluto the MSI build server; pluto.md backlink still said
Pluto was the "exclusive" build machine. Both corrected: .30 is a physical box,
Beast primary / Pluto fallback. Found by /wiki-lint.
2026-06-12 07:50:26 -07:00
0665e3a007 wiki/memory: retire GuruRMM 'VM' framing + correct Windows build chain
Two sweeps:
1. .30 is a PHYSICAL box (Lenovo ThinkCentre M83, Ubuntu 26.04), not a Jupiter
   VM — the VM was decommissioned 2026-06-12. Fixed inventory tables and the
   gururmm-build system page (overview, index, jupiter, gururmm-build,
   POWER_FAILURE_RUNBOOK).
2. Windows build chain: Beast (GURU-BEAST-ROG, tailnet 100.101.122.4, i9-14900K)
   is PRIMARY; Pluto (172.16.3.36) is FALLBACK. Verified against build-windows.sh
   (`attempt_build beast || attempt_build pluto`). Fixed overview, index,
   projects/gururmm (build-host table + flow + host detail), systems/pluto, and
   the reference_pluto_build_server memory.

Submodule advanced: build-pipeline doc comments corrected to match.
2026-06-12 07:46:15 -07:00