# Machine: GURU-5070 (Windows)

**Hostname:** GURU-5070
**User:** Mike Swanson (mike) — admin
**Platform:** Windows 11 Pro 10.0.26200
**Last Updated:** 2026-06-06

> Same physical hardware as `acg-guru-5070.md` (Lenovo Legion Pro 7 16IAX10H) —
> that profile documents the prior CachyOS Linux install. This box now runs Windows.

---

## Hardware

| Spec | Value |
|------|-------|
| Model | Lenovo Legion Pro 7 16IAX10H (DMI 83F5) |
| CPU | Intel Core Ultra 9 275HX (24 cores) |
| Memory | 32 GB DDR5 |
| GPU | NVIDIA GeForce RTX 5070 Ti Laptop (12 GB) |
| Disks | C: 952 GB NVMe (OS), D: 953 GB NVMe (dev — `D:\claudetools`, `D:\vault`, `D:\work`) |

## Paths

| What | Where |
|------|-------|
| ClaudeTools | `D:\claudetools` |
| Vault | `D:\vault` |
| Other repos | `D:\work\gururmm` |
| SOPS age key | `%APPDATA%\sops\age\keys.txt` and `~\.config\sops\age\keys.txt` |
| Claude CLI | `~\.local\bin\claude.exe` (native installer) |
| Grok CLI | `~\.grok\bin\grok.exe` |
| Gemini CLI | npm global (`@google/gemini-cli`) |

## Toolchain (as of 2026-06-06)

node 24.x · npm 11.x · py/Python 3.14 · git 2.53 · cargo/rustc 1.96 ·
ollama 0.30.6 · jq 1.8 · sops 3.7→3.12 · age 1.3 · op 2.33 · VS Code 1.113 ·
claude 2.1.x · gemini 0.45 · grok 0.2.x. **gh was missing** — bootstrap installs it.

Ollama models: `nomic-embed-text`, `qwen3:8b`, `qwen3:14b`, `codestral:22b`, `qwen3.6:latest`.

## Scheduled tasks (ClaudeTools)

- `GrepAI Watcher - claudetools` → `D:\claudetools\grepai.exe watch --background` (logon)
- `ClaudeTools - Orphaned Session Detector` → `py detect_orphaned_sessions.py` (logon + daily)
- `ClaudeTools - KSTEEN SmartBadge Daily` → git-bash `check-ksteen-smartbadge.sh` (daily)

## Capabilities

- [x] Git / Gitea, SSH to infra
- [x] GrepAI watcher
- [x] Ollama local AI (RTX 5070 Ti — light/inference OK)
- [x] MCP: ticktick, grepai
- [x] claude / gemini / grok CLIs (fleet host for all three)

## Recovery

Full rebuild after a reset: `.claude\bootstrap\RESTORE.md`.
Recovery bundle on **E:** and **F:** (`\claudetools-recovery\`). Refresh it with
`.claude\bootstrap\backup-to-bundle.ps1`.

## Known issues

- **Two Python interpreters, both must have deps.** `py` -> Python **3.14** (vault
  `yaml-query.py`/get-field needs PyYAML; helper + skill scripts; scheduled tasks).
  `python` -> Python **3.12** (the interpreter `.mcp.json` launches MCP servers with;
  ticktick needs `httpx` + `mcp`). The 2026-06-06 reinstall installed deps into only
  `py`, so ticktick MCP and `vault get-field` were both dead. `windows-bootstrap.ps1`
  Phase 7 now installs into BOTH interpreters. Also `websocket-client` (cdp.py) under `py`.
- **Ollama models survive on `D:\OllamaModels` (~48 GB) but `ollama list` can read empty
  right after login** — the tray app's server takes a few seconds to hydrate its
  model-list cache. Don't treat empty as "models gone" / re-download. Restart the app
  (or `ollama serve` with `OLLAMA_MODELS=D:\OllamaModels`) and wait ~10s. Bootstrap
  Phase 8 handles this. The 5 expected models: nomic-embed-text, qwen3:8b, qwen3:14b,
  codestral:22b, qwen3.6:latest.
- **grok CLI** is a bare `~\.grok\bin\grok.exe` drop; its installer doesn't touch PATH.
  Bootstrap Phase 3 now persists `~\.grok\bin` (+ `~\.local\bin`, `%APPDATA%\npm`) to User PATH.
- **Git auth must be non-interactive** (no GCM password prompts — they hang automation).
  Primed by `.claude/scripts/setup-git-auth.sh` (vault token -> `store` helper, per-repo
  host) via a SessionStart hook + bootstrap Phase 6; `GIT_TERMINAL_PROMPT=0` is enforced
  in `.claude/settings.json`. See memory `feedback_git_noninteractive_auth`.
- Old `D:\work\gururmm` remote URL embedded the shared Gitea password in plaintext —
  reset to a clean URL + Windows Credential Manager on rebuild.
- (Hardware) RTX 5070 Ti GSP firmware bug under sustained GPU compute — see `acg-guru-5070.md`.
