sync: auto-sync from GURU-5070 at 2026-06-11 14:58:44

Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-11 14:58:44
This commit is contained in:
2026-06-11 14:59:00 -07:00
parent 3981207e15
commit b0b4bfd089
2 changed files with 29 additions and 19 deletions

View File

@@ -1,27 +1,37 @@
---
name: gururmm-session-logs-submodule-save
description: Saving gururmm session-logs/docs requires committing inside the guru-rmm git submodule and pushing from the new box (.30) — sync.sh doesn't commit submodule contents and GURU-5070 can't push to gururmm Gitea
description: gururmm session-logs/docs live in the guru-rmm git submodule (not parent ClaudeTools); sync.sh won't commit submodule contents. GURU-5070 CAN push them directly over HTTP (Git Credential Manager) — `git push origin HEAD:main`; only the SSH path (git@…:2222) is blocked
metadata:
type: reference
---
`projects/msp-tools/guru-rmm` is a **git submodule** (gururmm repo,
`git@172.16.3.20:azcomputerguru/gururmm.git`, branch main). So gururmm session logs
(`projects/msp-tools/guru-rmm/session-logs/...`) and docs (`docs/HOST_MIGRATION_RUNBOOK.md`,
etc.) are tracked in the **submodule**, not the parent ClaudeTools repo.
`projects/msp-tools/guru-rmm` is a **git submodule** (gururmm repo, branch main). So gururmm
session logs (`projects/msp-tools/guru-rmm/session-logs/...`) and docs are tracked in the
**submodule**, not the parent ClaudeTools repo.
`/save` -> `sync.sh` commits/pushes the **parent** ClaudeTools repo only; it leaves submodule
**gitlinks unstaged** (unless `--with-submodules`) and NEVER commits submodule *contents*. So a
session log written under the submodule is left **uncommitted/untracked** by a normal `/save`.
**gitlinks unstaged** and NEVER commits submodule *contents*. So a session log written under the
submodule is left **uncommitted** by a normal `/save` — commit it inside the submodule yourself.
**GURU-5070 cannot push to gururmm Gitea** (`ssh -p 2222 git@172.16.3.20` -> Permission denied;
its key isn't authorized there). The **new box (.30 / .47)** CAN push (its `~/.ssh/id_ed25519` is
authorized as `gururmm-build-server`).
**GURU-5070 CAN push to gururmm directly (verified 2026-06-11).** The submodule's `origin` is the
**HTTP** remote `http://172.16.3.20:3000/azcomputerguru/gururmm.git`, and **Git Credential Manager**
has stored creds for that host (`git config credential.http://172.16.3.20:3000.provider generic`).
So from GURU-5070, in the submodule: `git add ...`, `git commit`, then
`GIT_TERMINAL_PROMPT=0 git push origin HEAD:refs/heads/main` (HEAD is usually **detached** on a
submodule — push `HEAD:main`, not bare `main`). `git fetch origin` first to confirm a clean
fast-forward (`git log --oneline origin/main..HEAD`). The old scp-to-new-box workaround is NO
LONGER NEEDED.
**To persist gururmm session logs/docs from GURU-5070:** scp the file(s) to the new box's
checkout `/home/guru/gururmm/...` (it's on main with push access), `git add` them explicitly
(avoid the build-artifact changelog cruft), commit + `git push origin main` from the new box.
Then on GURU-5070 advance the submodule (`git -C <sub> fetch origin && stash -u && reset --hard
origin/main && stash drop`), `git add` the gitlink in the parent, commit, and `sync.sh`. The
GURU-5070 submodule checkout tends to sit **detached at a stale commit** (it lags the build
host's auto-bump commits) — fetch first. See [[gururmm-physical-server-storage]].
Only the **SSH** push path is blocked: `ssh -p 2222 git@172.16.3.20` -> Permission denied
(GURU-5070's key isn't authorized; the new box .30/.47 uses `gururmm-build-server`). Use HTTP.
**WARNING — pushing to gururmm main triggers the build webhook** (Pluto), which builds AGENTS and
publishes a new `-latest`. The fleet auto-updates. Server changes are NOT auto-deployed (deliberate
deploy). Order accordingly (agent-safe changes can ride the webhook; server/reaper/migration
changes deploy separately).
**After pushing:** advance the parent gitlink — `git -C <ClaudeTools> add projects/msp-tools/guru-rmm`,
commit, push ClaudeTools. (Do this AFTER the submodule push so the gitlink references a commit that
exists on the remote.) Also: a `sync.sh` run can `git checkout` the submodule back to the
gitlink-pinned commit, detaching from fresh local commits — advance the gitlink promptly so they're
pinned. See [[gururmm-physical-server-storage]].