Commit Graph

287 Commits

Author SHA1 Message Date
9bee713d9c fix: Correct server name from Saturn to gururmm-build
Saturn is decommissioned. The GuruRMM build server at 172.16.3.30
is correctly named 'gururmm-build'.

Also fixed wiki standards template that incorrectly listed Neptune
as 172.16.3.30. Neptune is actually the Exchange server at Dataforth
(172.16.3.11), not the GuruRMM build server.

Updated files:
- PHASE_6_TEST_PLAN.md (all Saturn references)
- verify-rollout-system.sh (comments)
- session-logs/2026-05-25-session.md (all Saturn references)
- .claude/specs/wiki-layer/standards.md (Neptune example)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-25 14:24:02 -07:00
072687b29a sync: auto-sync from GURU-KALI at 2026-05-25 13:52:42
Author: Mike Swanson
Machine: GURU-KALI
Timestamp: 2026-05-25 13:52:42
2026-05-25 13:52:43 -07:00
0d1085b145 sync: auto-sync from GURU-KALI at 2026-05-25 13:49:31
Author: Mike Swanson
Machine: GURU-KALI
Timestamp: 2026-05-25 13:49:31
2026-05-25 13:49:32 -07:00
c5f7c73381 fix: Strip .local suffix from hostname in coord message hook
Problem: macOS hostname command returns 'Mikes-MacBook-Air.local' but
coord messages are addressed to 'Mikes-MacBook-Air/claude-main'. Hook
script was querying for wrong session ID, so messages never displayed.

Fix: Strip .local suffix using bash parameter expansion before building
session ID.

Result: Coord messages now display correctly on macOS machines.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-25 13:18:33 -07:00
d74a726484 sync: auto-sync from GURU-BEAST-ROG at 2026-05-25 13:17:49
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-05-25 13:17:49
2026-05-25 13:17:52 -07:00
19705d5ec0 sync: auto-sync from GURU-5070 at 2026-05-25 13:03:19
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-25 13:03:19
2026-05-25 13:03:22 -07:00
1e2c7b4283 sync: auto-sync from GURU-5070 at 2026-05-25 13:01:54
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-25 13:01:54
2026-05-25 13:01:57 -07:00
72d9e525d8 sync: auto-sync from GURU-5070 at 2026-05-25 12:58:05
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-25 12:58:05
2026-05-25 12:58:08 -07:00
8ec6899fc7 sync: auto-sync from GURU-5070 at 2026-05-25 12:33:44
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-25 12:33:44
2026-05-25 12:33:50 -07:00
f2ece8eccf docs(claude.md): clarify guru-rmm submodule tracks the active repo
The submodule was described as a "stale reference copy"; it actually
tracks the active azcomputerguru/gururmm repo (the pinned commit lagging
main is normal, not stale). Also disambiguates the abandoned hyphenated
`guru-rmm` Gitea duplicate from the submodule, and notes that fresh
clones need `git submodule update --init` (now automatic in /sync).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 09:32:21 -07:00
413df93189 fix(sync): init submodules on fresh clones; drop orphaned solverbot gitlink
Phase 1a used `git submodule foreach`, which only visits initialized
submodules — a fresh machine silently skipped population while the script
still reported success. It now explicitly inits + populates each submodule
declared in .gitmodules (inheriting credentials from the parent origin URL
so non-interactive init authenticates; .gitmodules stays credential-free),
then advances each to its remote branch tip. Reporting reflects the real
configured count.

Also removes the orphaned `projects/solverbot` gitlink (mode 160000),
committed without a .gitmodules entry, which made `git submodule status`
throw `fatal: no submodule mapping`. solverbot's own Gitea repo is untouched.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 09:12:08 -07:00
db5ebb1b12 sync: add Phase 0 uncommitted session log check
Before invoking sync.sh, /sync now scans for untracked or modified
session log files across session-logs/, clients/*/session-logs/, and
projects/*/session-logs/. If any are found, it warns the user and
offers to run /save instead so logs get a proper narrative commit
rather than a generic "sync: auto-sync" message.

Escalation behavior: default toward /save; user can override to
proceed with plain sync if they explicitly choose.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 06:44:16 -07:00
b6684d3ebd wiki-lint: improve backlink checker to normalize slugs before validation 2026-05-25 06:38:05 -07:00
f57565bbe2 sync: auto-sync from GURU-5070 at 2026-05-25 06:34:35
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-25 06:34:35
2026-05-25 06:34:38 -07:00
b1e5a7bb3b wiki: recompile overview.md + add /wiki-lint skill + /save unseeded check
overview.md recompiled with all 24 client articles and 7 project articles.
Captures ~80 action items sorted by priority; top urgent items: Neptune
cert (2026-05-31), Western Tire SSL (2026-05-30), Kittle eval license.

.claude/commands/wiki-lint.md: new skill — scans clients/ and projects/
for directories with session-logs but no wiki article, checks broken
[[backlinks]], stale last_compiled dates, index gaps, and stale queue
entries. Emits a structured lint report.

.claude/commands/save.md: added Phase 4 unseeded-wiki check — after sync,
if the session log was written for a client/project with no wiki article,
emit a /wiki-compile reminder. Informational only, no blocking behavior.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 06:13:22 -07:00
2491660b88 sync: auto-sync from GURU-5070 at 2026-05-25 06:00:45
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-25 06:00:45
2026-05-25 06:01:37 -07:00
e8b19a87f3 sync: auto-sync from GURU-KALI at 2026-05-25 05:02:02
Author: Mike Swanson
Machine: GURU-KALI
Timestamp: 2026-05-25 05:02:02
2026-05-25 05:02:03 -07:00
3d91e25a38 feat(sync): add wiki knowledge layer summary to sync/save output
- Added wiki change detection and categorization in sync.sh
- Shows articles by type (clients/projects/systems/patterns/meta)
- Displays status (added/modified/deleted) and counts
- Updated sync.md and save.md documentation
2026-05-24 19:27:00 -07:00
e4d3c1f4c2 wiki/memory: Syncro contact rule is global, not Cascades-specific
Update cascades-tucson.md Syncro billing pattern to note the blank-contact
rule applies to all customers. Update feedback_syncro_cascades_contact.md
to be incident-detail only (Meredith Kuhn default), pointing to the global
rule in feedback_syncro_blank_contact.md. Update MEMORY.md index entry.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 16:40:36 -07:00
e5c31f86e5 sync: auto-sync from GURU-KALI at 2026-05-24 16:37:00
Author: Mike Swanson
Machine: GURU-KALI
Timestamp: 2026-05-24 16:37:00
2026-05-24 16:37:00 -07:00
cd80f5e447 feat: add wiki knowledge layer (Phase 0 + Phase 1 seed)
Implements LLM-compiled wiki layer between raw session logs and live
CONTEXT.md, inspired by Karpathy's knowledge base workflow. Adds wiki/
directory structure, article templates, spec docs, and seeds first two
articles (Cascades of Tucson, GuruRMM) from 60+ session logs.

Updates CLAUDE.md to check wiki first on all context-loading triggers.
Captures verified ACG IP/hostname map and Neptune physical-location
clarification (Dataforth D2, subnet overlap TODO) in memory.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 15:42:38 -07:00
435e921300 sync: auto-sync from GURU-5070 at 2026-05-24 13:57:13
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-24 13:57:13
2026-05-24 13:58:35 -07:00
6d065cf3ee feat(hooks): block backslashed Windows-path redirects in bash
Adds a PreToolUse(Bash) hook (block-backslash-winpath.sh) that rejects commands
redirecting/writing to a backslashed Windows drive path (e.g. > D:\claudetools\
.claude\current-mode). On Git Bash those strip the backslashes and PUA-substitute
':' (U+F03A), creating garbled junk files that have repeatedly polluted the repo.
The hook quote-strips the command first, so the pattern appearing inside strings
or commit messages does not false-trigger; Windows-tool args (icacls, pwsh -File)
and forward-slash/relative paths pass. Wired into settings.json so every machine
picks it up on /sync. Pairs with the sync.sh staging guard.

Also: CLAUDE.md note on the Windows mode-write path; record jq install on GURU-KALI.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 10:38:14 -07:00
a3c7064606 chore: purge garbled Windows-path filenames; guard sync.sh against recurrence
Removed 5 tracked files whose names were mangled Windows paths (C:\ProgramData\...,
D:\claudetools\.claude\current-mode, and version-bump script fragments) — the
illegal :/\ chars were stored as Unicode Private-Use-Area substitutes (U+F03A, U+F00A).

Added purge_garbled_paths() to sync.sh: before each 'git add -A', any UNTRACKED path
containing control chars, ':', '\', or PUA U+E000-U+F8FF bytes is removed and not
staged, so this cruft never reaches Gitea again. Tracked content is never auto-deleted.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 10:24:06 -07:00
ac4ab9b89b sync: auto-sync from GURU-5070 at 2026-05-24 10:21:25
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-24 10:21:25
2026-05-24 10:21:28 -07:00
5bc6b04b50 feat(feature-request): comprehensive specification generation
Enhanced /feature-request skill to produce full specifications instead
of simple classification messages.

NEW CAPABILITIES:
- Phase 1: Load all project context (roadmap, UI gaps, coding guidelines)
- Phase 2: Ollama-powered classification with similarity analysis
- Phase 3: Codebase search + external research (WebSearch for standards)
- Phase 4: Consult coding guidelines for patterns
- Phase 5: Ollama-generated comprehensive spec (architecture, security, testing)
- Phase 6: Roadmap placement with dependency analysis
- Phase 7: Write formal SPEC-XXX-feature-name.md document
- Phase 8: Update roadmap with links
- Phase 9: Commit to git with proper messages
- Phase 10: Send coord message (if Howard submitted)
- Phase 11: Comprehensive summary to user

SPEC DOCUMENT INCLUDES:
- Overview with use cases and success criteria
- Scope (v1 included + explicitly out of scope)
- Architecture (components, data flow, schema, API endpoints)
- Implementation details (agent/server/dashboard file paths, code patterns)
- Security considerations (auth, validation, audit, threat model)
- Testing strategy (unit, integration, manual scenarios)
- Rollout plan (feature flags, backward compat, migration)
- Effort estimate (Small/Medium/Large/X-Large with breakdown)
- Dependencies (requires/enables)
- Open questions

SUBMODULE UPDATE:
- Created docs/specs/ directory structure
- Added README with naming conventions and status lifecycle

The skill now takes 2-5 minutes but produces sprint-ready specifications
with complete architecture analysis and implementation guidance.

Requested by Mike.
2026-05-24 09:58:58 -07:00
19a31ec4c4 sync: auto-sync from GURU-KALI at 2026-05-24 09:33:07
Author: Mike Swanson
Machine: GURU-KALI
Timestamp: 2026-05-24 09:33:07
2026-05-24 09:33:08 -07:00
4383f9eca5 sync: auto-sync from GURU-KALI at 2026-05-24 06:54:59
Author: Mike Swanson
Machine: GURU-KALI
Timestamp: 2026-05-24 06:54:59
2026-05-24 06:54:59 -07:00
efed3b5ed4 infra: register GURU-KALI as Mike's known machine 2026-05-23 21:32:32 -07:00
288ff122ca sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-23 11:05:00
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 10:56:40 -07:00
6dd1a8f06e sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-22 21:23:41
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-05-22 21:23:41
2026-05-22 21:23:44 -07:00
1e674881aa sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-22 20:28:41
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-05-22 20:28:41
2026-05-22 20:28:45 -07:00
fa4ac2ea37 sync: auto-sync from HOWARD-HOME at 2026-05-22 15:40:30
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-05-22 15:40:30
2026-05-22 15:40:34 -07:00
e9dac6580c Add ticket subject prefix check to estimate success criteria
The linked ticket subject must start with "Estimate - " before an estimate
task is considered complete. Added as criterion [4] in both the hard rules
block and the workflow success criteria block, with a self-correction step
(PUT /tickets/{id}) if the check fails.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-22 15:27:47 -07:00
11647cbf09 Update estimate ticket subject prefix from colon to dash
Change the linked ticket subject format from "Estimate: <subject>" to
"Estimate - <subject>" per Winter's request for consistent formatting.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-22 15:23:17 -07:00
4093028e01 sync: auto-sync from GURU-BEAST-ROG at 2026-05-22 15:18:36
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-05-22 15:18:36
2026-05-22 15:18:37 -07:00
66c65fa9bb sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-22 13:42:56
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-05-22 13:42:56
2026-05-22 13:46:47 -07:00
51d55566bf sync: auto-sync from GURU-BEAST-ROG at 2026-05-22 13:13:08
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-05-22 13:13:08
2026-05-22 13:13:09 -07:00
25dfb1b22a sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-22 12:08:26
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-05-22 12:08:26
2026-05-22 12:08:31 -07:00
aa3b524df1 sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-22 12:06:06
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-05-22 12:06:06
2026-05-22 12:06:11 -07:00
943f1d1a2d sync: auto-sync from GURU-BEAST-ROG at 2026-05-22 11:46:56
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-05-22 11:46:56
2026-05-22 11:46:58 -07:00
e80c36e6bf sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-22 11:07:55
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-05-22 11:07:55
2026-05-22 11:07:59 -07:00
edf51627e1 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
2026-05-22 09:03:39 -07:00
0a264ee3fa sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-21 17:11:07
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-05-21 17:11:07
2026-05-21 17:11:10 -07:00
e3a56bcb21 sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-21 17:00:27
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-05-21 17:00:27
2026-05-21 17:00:30 -07:00
f1d7b9dfae sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-21 16:54:00
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-05-21 16:54:00
2026-05-21 16:54:04 -07:00
063b209209 fix: Rob Williams (not Quirarte) 2026-05-21 14:02:25 -07:00
67dd7a457a access: add Rob as limited operator in Discord bot (remediation-tool + IX/Websvr hosting) 2026-05-21 14:02:02 -07:00
8538ddf112 fix(hooks): locate check-messages.sh on any machine; never exit non-zero
The UserPromptSubmit hook only probed D:/claudetools and C:/claudetools, so
on machines where the repo lives elsewhere (e.g. BEAST at
C:/Users/guru/ClaudeTools) no candidate matched and the for-loop's final test
returned 1 — surfacing a hook error on every prompt AND skipping coord-message
delivery. Now try $CLAUDE_PROJECT_DIR and $HOME/ClaudeTools first (keep D:/C:
for other layouts) and end with `true` so a missing script is a no-op, not an
error.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 10:25:14 -07:00
582c511f33 docs(sync): update skill doc to reflect git add -A and Phase 5b commands sync 2026-05-21 10:24:07 -07:00