Updates and recovery
App updates, rollback, restore points, and what to check after a restore.
“App version” here means Rna’s own code, managed separately from the gene versions a project evolves.
Updating
Settings → Updates shows the current app and Rna SDK versions, lets you “Check for updates” and read the release notes, and has no entry for switching or rolling back versions by hand. Updating, rolling back and restoring are done on the command line: first check a local .app or a full runtime folder with maintenance prepare, then maintenance apply. The check copies Node, SDK, daemon, UI, npm and CLI completely and verifies digests, architecture and state format. A passing check only means the local content is complete; it says nothing about signing trust or model ability.
The update sequence:
- Stop accepting new work and let accepted work finish;
- confirm the old service exited cleanly;
- create and verify a restore point;
- switch the runtime folder;
- verify the new service’s identity and readiness;
- resume accepting work.
Drafts are kept while waiting. If long tasks have not finished, maintenance keeps waiting; past the longest wait it keeps your work and reports the maintenance as incomplete. It never kills tasks to force an update.
./rna maintenance status
./rna maintenance prepare '/Applications/Rna Agent.app'
./rna maintenance apply CANDIDATE_ID
./rna maintenance backup
./rna maintenance rollback CANDIDATE_ID
./rna maintenance cancel OPERATION_ID
./rna maintenance prune --dry-run # clean old restore points and run bundles by the retention policy
./rna maintenance compact-journals --dry-run # while the service is stopped, merge verbatim stream events in old session journalsA CLI timeout only means the operation is still running; confirm the result with maintenance status.
What a restore point covers
Included: main state, credentials and subscriptions, SDK session logs, project capability packages, initialization and evolution records, installed capability records, archives and inbox. Permissions are 0600 / 0700. Restore points may contain credentials; keep them private.
Not included: your project folders, remote OpenViking data, global third-party logins. With “Local memory (built in)”, the memory database sits in the state folder and is included in restore points.
After a restore
./rna maintenance restore RESTORE_POINT_ID --confirm
./rna recovery status
./rna recovery reconcile OPERATION_ID --confirmA restore replaces local sessions, configuration and SDK records but does not roll back project folders or remote memory. So Rna stays paused afterwards (automatic memory writes included) and old pending items must be checked one by one; it cannot promise old external actions happen “exactly once”.
If it crashes mid-restore, normal startup is blocked and the original transaction resumes; the agent never runs on a half-restored state.