SPB Git

Repository Public

migration.md 6.5 KB

# Migration manifest — laptop Claude Code environment → M5M36

Inventory taken on 2026-11-09 on the owner's laptop (read-only; no secret value was printed or copied). Status column: what has actually been done so far.

Classification: SAFE_TO_COPY · REQUIRES_REINSTALL · REQUIRES_REAUTHENTICATION · REQUIRES_MANUAL_REVIEW · DO_NOT_COPY

# Claude Code itself

Item (laptop) Class Plan on M5M36 Status
Claude Code CLI 2.1.322 (npm global) REQUIRES_REINSTALL npm install -g @anthropic-ai/claude-code done, same version
Account login (OAuth, macOS Keychain) REQUIRES_REAUTHENTICATION owner runs /login in the first web session; tokens are never copied pending (owner)
~/.claude/settings.json — model fable[1m], fast mode SAFE_TO_COPY (values only) recreate these two preferences done (settings limited to model + fast mode; status as of 2026-11-10)
settings.json — PreToolUse hook that auto-approves every tool call DO_NOT_COPY contradicts the requirement to keep Claude's native permission prompts on an Internet-reachable host. Use per-project allowlists instead not copied
settings.json — SessionStart hook for AKOS DO_NOT_COPY AKOS was retired on 2026-11-09 not copied
Skills: jof250 SAFE_TO_COPY ~/.claude/skills/ — depends on the WP45 repository being cloned copied (status as of 2026-11-10)
Commands: 6 cluster*, 10 jof-* SAFE_TO_COPY ~/.claude/commands/; the cluster commands call wrappers under ~/Desktop/Cluster/cluster-skill → clone cluster-skill.git on the node and adjust paths 10 jof-* copied; the 6 cluster commands were not copied (status as of 2026-11-10)
Agents: 7 jof-* SAFE_TO_COPY ~/.claude/agents/ copied (status as of 2026-11-10)
Plugins: clangd-lsp, rust-analyzer-lsp, swift-lsp REQUIRES_REINSTALL /plugin install if those languages are used remotely pending
Global ~/.claude/CLAUDE.md (cluster knowledge) REQUIRES_MANUAL_REVIEW contains the nodes' sudo password and laptop-specific paths. A reviewed copy without the password should be written for the node sanitized copy (sudo password removed) written (status as of 2026-11-10)
Auto-memory (271 notes) REQUIRES_MANUAL_REVIEW private working memory; some notes hold passwords or keys copied 2026-11-10 at the owner's request: 251 notes + index in ~/.claude/memory (autoMemoryDirectory); 20 notes containing credentials were left on the laptop
Conversation history (125 project dirs), caches, telemetry, shell snapshots DO_NOT_COPY machine-specific not copied

# MCP servers (10 configured on the laptop)

Server Transport Class Notes
tavily, worldbank, polymarket, etherscan, notion stdio, local .mjs scripts in ~/.claude/mcp* script SAFE_TO_COPY · API keys REQUIRES_REAUTHENTICATION keys live in ~/.claude.json env; they must be re-entered through the MCP manager (write-only fields) or explicitly authorised for transfer. Status as of 2026-11-10: 5 server scripts copied without API keys
openalex, anthropic stdio, scripts in ~/mcp/ same both currently fail to connect on the laptop too
apify stdio via npx mcp-remote (OAuth) REQUIRES_REAUTHENTICATION browser OAuth flow
hfmarketdata stdio binary DO_NOT_COPY its backend (www.hfmarketdata.io) was shut down on 2026-10-02; FinData OS replaces it
akos http DO_NOT_COPY service retired 2026-11-09
cluster (MacLustr tools) stdio REQUIRES_MANUAL_REVIEW drives SSH to every node; depends on the SSH-key decision below

# Tools and runtimes

Tool Laptop M5M36 Class / plan
Node / pnpm / npm 26.13 / 11.1 26.10 / 12.6 present
Python / uv 3.14 / 0.11 3.14 / 0.12 present
git yes 2.54 present; set user.name (email per repository)
tmux, ripgrep, PostgreSQL 17 yes installed for this project done
TeX Live 2026 (xelatex, latexmk), pandoc, WeasyPrint yes missing REQUIRES_REINSTALL (brew install --cask mactex-no-gui, ~6 GB) when paper compilation is wanted remotely
R 4.6, Rust 1.95, Bun, ffmpeg, gh, Swift/Xcode yes missing (except Swift CLT) REQUIRES_REINSTALL on demand
Docker Desktop, LibreOffice, Chromium, Android tools yes missing on demand; Xcode/TestFlight release work stays on the laptop by design

# Credentials and network identity

Item Class Notes
SSH private keys, SSH agent DO_NOT_COPY cluster rule: no private keys on nodes. A new key generated on M5M36 can be authorised on selected nodes — needs explicit approval (changes other nodes). Status as of 2026-11-10: done — key authorised on the git server (git-shell only) and on M3U96a / M3U96b (CR_EXEC_HOSTS)
~/.ssh/config (34 hosts) REQUIRES_MANUAL_REVIEW LAN aliases can be regenerated from the cluster's discovery instead of copied
Keychain items (skills registry token, etc.), browser cookies, .env files, ~/Desktop/Cluster/secrets DO_NOT_COPY re-issue per service on the node if needed
Sudo passwords DO_NOT_COPY the web runtime never needs sudo

# Projects and data

The laptop holds ~303 GB under UQO/, ~222 GB under PhD/, ~23 GB under Cluster/; M5M36 has 301 GB free. A bulk copy is neither possible nor desirable.

Category Class Plan
Repositories that have a remote on the cluster git server (gitsrv:srv/git/*.git — all cluster apps, the UQO working papers wp*_uqo.git, etc.) SAFE_TO_COPY via Git "Clone repository" in the Projects page (gitsrv:srv/git/<name>.git) — needs the node key authorised on the git server
Cluster applications already remote-first their source of truth is the deployed directory on each node; reached from tasks/SSH, not copied
Teaching material, administrative files, OneDrive folder, PhD datasets REQUIRES_MANUAL_REVIEW large, partly personal data (student work, grades). Not transferred without an explicit list
Build artefacts, node_modules, virtualenvs, caches, .next, LaTeX aux files DO_NOT_COPY rebuilt on the node

# Scheduled work on the laptop

No user crontab. LaunchAgents: Homebrew PostgreSQL/Redis, two NAS mount helpers, third-party agents — none is needed by the remote environment.

# Remaining laptop-only dependencies (by design)

Xcode/App Store signing and TestFlight releases, GUI automation of Safari/Outlook (Moodle, Overleaf, SSRN flows), and the macOS/iOS apps' source trees. These workflows cannot move to a headless web terminal and stay on the laptop.

Files main
Menu

Theme