sync: auto-sync from HOWARD-HOME at 2026-06-23 20:52:42

Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-23 20:52:42
This commit is contained in:
2026-06-23 20:53:10 -07:00
parent 529ce8506a
commit e175c3d8f1

View File

@@ -0,0 +1,132 @@
## User
- **User:** Howard Enos (howard)
- **Machine:** Howard-Home
- **Role:** tech
## Session Summary
Sharpened the `screenconnect` skill to make its end goal explicit and verified that the
GuruRMM addon-integration plan it serves is fully mapped in the project docs. The driving
clarification from Howard: ScreenConnect is meant to surface on the GuruRMM Integrations
Center / "addons page" as a **per-partner, bring-your-own alternative to GuruConnect** — a
partner already paying for ScreenConnect (and not wanting GuruConnect) wires in their own
licensed instance as the remote-access backend. The skill is the verified connector
prototype that will port into the RMM server.
Reviewed the existing plan surface before writing anything. Found the integration is already
well-mapped across four docs: `SPEC-024-screenconnect-auto-deploy.md` (Mike, 2026-06-02 — the
deploy mechanics: per-partner instance config, `c0..c7` slot mapping, scope toggles, dispatch),
`RMM_THOUGHTS.md` Feature 7 (Howard, 2026-06-21 — parameterized deploy + post-install control),
`RMM_THOUGHTS.md` Refinement 7a (Mike, 2026-06-21 — ScreenConnect as a per-partner App Center
entry, generalized to a "Remote Access" category), and `FEATURE_ROADMAP.md` Integrations Center
(the unified addons UI, P1). Conclusion: Mike already covered the plan; no need to ask him to
re-explain. The single missing piece was the explicit positioning that ScreenConnect is an
*alternative to* GuruConnect (choose-your-provider), not an add-on layered on top of it.
Made two doc edits to fill that gap. (1) In the skill's `SKILL.md`, replaced the thin "Future:
GuruRMM integration (Raw idea)" stub with a "Why this skill exists" section stating the addon
end goal, the GuruConnect-alternative positioning, what the skill proves/ports into the server
(`build_installer_url` + the control methods), and pointers to all four mapped docs. (2) In
`guru-rmm/docs/RMM_THOUGHTS.md` Refinement 7a, added a bullet making the GuruConnect-alternative
framing explicit (Remote Access category = choose-your-provider slot; GuruConnect default,
ScreenConnect/TeamViewer/AnyDesk as paid BYO alternatives).
Handled the submodule edit with branch isolation because the guru-rmm submodule was checked out
on another work item's branch (`fix/software-uninstall-polish`). Delivered the RMM_THOUGHTS
change on an isolated branch off `origin/main` (`docs/rmm-thoughts-sc-guruconnect-alt`, commit
`894074c`, pushed) via a worktree placed in the scratchpad (outside the repo, to avoid /save's
`git add -A` sweep and the Windows worktree-lock issues a prior session hit). Committed the
parent-repo skill edit (`4673983`). Filed a coord todo for Mike to merge the new branch
(`2da21d76`). Confirmed the prior SC doc branch `docs/rmm-thoughts-sc-feature7` (`4f10149`) is
already merged into origin/main, so it is no longer dangling. Ran the skill selftest as a
regression check: 12/12 passed.
## Key Decisions
- Did NOT ask Mike to explain the addon plan — verified it is already mapped (he authored
SPEC-024 and Refinement 7a). Only the GuruConnect-alternative *positioning* was missing, which
is Howard's own authoritative clarification, so it was safe to write directly rather than
escalate.
- Filed the GuruConnect-alternative clarification under Refinement 7a (the App Center / addons-page
surface) rather than Feature 7 (the deploy/control mechanics), because the BYO-vs-GuruConnect
choice is a UI/surface concern, not a mechanics concern.
- Delivered the submodule doc change on an isolated branch off `origin/main`, not onto the
`fix/software-uninstall-polish` branch the submodule happened to be sitting on — committing onto
another work item's feature branch would entangle unrelated changes.
- Branched off `origin/main` (not the local checkout) because the local branch's RMM_THOUGHTS.md
was 180 lines behind origin/main; origin/main is the complete, canonical base and already
contained Feature 7 + Refinement 7a.
- Placed the throwaway worktree in the session scratchpad (outside `C:\claudetools`) so /save's
`git add -A` cannot sweep it and to sidestep the Windows file-lock removal failure the
2026-06-21 session encountered with an in-repo worktree.
- Logged the session under root `session-logs/` (not a single project) because the work spans the
parent-repo skill, the guru-rmm submodule, and the coord API.
## Problems Encountered
- The guru-rmm submodule was on another work item's branch (`fix/software-uninstall-polish`) with
its RMM_THOUGHTS.md 180 lines behind origin/main. Resolved by not touching the live checkout at
all — created an isolated worktree/branch off `origin/main` for the doc edit, leaving the
submodule on its original branch untouched.
## Configuration Changes
Parent repo (`C:\claudetools`), committed `4673983`:
- `.claude/skills/screenconnect/SKILL.md` — replaced "Future: GuruRMM integration (Raw idea)"
stub with a "Why this skill exists: the GuruRMM addon integration" section (end goal,
GuruConnect-alternative positioning, what ports to the server, pointers to SPEC-024 / Feature 7
/ Refinement 7a / Integrations Center).
guru-rmm submodule, branch `docs/rmm-thoughts-sc-guruconnect-alt`, commit `894074c` (pushed, off
`origin/main` `af3445b`):
- `docs/RMM_THOUGHTS.md` — added a bullet to Refinement 7a clarifying ScreenConnect is the BYO
alternative to GuruConnect (choose-your-provider Remote Access slot).
No files deleted. Scratch worktree removed post-push; submodule left on `fix/software-uninstall-polish`.
## Credentials & Secrets
No new credentials. The screenconnect skill continues to load its API secret from the SOPS vault
`msp-tools/screenconnect.sops.yaml` field `credentials.api_secret` (never hardcoded); auth is the
`CTRLAuthHeader` (raw secret, no "Basic" prefix) + `Origin` header.
## Infrastructure & Servers
- ScreenConnect instance: `https://computerguru.screenconnect.com`; RESTful API Manager extension
GUID `2d558935-686a-4bd0-9991-07539f5fe749`.
- Coord API: `http://172.16.3.30:8001/api/coord`.
- gururmm Gitea remote: `https://git.azcomputerguru.com/azcomputerguru/gururmm.git`.
## Commands & Outputs
- Skill selftest (regression after doc edits):
`cd .claude/skills/screenconnect && CLAUDETOOLS_ROOT=C:/claudetools bash ../../scripts/py.sh scripts/selftest.py`
-> `12/12 passed, 0 failed`.
- Submodule branch base verification: `git branch -r --contains origin/docs/rmm-thoughts-sc-feature7`
listed `origin/main` -> prior branch `4f10149` already merged.
- Coord todo: `coord.py todo add ... --user mike --project gururmm` -> id
`2da21d76-15a9-4ab5-9a9a-073af23ffdee`.
## Pending / Incomplete Tasks
- Mike to merge submodule branch `docs/rmm-thoughts-sc-guruconnect-alt` (`894074c`) into gururmm
main (merge = deploy). Tracked by coord todo `2da21d76`.
- The ScreenConnect addon integration itself remains Raw — needs Mike's go before building. Next
step when greenlit: `/shape-spec` to fold Feature 7 + Refinement 7a + SPEC-024 into the
Integrations Center as the per-partner "Remote Access" provider slot.
- Still-open SC item from prior work: the ACG instance's RESTful API Manager extension does not
expose a full-fleet inventory method (`GetSessions`/`GetAllSessions`/`GetSessionGroups`); needs
Mike to extend the extension for true inventory sync. By-name lookup works post-install.
## Reference Information
- Parent commit: `4673983` (screenconnect skill clarification).
- Submodule branch/commit: `docs/rmm-thoughts-sc-guruconnect-alt` / `894074c` (off origin/main
`af3445b`).
- Coord todo: `2da21d76-15a9-4ab5-9a9a-073af23ffdee` (user=mike, project=gururmm).
- Prior (already-merged) SC doc branch: `docs/rmm-thoughts-sc-feature7` / `4f10149`.
- Mapped-plan docs: `projects/msp-tools/guru-rmm/docs/specs/SPEC-024-screenconnect-auto-deploy.md`,
`.../docs/RMM_THOUGHTS.md` (Feature 7, Refinement 7a), `.../docs/FEATURE_ROADMAP.md`
(Integrations Center), `.../docs/GURU_CONNECT_INTEGRATION.md`.
- Skill path: `.claude/skills/screenconnect/` (SKILL.md, scripts/{sc.py,sc_client.py,selftest.py},
references/api-reference.md).