---
name: gururmm-session-logs-submodule-save
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, 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** 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 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.

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]].
