cross-machine-playbook.md

Purpose: copy-pasteable commands to prove cross-machine pull works. Generated by: state/lint/cross-machine-probe.ts (re-run to refresh).

The probe writes a tracer file on the writer machine, pushes it through the gateway, and records the sha. The commands below let a second machine pull it back and verify the sha — completing the A→B handshake.

See state/wiki/cross-machine-status.md for the full test recipe and state/log/cross-machine.ndjson for the measured rows.


Latest tracer (2026-04-18T22:27:34.887Z)

# Run on the PEER machine (not this one). Proves pull side of cross-machine sync.
# Tracer written: 2026-04-18T22:27:34.886Z from host=Roberts-Mac-mini.local machine_id=53e3a32d877a
curl -sS -H 'Authorization: Bearer snappy_master_4835306db47344f1f86b3dbaaec59d98' \
  'https://skills.snappy.ai/.well-known/skills/snappy-os/state/log/sync-tracer/Roberts-Mac-mini.local-2026-04-18T22-27-29-765Z.txt' \
  | tee /tmp/snappy-os-tracer.txt

# Expected sha256 (compare with shasum -a 256 /tmp/snappy-os-tracer.txt):
# 9cea427c5e705885f20d7a54b85522c752bd0acef3086cc47ce9dc4d54e225ae

Full peer verification (optional, uses the snappy-os CLI)

# On any other machine with snappy-os installed:
cd ~/projects/snappy-os
node bin/cli.js pull --scope state --auto
shasum -a 256 state/log/sync-tracer/Roberts-Mac-mini.local-2026-04-18T22-27-29-765Z.txt
# First column must equal: 9cea427c5e705885f20d7a54b85522c752bd0acef3086cc47ce9dc4d54e225ae

Logging the outcome on the peer

# Append to state/log/cross-machine.ndjson after verifying:
printf '{"ts":"%s","from":"<peer-hostname>","via":"gateway","ok":true,"sha":"9cea427c5e705885f20d7a54b85522c752bd0acef3086cc47ce9dc4d54e225ae","tracer":"state/log/sync-tracer/Roberts-Mac-mini.local-2026-04-18T22-27-29-765Z.txt"}\n' \
  "$(date -u +%FT%TZ)" >> state/log/cross-machine.ndjson

<!-- kernel-ok: playbook regenerated by cross-machine-probe.ts -->