Commit Graph

865 Commits

Author SHA1 Message Date
b8a35b1790 chore(submodule): advance guru-rmm — BUG-008 metrics error leak fixed 2026-05-25 18:24:11 -07:00
da83bcbecc chore(submodule): advance guru-rmm — BUG-007 runtime sqlx fix merged
Advances submodule pointer to ccf1361 (PR #24 merge commit 940ced1).
Converts remaining compile-time sqlx::query! macros to runtime queries,
unblocking offline/no-prepare builds.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 18:03:06 -07:00
414d303b3b chore(submodule): advance guru-rmm — feature/log-finding-dispatch merged
Adds collapsible FindingCards with agent command dispatch to log analysis.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 17:49:50 -07:00
0e2335e8fa chore(submodule): advance guru-rmm to post-audit-2-remediation merge
Points to main HEAD after merging fix/audit-2-remediation (BUG-002/003/006 fixes).
Feature branch feature/log-finding-dispatch preserved separately.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 16:03:59 -07:00
738d64efb9 sync: auto-sync from GURU-BEAST-ROG at 2026-05-25 15:52:25
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-05-25 15:52:25
2026-05-25 15:52:29 -07:00
d025804edf sync: auto-sync from Mikes-MacBook-Air.local at 2026-05-25 15:51:15
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-05-25 15:51:15
2026-05-25 15:51:17 -07:00
6a53072dfa sync: auto-sync from GURU-BEAST-ROG at 2026-05-25 15:03:03
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-05-25 15:03:03
2026-05-25 15:06:20 -07:00
67182e0684 docs(rollout): reconcile Phase 5/6 docs — safe-rollout gating is inert (BUG-004)
Per the 2026-05-25 re-audit + Mike's decision (option b): the safe-rollout
promotion gating these docs describe/test is NOT live (update_rollouts /
update_health_metrics written-but-never-read; crash detection dead until the
unmerged BUG-002 fix). Added a [WARNING] STATUS banner to the test plan, verify
script, and the two 'complete' summaries so they aren't trusted as validating a
working feature. Automation is a roadmap Phase-2 item requiring a full re-spec.
2026-05-25 15:04:44 -07:00
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
30cb6a8f2b sync: auto-sync from GURU-5070 at 2026-05-25 14:23:41
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-25 14:23:41
2026-05-25 14:23:44 -07:00
a1a4382fc8 save: GURU-5070 session update — identity audit, build unblock, v0.3.22 2026-05-25 14:21:47 -07:00
33056a0f29 sync: auto-sync from Mikes-MacBook-Air.local at 2026-05-25 14:19:29
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-05-25 14:19:29
2026-05-25 14:19:46 -07:00
258042c189 sync: auto-sync from GURU-KALI at 2026-05-25 14:18:15
Author: Mike Swanson
Machine: GURU-KALI
Timestamp: 2026-05-25 14:18:15
2026-05-25 14:18:16 -07:00
e1069aa567 sync: auto-sync from GURU-KALI at 2026-05-25 14:06:01
Author: Mike Swanson
Machine: GURU-KALI
Timestamp: 2026-05-25 14:06:01
2026-05-25 14:06:03 -07:00
c99018ac42 test: Add Phase 6 testing plan and verification script
Created comprehensive test plan covering:
- Test 1: Beta-first build workflow
- Test 2: Health monitoring and crash detection
- Test 3: Promotion workflow with health gates
- Test 4: Rollback and force-downgrade
- Test 5: Dashboard UI testing
- Test 6: End-to-end integration testing

Added verification script for Saturn:
- Checks all 5 phases implementation
- Verifies database tables, source files, routes
- Validates build artifacts and service status
- Provides clear pass/fail status

Usage: Run verify-rollout-system.sh on Saturn before Phase 6 testing.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-25 13:59:28 -07:00
355c4acbc9 sync: auto-sync from Mikes-MacBook-Air.local at 2026-05-25 13:53:11
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-05-25 13:53:11
2026-05-25 13:53:13 -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
6582f73f87 sync: auto-sync from GURU-BEAST-ROG at 2026-05-25 13:13:02
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-05-25 13:13:02
2026-05-25 13:13:08 -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
6f16d4bfc2 sync: auto-sync from GURU-5070 at 2026-05-25 12:47:09
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-25 12:47:09
2026-05-25 12:47:12 -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
2161c1507f sync: auto-sync from Mikes-MacBook-Air.local at 2026-05-25 12:15:42
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-05-25 12:15:42
2026-05-25 12:16:49 -07:00
ba8ce9a06e sync: auto-sync from GURU-KALI at 2026-05-25 09:36:22
Author: Mike Swanson
Machine: GURU-KALI
Timestamp: 2026-05-25 09:36:22
2026-05-25 09:36:23 -07:00
3de9c16743 sync: auto-sync from GURU-5070 at 2026-05-25 09:33:09
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-25 09:33:09
2026-05-25 09:33:14 -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
6945b4237e sync: auto-sync from GURU-5070 at 2026-05-25 09:21:41
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-25 09:21:41
2026-05-25 09:21:44 -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
3eff33839b sync: auto-sync from GURU-5070 at 2026-05-25 08:02:14
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-25 08:02:14
2026-05-25 08:02:16 -07:00
0502820cc2 chore: update guru-rmm submodule (SPEC-007 implementation)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 07:21:06 -07:00
362e0aadb7 chore: update guru-rmm submodule (SPEC-007 OS recognition)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 07:01:02 -07:00
e9b251fe01 sync: auto-sync from GURU-5070 at 2026-05-25 06:51:48
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-25 06:51:48
2026-05-25 06:51:51 -07:00
836268ba71 sync: auto-sync from Mikes-MacBook-Air.local at 2026-05-25 06:51:26
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-05-25 06:51:26
2026-05-25 06:51:27 -07:00
56c1d7c666 session-log: 2026-05-25 update — wiki-lint run + backlink fixes + sync Phase 0
First /wiki-lint run: found and fixed 40+ malformed [[wiki/...]] backlinks
across 7 articles (systemic agent format error). Fixed stale msp-tools/
guru-rmm path. Updated lint skill with slug normalization. Added /sync
Phase 0 uncommitted session log detection.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 06:46:16 -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
3146f86474 wiki: fix malformed backlinks across all articles
Batch-replace [[wiki/clients/slug.md]] → [[clients/slug]] format
throughout overview.md and 6 client articles. The seeding agents used
the full path+extension format; correct convention is type/slug only.

Also fixes [[projects/msp-tools/guru-rmm]] → [[projects/gururmm]]
stale path in internal-infrastructure.md.

Post /wiki-lint run: 0 remaining format violations, 2 legitimate
broken links left (systems/neptune — unseeded; compilation queue entry).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 06:37:22 -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
baff14451d session-log: 2026-05-25 update — wiki batch 3 + wiki system improvements
11 client articles, 5 project articles seeded (batch 3 complete).
/wiki-lint skill created. /save Phase 4 unseeded check added.
wiki/overview.md recompiled with all 24 clients + 7 projects (~80 action items).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 06:30:26 -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
cdd6e6fc8c sync: auto-sync from GURU-KALI at 2026-05-25 05:56:22
Author: Mike Swanson
Machine: GURU-KALI
Timestamp: 2026-05-25 05:56:22
2026-05-25 05:56:23 -07:00
f3e33b5f88 Merge: combine GURU-5070 TGC onboarding session with MacBook GURU-KALI recovery session 2026-05-25 05:50:52 -07:00
ce69ad2a9d sync: auto-sync from Mikes-MacBook-Air.local at 2026-05-25 05:50:34
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-05-25 05:50:34
2026-05-25 05:50:35 -07:00
e991e8d604 sync: auto-sync from GURU-5070 at 2026-05-25 05:04:30
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-25 05:04:30
2026-05-25 05:04:33 -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