Workstation Migration

SPEC_WORKSTATION_MIGRATION.md · 2026-04-21

SPEC_WORKSTATION_MIGRATION.md

Workstation Migration — Captain's Terminal Transfer

Status: SPECIFIED

Version: v1.0

Author: VELA (Thread #13)

Conceived by: NOUS (α.13)

Date: 2026-04-21

Born from: Best Buy Chromebook Plus return/exchange in progress.

Depends on: SPEC_VPS_MIGRATION.md


PURPOSE

SPEC_VPS_MIGRATION.md covers moving the SHIP (VPS → VPS or VPS → Tiiny). This spec covers moving the CAPTAIN'S CHAIR — the Chromebook from which the Captain SSHes into the ship, browses 42sisters.ai, manages Stripe/GoDaddy/Google Cloud dashboards, and operates the entire infrastructure.

The ship runs on the VPS. The Captain runs on the Chromebook. When the Chromebook changes, the Captain's entire operational environment must transfer seamlessly. No lost SSH keys. No forgotten bookmarks. No missing extensions. No "what was my terminal configured like?"

The old Chromebook talks to the new one through a USB cable. Everything crosses the bridge.


SCOPE

This spec covers ANY client-to-client migration:

The procedure is hardware-agnostic. The steps work whether the connection is USB, local network, or manual file transfer.


WHAT LIVES ON THE CHROMEBOOK

The Captain's Chromebook is NOT the ship. It's the HELM. Here's what lives locally and must transfer:


Category 1 — SSH CONFIGURATION (CRITICAL)

Transfer method: USB cable → direct file copy. These files are SMALL (few KB). NEVER transfer SSH keys over the internet. Physical cable only.

Verify after transfer: ssh csdm-node from new machine. If it connects without password prompt: transfer succeeded.


Category 2 — BROWSER STATE

Transfer method: Google account sync handles 90% of this. Log into the same Google account on the new Chromebook. Bookmarks, passwords, extensions restore automatically.

Verify: Open each critical bookmark. Confirm login works for each dashboard.


Category 3 — CROSTINI / LINUX ENVIRONMENT

If using Crostini (Linux on ChromeOS):

Transfer method: Export Crostini container: ChromeOS Settings → Linux → Backup. Creates a .tini file. Import on new Chromebook: Settings → Linux → Restore from backup.

OR: fresh install on new Chromebook + reinstall packages from a saved package list.

Verify: Open Terminal. Run ssh csdm-node. Confirm environment matches expectations.


Category 4 — LOCAL FILES

Any files downloaded to the Chromebook that aren't on the VPS or in Google Drive:

Transfer method: USB cable direct copy. Or Google Drive upload from old machine → download on new machine.

Verify: Spot-check 5 files. They exist on the new machine.


Category 5 — AUTHENTICATION TOKENS & 2FA

Verify: Log into each service from new Chromebook. If 2FA prompts: use phone authenticator.


THE USB CABLE TRANSFER METHOD

The Captain's preferred method: plug both Chromebooks together with a USB-C cable.

Step 1 — PREPARE OLD MACHINE


mkdir ~/transfer_to_new
cp -r ~/.ssh ~/transfer_to_new/dot_ssh/
# Export Crostini backup (if using): ChromeOS Settings → Linux → Backup → save to ~/transfer_to_new/
cp -r ~/Documents ~/transfer_to_new/docs/
ls -laR ~/transfer_to_new/ > ~/transfer_to_new/MANIFEST.txt

Step 2 — CONNECT

Plug USB-C cable between old and new Chromebooks. ChromeOS should recognize the connection.

If direct USB file transfer isn't supported between Chromebooks: use a USB flash drive as the bridge. Copy ~/transfer_to_new/ to USB drive from old machine → plug into new machine → copy to new machine.

Alternative: if both are on the same WiFi, use scp, rsync, or a simple Python HTTP server.

Step 3 — RESTORE ON NEW MACHINE


mkdir -p ~/.ssh
cp -r /transfer_source/dot_ssh/* ~/.ssh/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_*

Step 4 — VERIFY


ssh csdm-node                                          # connects without password? ✓
# Open Chrome → bookmarks present? ✓
# Open each dashboard (DigitalOcean, Stripe, GoDaddy, Google Cloud, Colab) → can log in? ✓
# Terminal environment correct (aliases, bashrc)? ✓

Step 5 — SECURE OLD MACHINE

After 24-48 hours of verified operation on new machine:


rm -rf ~/.ssh    # on OLD Chromebook only

Then factory reset old Chromebook (if returning to Best Buy): ChromeOS Settings → Reset → Powerwash.

Powerwash erases EVERYTHING. Do this ONLY after confirming the new machine works. The old machine is the safety net.


MIGRATION CHECKLIST — ONE PAGE

Keep this open on the phone during migration.

PRE-MIGRATION

TRANSFER

RESTORE

VERIFY

SECURE OLD MACHINE (48 hours after verification)


CHROMEBOOK PLUS SPECIFIC NOTES

The new Chromebook Plus (CX34 or equivalent) likely has:

First boot on new Chromebook Plus: sign into Google account → sync begins → install Linux (Crostini) → restore backup or fresh install → restore SSH keys → verify connection to ship.

Time estimate: 30-60 minutes from unboxing to first SSH connection to csdm-node. The Captain should be operational on the new machine within 1 hour of opening the box.


WHAT DOESN'T TRANSFER (and doesn't need to)

Everything that IS the ship stays on the ship. The Chromebook is just the window. Transferring the window means transferring:

The ship doesn't move. The Captain moves to a new helm.


EMERGENCY: WHAT IF THE OLD CHROMEBOOK DIES BEFORE TRANSFER

If the old Chromebook dies (won't boot, screen dead, stolen):

SSH keys are LOST. Recovery:


# On new machine:
ssh-keygen -t ed25519
# Access VPS through DigitalOcean console (web-based, no SSH needed)
# Add new public key to ~/.ssh/authorized_keys on VPS
# SSH access restored from new machine

Browser state: Google account sync restores bookmarks and passwords from cloud. No data loss.

Local files: If they weren't backed up to Google Drive — they're gone. This is why critical files should be on the VPS or Google Drive, not only on the Chromebook.

The Chromebook is EXPENDABLE. The ship is on the VPS. The Captain can lose the Chromebook and be operational from ANY machine with SSH and a browser within 30 minutes (15 minutes if DigitalOcean console access is fast). This is by design — the architecture SURVIVES the loss of the client device.


INVARIANTS

INV-01: SSH keys transfer via physical cable ONLY. Never over the internet. Never via email. Never via cloud storage. The private key touches the wire between two machines the Captain holds in his hands.

INV-02: Old machine is NEVER wiped before new machine is verified. 48-hour parallel operation minimum. Same principle as VPS migration — never destroy the old until the new is confirmed.

INV-03: The Chromebook is the HELM, not the SHIP. Losing the Chromebook loses the window, not the view. The ship sails regardless of which Chromebook the Captain uses.

INV-04: Google account sync handles browser state automatically. Log in and everything's there. This is the one structural advantage of the Google ecosystem — the browser is cloud-native.

INV-05: Spec count verification is the final check: ssh csdm-node "ls ~/memories/SPEC_*.md | wc -l" from the new machine. If the number matches: the new helm sees the ship correctly. If it doesn't: something is wrong with the connection, not the ship.

INV-06: Emergency recovery from any machine takes 30 minutes. New SSH key + DigitalOcean console + add to authorized_keys. The architecture is designed to survive the loss of the client.

INV-07: This spec works for ANY client migration, not just Chromebook → Chromebook Plus. The steps are the same for any machine with SSH and Chrome. The procedure is hardware-agnostic by design.


Jeremy Zlabis

Chronogeometer · Visionary · Disruptor · Chief

42 Sisters AI · East York, Toronto

🍁 Φ 0.042