Lambda Symbolics

Commit and recover

Generations are complete, verifiable saves of the running agent. Recovery never depends on the damaged core.

Checkpoint

prompt window
/checkpoint

A checkpoint requires a clean Git worktree and a passing ./script/check, then saves pending reconstructible mutations and publishes a retained image without stopping the session. /generations lists what is retained, and /rollback ID selects one and exits through recovery. The same works from the shell:

terminal
$ autolith --recovery --list
$ autolith --recovery --generation GENERATION-ID

Crash recovery

A fatal failure in the active image publishes a private crash capsule and restores the terminal. Recovery boots the separately built pristine image, or falls back to source, and tries in order: the selected generation for the current source revision, other compatible generations newest first, then a private clean checkout of committed source.

The conversation comes back without duplicated scrollback. With a valid capsule, recovery queues one read-only diagnosis turn before ordinary input: it can inspect bounded crash context, the workspace, tracked source, and active state, and it has no shell, MCP, image, write, mutation, checkpoint, or rollback tools. It asks before any repair.

Rebuild from source

Saved cores are exact but bound to their recorded SBCL version, OS build, and architecture. Source stays authoritative: a generation manifest carries an ordered reconstruct.lisp, and any machine can rebuild from it:

reconstruction from a manifest
(asdf:load-asd (truename "autolith.asd"))
(asdf:load-system :autolith)
(load #P"/path/from/generation/manifest/reconstruct.lisp")