harn sync
harn sync <subcommand> [options]Keep a curated subset of .harnery/ live across machines via rclone. Google Drive is the expected remote, but any rclone backend works.
Doesn’t wrap OAuth: rclone config handles Google Drive setup, and harn sync init then picks the configured remote and records it.
What syncs
Section titled “What syncs”A deliberately small subset:
.harnery/identities/: durable persona UUIDs + machine labels.harnery/journal/archived/: historical journals.harnery/councils/: manifests + invites + per-round contributions
What stays put (machine-local, by design):
.harnery/active/: live heartbeats.harnery/pid-map/: ppid → owner_id lookups.harnery/events.ndjson: append-only event stream (large + machine-specific).harnery/.last-intent.*: per-turn intent stamps
Subcommands
Section titled “Subcommands”harn sync init [--remote <name>] [--prefix <path>]harn sync status [-v]harn sync push [--dry-run -v]harn sync pull [--dry-run -v]harn sync list [--depth <n>]# One-time: configure an rclone remote (interactive OAuth for Google Drive)rclone config
# Tell harnery which remote to use (records to ~/.config/harnery/sync.json)harn sync init --remote gdrive --prefix harnery/my-monorepo
# Verify the connectionharn sync status
# First pushharn sync push -vDay-to-day
Section titled “Day-to-day”# On machine A: capture today's journal archive + council workharn sync push
# On machine B: pull A's state downharn sync pullDefaults
Section titled “Defaults”| Setting | Default |
|---|---|
| Remote | (must set) |
| Prefix | harnery |
Env overrides: HARNERY_SYNC_REMOTE, HARNERY_SYNC_PREFIX.