Repository navigation
vibe 0.1.205
bug: an interrupted re-composition could fail to restore memories (#19)
What went wrong
A re-composition (-C, -r) saves the agent's memories to ~/.vibe/memories/<name>, removes the sandbox, then makes a new one. If making the new one failed (the kit image fetch can fail with resolve kits … EOF), the next run found no sandbox to back up, so it restored nothing. The new sandbox came up with no memories, although they were still safe on the host.
The cause was a flag, restoreAfterCreate, which only the run that made the backup could set.
What changed
createSandboxnow copies in whatever the sandbox's memory store holds whenever the agent supports memories, not only when the same run backed them up.- If the user answers no to "Preserve agent memories?" on a rebuild, nothing is restored and vibe says so. The store is kept current by the save at the end of each session, so without this the "no" would have been overridden.
- A rebuild that saved the memories and then failed to make the sandbox now says the sandbox is gone, the memories are safe in the store, and that running vibe again restores them.
- readme updated.
Behaviour change to be aware of
A brand-new sandbox with the same name as one that left a store behind now gets those memories. vibe --delete removes the store, so this only applies to sandboxes removed some other way (sbx rm).
Testing
- New tests in
src/vibe/restorememories_test.go: a store with memories and no sandbox is restored; an empty store, or an agent that can't use memories, restores nothing; a declined prompt restores nothing (watched it fail first); an accepted prompt saves and restores; plainvibemakes a sandbox whose memories are in the store and restores them; a failed make says where the memories are. go test ./...passes.- By hand: made a sandbox, told the agent a number,
vibe --stop,sbx rm,vibe -f: the new agent remembered it. - Not verified: the real image-fetch failure in the middle of a rebuild. The stand-in test covers it.
🤖 Generated with Claude Code
To install:
- Linux/macOS:
curl -fsSL https://raw.githubusercontent.com/fluffynuts/vibe/master/install.sh | sh - Windows:
irm https://raw.githubusercontent.com/fluffynuts/vibe/master/install.ps1 | iex - Manual: download the zip for your platform (below), unzip it anywhere, and run
vibe --installfrom the folder it makes.
To upgrade, run the same command again, or vibe --upgrade once vibe is installed.
| Platform | Zip |
|---|---|
| Linux (x86-64) | vibe-linux-amd64.zip |
| Linux (ARM) | vibe-linux-arm64.zip |
| macOS (Apple Silicon) | vibe-macos-arm64.zip |
| macOS (Intel) | vibe-macos-amd64.zip |
| Windows (x86-64) | vibe-windows-amd64.zip |
| Windows (ARM) | vibe-windows-arm64.zip |
SHA256SUMS holds each zip's checksum. The install scripts and vibe --upgrade check it.
macOS: the binary isn't signed, so if it's blocked after downloading in a browser, run
xattr -dr com.apple.quarantine <folder> once.
What's Changed
- bug: an interrupted re-composition could fail to restore memories by @fluffynuts in #19
Full Changelog: v0.1.201...v0.1.205