Skip to content

fix(memory): keep the vault syncing after the Mac changes IP - #54

Merged
arthware-dev merged 1 commit into
mainfrom
fix/vault-sync-durability
Aug 2, 2026
Merged

fix(memory): keep the vault syncing after the Mac changes IP#54
arthware-dev merged 1 commit into
mainfrom
fix/vault-sync-durability

Conversation

@arthware-dev

Copy link
Copy Markdown
Contributor

A new DHCP lease left the memory vault unusable: the clone kept the LAN address (and token) it was cloned from, so every host-side git call hung until timeout. That killed the start hook mid-run, so family/brain was never created and the curator's push 403'd on every cycle after. The working copy also drifted onto a history the remote no longer shared, which failed the sync every 30s and said so only at DEBUG.

Host-side remotes now use loopback and the published port and are re-derived on every stack up, so neither a moved IP nor an expired token survives a restart. A wedged sync recovers instead of retrying forever: local commits are replayed onto the remote, an unrelated history is parked on a wedged-orphan-* branch before reset, and the brain projection realigns. Sync failures log where an operator sees them, and a hanging git call can no longer take a lifecycle hook down with it.

This unblocks writing to the vault from chat (todo ticks were being silently stranded).

The vault clone kept the LAN address it was cloned from, so a new DHCP
lease left every host-side git call hanging until timeout. That killed
the start hook mid-run, `family/brain` was never created, and the
curator's push returned 403 on every cycle after that. Separately the
working copy sat on a history the remote no longer shared, so the sync
failed every 30 seconds and said so only at DEBUG.

- Host-side remotes use loopback and the published port, and are
  re-derived on every `stack up`, so neither a moved IP nor an expired
  token survives a restart.
- A wedged sync now recovers instead of retrying forever: the vault
  replays local commits onto the remote (a todo tick exists nowhere
  else) and keeps an unrelated history on a `wedged-orphan-*` branch
  before resetting; the brain projection realigns and re-projects.
- Sync failures are logged where an operator sees them, and a git call
  that hangs can no longer take a lifecycle hook down with it.
@arthware-dev
arthware-dev merged commit 27c908f into main Aug 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant