Updates & Hot-Swapping
VibeAuracle features one of the most advanced update systems for a CLI tool, allowing it to evolve without breaking the developer's flow.
Multi-Track Updates
Users can choose their stability level:
- Stable (Binary): Downloads pre-built binaries from the
releasebranch. (Default) - Beta (Source): Tracks the
masterbranch and builds from source locally. - Source Track: Users can opt to always build from source to ensure they are running code optimized for their specific machine environment.
The Hot-Swap Mechanism
This is VibeAuracle's "killer feature" for productivity. In the TUI mode:
- Background Check: The tool periodically checks for updates in the background.
- Shadow Download: When an update is found, it is downloaded to a temporary location and verified.
- State Serialization: If the user approves the update (or if auto-update is on), the tool serializes its current state:
- Command history
- Active input buffer
- Session context
- Process Exec: It uses
syscall.Execto replace the current process image with the new binary. - Restoration: The new version starts, detects the
--resume-stateflag, loads the JSON state, and restores the UI exactly where the user left off.
Self-Healing Build Pipeline
Building from source can sometimes fail due to environment-specific issues. VibeAuracle includes an autonomous recovery system:
- Recursive Recovery: If three consecutive updates fail, the tool enters a "Self-Healing" mode where it deletes its own binary and triggers a fresh installation from the official release script to restore stability.
Audit Logs
Every update attempt, success, or failure is recorded in the Lifecycle Audit Log (~/.vibeauracle/audit/lifecycle.jsonl).